@pipe0/base 0.5.10 → 0.5.11

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.mjs CHANGED
@@ -58,27 +58,27 @@ Here are the most popular startups from YC S24:
58
58
 
59
59
  🤔 Interested in reading more about the YC S24 batch?
60
60
 
61
- Read our full breakdown from the link in the comments 👇`,actor_name:`Crustdata`,hyperlinks:{company_linkedin_urls:[],person_linkedin_urls:[`https://www.linkedin.com/in/ACoAAAKoldoBqSsiXY_DHsXdSk1slibabeTvDDY`],other_urls:[]},date_posted:`2024-09-03`,total_reactions:37,total_comments:7,reactions_by_type:{LIKE:28,EMPATHY:4,PRAISE:4,INTEREST:1},num_shares:5,is_repost_without_thoughts:!1,reactors:[]}],vn=r.array(r.record(r.string(),r.unknown())),yn=[{id:42,email:`jane@acme.com`,plan:`pro`,created_at:`2026-01-15T09:30:00Z`}],bn=r.object({criterion:r.string(),reasoning:r.string(),satisfied:r.enum([`yes`,`no`,`partial`]),references:r.array(r.object({title:r.string(),snippet:r.string(),url:r.url()}))}),xn={criterion:`Company is recognized as a leading AI research lab (e.g., through significant publications, awards, or industry recognition) and has a primary research focus on large language models`,reasoning:`MIT is recognized as a leading AI research lab, particularly through the MIT-IBM Watson AI Lab. They have significant publications and research focused on large language models, as evidenced by news articles and publications from the Media Lab. This satisfies the criterion.`,satisfied:`yes`,references:[{title:`How to build AI scaling laws for efficient LLM training and budget ...`,snippet:`MIT-IBM Watson AI Lab researchers have developed a universal guide for estimating how large language models will perform based on smaller models ...`,url:`https://news.mit.edu/2025/how-build-ai-scaling-laws-efficient-llm-training-budget-maximization-0916`},{title:`Can large language models figure out the real world? | MIT News`,snippet:`Researchers at MIT and Harvard University have devised a new approach to assessing how deeply predictive AI systems understand their subject ...`,url:`https://news.mit.edu/2025/can-large-language-models-figure-out-real-world-0825`},{title:`Like human brains, large language models reason about diverse ...`,snippet:`MIT researchers find large language models process diverse types of data, like different languages, audio inputs, images, etc., similarly to ...`,url:`https://news.mit.edu/2025/large-language-models-reason-about-diverse-data-general-way-0219`},{title:`MIT 6.S191 (Liquid AI): Large Language Models - YouTube`,snippet:`... lab materials: http://introtodeeplearning.com​​ Subscribe to stay up to date with new deep learning lectures at MIT, or follow us ...`,url:`https://www.youtube.com/watch?v=_HfdncCbMOE&pp=0gcJCfwAo7VqN5tD`},{title:`Latent Lab: Large Language Models for Knowledge Exploration`,snippet:`This paper investigates the potential of AI models, particularly large language models (LLMs), to support knowledge exploration and augment human creativity ...`,url:`https://www.media.mit.edu/publications/latent-lab-large-language-models-for-knowledge-exploration`},{title:`MIT | LinkedIn`,snippet:`MIT is a Higher Education company (Nonprofit) with 90 (10001+ category) employees, founded in 1861. The MIT community is driven by a shared purpose: to make a better world through education, research, and innovation. We are fun and quirky, elite but ...`,url:`https://www.linkedin.com/company/school-mit`},{title:`Massachusetts Institute of Technology (MIT)`,snippet:`MIT is a Higher Education company (Nonprofit) with 90 (10001+ category) employees, founded in 1861. The MIT community is driven by a shared purpose: to make a better world through education, research, and innovation. We are fun and quirky, elite but ...`,url:`https://mit.edu`}]},Sn=r.array(r.object({round:r.string().nullable(),date:r.string().nullable(),amount:r.string().nullable(),investors:r.array(r.object({name:r.string()})).nullable()})),Cn=[{round:`Series A`,date:`2021-05-01`,amount:`$250,000,000`,investors:[{name:`Franklin Templeton`},{name:`Coatue`},{name:`Sequoia`},{name:`Thrive Capital`},{name:`Tiger Global`}]},{round:`Series B`,date:`2023-05-01`,amount:`$250,000,000`,investors:[{name:`Franklin Templeton`},{name:`Coatue`},{name:`Sequoia`},{name:`Thrive Capital`},{name:`Tiger Global`}]}],wn=[`email`,`firstname`,`lastname`,`phone`,`mobilephone`,`jobtitle`,`company`,`lifecyclestage`,`hs_lead_status`,`hubspot_owner_id`,`city`,`country`,`website`,`createdate`,`lastmodifieddate`],Tn=[`name`,`domain`,`website`,`industry`,`numberofemployees`,`annualrevenue`,`phone`,`city`,`country`,`lifecyclestage`,`hubspot_owner_id`,`description`,`createdate`,`hs_lastmodifieddate`],En=[`dealname`,`amount`,`pipeline`,`dealstage`,`closedate`,`hs_is_closed`,`hs_is_closed_won`,`dealtype`,`hubspot_owner_id`,`createdate`,`hs_lastmodifieddate`],Dn=e=>Object.fromEntries(e.map(e=>[e,r.string().nullable()])),On=()=>r.record(r.string(),r.string().nullable()),kn=r.object({id:r.string(),url:r.string().nullable(),matched_by:r.enum([`email`,`additional_email`]).optional(),...Dn(wn),custom_properties:On()}),An={id:`512001`,url:`https://app.hubspot.com/contacts/1234567/record/0-1/512001`,matched_by:`email`,email:`jane@acme.com`,firstname:`Jane`,lastname:`Doe`,phone:null,mobilephone:null,jobtitle:`Head of Data`,company:`Acme Inc.`,lifecyclestage:`customer`,hs_lead_status:null,hubspot_owner_id:`26501`,city:`Berlin`,country:`Germany`,website:`https://acme.com`,createdate:`2025-11-02T09:12:44.107Z`,lastmodifieddate:`2026-05-14T16:03:01.550Z`,custom_properties:{csm_tier:`enterprise`}},jn=r.object({id:r.string(),url:r.string().nullable(),...Dn(Tn),custom_properties:On()}),Mn={id:`9034001`,url:`https://app.hubspot.com/contacts/1234567/record/0-2/9034001`,name:`Acme Inc.`,domain:`acme.com`,website:`https://acme.com`,industry:`COMPUTER_SOFTWARE`,numberofemployees:`230`,annualrevenue:`42000000`,phone:null,city:`Berlin`,country:`Germany`,lifecyclestage:`customer`,hubspot_owner_id:`26501`,description:null,createdate:`2024-03-18T11:40:02.331Z`,hs_lastmodifieddate:`2026-05-14T16:03:01.550Z`,custom_properties:{}},Nn=r.object({id:r.string(),url:r.string().nullable(),...Dn(En),custom_properties:On()}),Pn={id:`7710001`,url:`https://app.hubspot.com/contacts/1234567/record/0-3/7710001`,dealname:`Acme — Enterprise plan`,amount:`48000`,pipeline:`default`,dealstage:`qualifiedtobuy`,closedate:`2026-09-30T00:00:00Z`,hs_is_closed:`false`,hs_is_closed_won:`false`,dealtype:`newbusiness`,hubspot_owner_id:`26501`,createdate:`2026-04-02T08:15:27.910Z`,hs_lastmodifieddate:`2026-06-20T10:44:09.184Z`,custom_properties:{}},Fn=r.object({id:r.string(),email:r.string().nullable(),first_name:r.string().nullable(),last_name:r.string().nullable(),archived:r.boolean(),teams:r.array(r.object({id:r.string(),name:r.string(),primary:r.boolean()}))}),In={id:`26501`,email:`sam@acme.com`,first_name:`Sam`,last_name:`Seller`,archived:!1,teams:[{id:`1`,name:`Mid-market`,primary:!0}]},Ln=r.array(jn.extend({matched_by:r.enum([`domain`,`additional_domain`])})),Rn=[{...Mn,matched_by:`domain`}],zn=r.array(Nn),Bn=[Pn],Vn=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),updated_properties:r.array(r.string())}),Hn={id:`512001`,url:`https://app.hubspot.com/contacts/1234567/record/0-1/512001`,object_type:`0-1`,updated_properties:[`jobtitle`,`phone`]},Un=r.array(r.object({id:r.string(),url:r.string().nullable(),association_labels:r.array(r.string()),properties:On()})),Wn=[{id:`8271`,url:`https://app.hubspot.com/contacts/1234567/record/2-3502412/8271`,association_labels:[`Primary`],properties:{domain:`acme.com`,is_primary:`true`}}],Gn=r.object({name:r.string().describe(`Company name`),lid:r.string().nullable().optional().describe(`LinkedIn ID`),urn:r.string().nullable().optional().describe(`Uniform Resource Name identifier`),type:r.string().nullable().optional().describe(`Type of company`),industry:r.string().nullable().optional().describe(`Industry sector`),location:r.string().nullable().optional().describe(`Company location`),numberOfEmployees:r.number().describe(`Number of employees`),website:r.string().nullable().optional().describe(`Company website URL`),url:r.string().nullable().optional().describe(`General company URL`),description:r.string().nullable().optional().describe(`Company description`),specialties:r.array(r.string()).describe(`List of company specialties`),employeeGrowth:r.array(r.unknown()).describe(`Employee growth data`)}),Kn={name:`Acme Innovations Inc.`,lid:`12345`,urn:`urn:li:company:12345`,type:`Private`,industry:`Information Technology`,location:`Berlin, Germany`,numberOfEmployees:250,website:`https://www.acme-innovations.com`,url:`https://linkedin.com/company/acme-innovations`,description:`Acme Innovations is a leader in enterprise software solutions, specializing in cloud-based tools for modern businesses.`,specialties:[`Cloud Computing`,`Machine Learning`,`Cybersecurity`],employeeGrowth:[]},qn=r.object({firstname:r.string().nullable().optional().describe(`The person's first name.`),lastname:r.string().nullable().optional().describe(`The person's last name.`),headline:r.string().nullable().optional().describe(`A short professional headline.`),description:r.string().nullable().optional().describe(`A summary or description of the person.`),profileUrl:r.string().nullable().optional().describe(`URL to the person's profile.`),lastJobTitle:r.string().nullable().optional().describe(`Title of the most recent job.`),lastJobDescription:r.string().nullable().optional().describe(`Description of the most recent job.`),lastJobStartDate:r.string().nullable().optional().describe(`Start date of the most recent job.`),address:r.string().nullable().optional().describe(`The person's address.`),lastCompanyName:r.string().nullable().optional().describe(`Name of the most recent company.`),lastCompanyUrn:r.string().nullable().optional().describe(`URN (unique resource name) of the most recent company.`),lastCompanyUrl:r.string().nullable().optional().describe(`URL of the most recent company.`),lastCompanyWebsite:r.string().nullable().optional().describe(`Website of the most recent company.`),lastCompanyDescription:r.string().nullable().optional().describe(`Description of the most recent company.`),lastCompanySize:r.number().nullable().optional().describe(`Size of the most recent company.`),lastCompanyIndustry:r.string().nullable().optional().describe(`Industry of the most recent company.`),lastCompanyAddress:r.string().nullable().optional().describe(`Address of the most recent company.`)}),Jn={firstname:`Jane`,lastname:`Doe`,headline:`Software Engineer at Sample`,description:`Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?`,profileUrl:`https://www.linkedin.com/in/mayuri2307`,lastJobTitle:`Software Engineer`,lastJobDescription:``,lastJobStartDate:`06-2024`,address:``,lastCompanyName:`Google`,lastCompanyUrn:`urn:li:fs_xxxxCompany:1111`,lastCompanyUrl:`https://www.linkedin.com/company/sample/`,lastCompanyWebsite:`https://sample.com`,lastCompanyDescription:`Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`,lastCompanySize:183446,lastCompanyIndustry:`Software Development`,lastCompanyAddress:`Mountain View, California, United States`},Yn=r.array(r.object({company_name:r.string().nullable(),revenue:r.string().nullable(),headquarters_region:r.string().nullable(),company_website_url:r.url().nullable(),company_type:r.string().nullable()})),Xn=[{company_name:`Chorus`,revenue:`$21M`,headquarters_region:`San Francisco, California, USA`,company_type:`private`,company_website_url:`https://www.chorus.ai`}],Zn=r.array(r.object({company_name:r.string().nullable(),date:r.string().nullable(),company_description:r.string(),source_url:r.url().nullable()})),Qn=[{company_name:`Vayo`,date:`2020-09-01`,company_description:`Vayo is a SaaS-based firm that analyzes, integrates and converts customer data into actionable insights for business`,source_url:`https://techcrunch.com/2020/09/01/fresh-off-200m-series-d-gong-acquires-early-stage-startup-vayo`}],$n=r.array(r.object({title:r.string().nullable(),outlet_name:r.string().nullable(),date:r.string().nullable()})),er=[{title:`Gong: Gong Named to the Forbes Cloud 100 for the Fifth Consecutive Year`,outlet_name:`Martech Cube`,date:`2024-08-07`}],tr=r.object({lead_id:r.string(),contact_id:r.string().nullable().optional(),campaign_id:r.string(),campaign_name:r.string().nullable().optional(),is_paused:r.boolean().nullable().optional(),variables_set:r.number().int().nullable().optional()}),nr={lead_id:`lea_fiDpiGV585wy3Oii2`,contact_id:`ctc_xW8Ou6C03Csv8vatp`,campaign_id:`cam_bSn8EORHQxbWPjHvu`,campaign_name:`Q3 Outbound`,is_paused:!1},rr=r.object({r:r.number().int().min(0).max(255),g:r.number().int().min(0).max(255),b:r.number().int().min(0).max(255),hex:r.string().regex(/^#[0-9a-f]{6}$/i)}),ir=r.object({facebook:r.url().optional(),github:r.url().optional(),instagram:r.url().optional(),linkedin:r.url().optional(),pinterest:r.url().optional(),reddit:r.url().optional(),snapchat:r.url().optional(),telegram:r.url().optional(),tumblr:r.url().optional(),twitter:r.url().optional(),wechat:r.url().optional(),whatsapp:r.url().optional(),youtube:r.url().optional()}).optional(),ar=r.object({name:r.string(),domain:r.string(),description:r.string(),indexed_at:r.iso.datetime(),socials:ir,logo:r.url(),blurhash:r.string(),colors:r.array(rr)}),or={name:`sweetgreen`,domain:`sweetgreen.com`,description:`Simple, seasonal, healthy salads and grain bowls made in-house from scratch, using whole produce delivered that morning.`,indexed_at:`2025-03-10T11:36:23.885238001Z`,socials:{facebook:`http://facebook.com/sweetgreen`,instagram:`https://www.instagram.com/sweetgreen/`,twitter:`https://x.com/sweetgreen`,linkedin:`https://linkedin.com/company/acmeinc`,pinterest:`https://pinterest.com/`,reddit:`https://reddit.com`},logo:`https://img.logo.dev/sweetgreen.com?token=YOUR_TOKEN_HERE`,blurhash:`UJPanPxr?Vj[oxazj@od_FWDDoodxrodagWD`,colors:[{r:228,g:255,b:85,hex:`#e4ff55`},{r:10,g:75,b:43,hex:`#0a4b2b`},{r:125,g:173,b:80,hex:`#7dad50`}]},sr=r.object({label:r.string().nullable().optional(),question_id:r.string().nullable().optional(),question_type:r.string().nullable().optional(),value:r.unknown().nullable().optional(),answer:r.unknown().nullable().optional(),answer_company:r.string().nullable().optional(),answer_job_title:r.string().nullable().optional()}),cr=r.object({id:r.string().nullable().optional(),name:r.string().nullable().optional(),amount:r.number().nullable().optional(),amount_discount:r.number().nullable().optional(),amount_tax:r.number().nullable().optional(),currency:r.string().nullable().optional(),checked_in_at:r.string().nullable().optional(),event_ticket_type_id:r.string().nullable().optional(),is_captured:r.boolean().nullable().optional()}),lr=r.object({id:r.string().nullable().optional(),user_id:r.string().nullable().optional(),user_email:r.string().nullable().optional(),user_name:r.string().nullable().optional(),user_first_name:r.string().nullable().optional(),user_last_name:r.string().nullable().optional(),approval_status:r.string().nullable().optional(),check_in_qr_code:r.string().nullable().optional(),eth_address:r.string().nullable().optional(),solana_address:r.string().nullable().optional(),phone_number:r.string().nullable().optional(),utm_source:r.string().nullable().optional(),invited_at:r.string().nullable().optional(),joined_at:r.string().nullable().optional(),registered_at:r.string().nullable().optional(),registration_answers:r.array(sr).nullable().optional(),event_tickets:r.array(cr).nullable().optional()}),ur={id:`guest-evt-abc123`,user_id:`usr-9f8e7d`,user_email:`ada.lovelace@example.com`,user_name:`Ada Lovelace`,user_first_name:`Ada`,user_last_name:`Lovelace`,approval_status:`approved`,check_in_qr_code:`QR-1A2B3C`,eth_address:null,solana_address:null,phone_number:`+1 555 0100`,utm_source:`newsletter`,invited_at:`2026-05-01T12:00:00.000Z`,joined_at:`2026-05-02T09:30:00.000Z`,registered_at:`2026-05-02T09:31:42.000Z`,registration_answers:[{label:`Company`,question_id:`q-company`,question_type:`company`,value:{company:`Analytical Engines Ltd`,job_title:`Founder`},answer:`Analytical Engines Ltd`,answer_company:`Analytical Engines Ltd`,answer_job_title:`Founder`}],event_tickets:[{id:`ticket-001`,name:`General Admission`,amount:0,amount_discount:0,amount_tax:0,currency:`usd`,checked_in_at:null,event_ticket_type_id:`tt-ga`,is_captured:!0}]},dr=r.object({email:r.string(),quality:r.enum([``,`good`,`bod`,`risky`]),result:r.enum([`ok`,`catch_all`,`unknown`,`error`,`disposable`,`invalid`]),resultcode:r.int(),subresult:r.string(),free:r.boolean(),role:r.boolean(),didyoumean:r.string(),error:r.string().nullable().optional()}),fr={email:`bademail@gmal.com`,quality:`good`,result:`invalid`,resultcode:6,subresult:`unknown`,free:!1,role:!1,didyoumean:`bademail@gmail.com`,error:``},pr=r.object({sector:r.string().nullable().optional(),subsector:r.string().nullable().optional(),country:r.string().nullable().optional(),state:r.string().nullable().optional(),city:r.string().nullable().optional(),founded_year:r.number().int().nonnegative().nullable().optional(),stage:r.string().nullable().optional(),special_flags:r.array(r.string()).nullable().optional()}),mr={sector:`Auto Tech`,subsector:`Auto IT`,country:`Germany`,state:`Baden-wurttemberg`,city:`Schwenningen`,founded_year:2018,stage:`Acquired`,special_flags:[`Tech`,`Enterprise`,`Software`]},hr=r.array(r.object({url:r.string(),title:r.string().nullable(),publish_date:r.string().nullable(),excerpts:r.array(r.string())})),gr=[{url:`https://www.un.org/en/about-us/history-of-the-un`,title:`History of the United Nations | United Nations`,publish_date:`2001-01-01`,excerpts:[`As World War II was about to end in 1945, nations were in ruins, and the world wanted peace. Representatives of 50 countries gathered at the United Nations Conference on International Organization in San Francisco, California from 25 April to 26 June 1945.`]}],_r=r.object({current_company:r.string().nullable().optional(),headline:r.string().nullable().optional(),connection_count:r.number().int().nonnegative().nullable().optional(),follower_count:r.number().int().nonnegative().nullable().optional(),experience_raw:r.string().nullable().optional()}),vr={current_company:`On`,headline:`Engineering leadership`,connection_count:2396,follower_count:2419,experience_raw:`On 2025-03-01 Head of Engineering Google 2019-04-01 2025-02-01 Staff Software Engineer`};function yr(){return`https://i.pravatar.cc/300?u=${crypto.randomUUID()}`}function br(e,{isNullEmpty:t}={isNullEmpty:!1}){if(e===null)return!!t;if(e==null||typeof e==`string`&&e.trim()===``||Array.isArray(e)&&e.length===0)return!0;if(typeof e==`object`){for(let n in e)if(Object.hasOwn(e,n)&&!br(e[n],{isNullEmpty:t}))return!1;return!0}return!1}function xr(e){return e.split(`@`)[0]}function Sr(e,t){if(t.length===0)throw Error(`pickStable: cannot pick from an empty array`);let n=5381;for(let t=0;t<e.length;t++)n=(n<<5)+n+e.charCodeAt(t)>>>0;return t[n%t.length]}const Cr=[`🧑🏽‍💻`],wr=[`🧑‍💼`],Tr=[`👷`],Er=[`c_suite`,`leadership`,`manager`,`senior_ic`,`ic`,`frontline`,`junior`,`unknown`],Dr=r.enum(Er),Or={c_suite:`👑`,leadership:`⭐️`,manager:`🧑‍✈️`,senior_ic:Cr,ic:wr,frontline:Tr,junior:`🐥`,unknown:`🫥`},kr=`product owner.process owner.scrum master.chief of staff.business partner.hr business partner.human resources business partner.people partner.channel partner.finance business partner.account executive.assistant professor.staff accountant.staff nurse.staff writer.lead generation.sales lead.case manager.care manager.police officer.patrol officer.correctional officer.loan officer.program officer.compliance officer.foreign service officer.research associate.sales associate.marketing associate`.split(`.`),Ar=[`associate professor`,`senior associate`,`of counsel`,`senior counsel`,`special counsel`,`nurse practitioner`,`charge nurse`,`attending physician`,`chief resident`,`senior resident`,`chief petty officer`,`founding engineer`,`founding designer`],jr=[`research fellow`,`teaching fellow`,`postdoctoral fellow`,`postdoc`,`research assistant`,`teaching assistant`,`medical assistant`,`dental assistant`,`resident physician`,`medical resident`],Mr=[`ceo`,`cto`,`cfo`,`coo`,`cmo`,`cio`,`ciso`,`cpo`,`cdo`,`cro`,`chro`,`cco`,`clo`,`cao`,`cxo`],Nr=`founder.co founder.cofounder.proprietor.chairman.chairwoman.chairperson.managing partner.general partner.equity partner.founding partner.managing director.managing member.general counsel.executive director.managing broker.principal broker.designated broker.superintendent.chancellor.headmaster.headmistress.head teacher.head of school.school principal.executive chef.franchisee.sheriff.warden`.split(`.`),Pr=[`vp`,`svp`,`evp`,`vice president`,`director`,`head of`,`dean`,`provost`,`principal investigator`,`medical director`,`director of nursing`,`general manager`,`district manager`,`regional manager`,`area manager`,`plant manager`,`head chef`,`chef de cuisine`,`vice principal`,`assistant principal`,`colonel`,`commander`,`captain`],Fr=[`junior`,`jr`,`jnr`,`intern`,`internship`,`trainee`,`apprentice`,`graduate`,`grad`,`entry`,`entry level`,`student`,`working student`,`cadet`,`recruit`,`probationary`,`extern`],Ir=[`senior`,`sr`,`snr`,`staff`,`principal`,`lead`,`distinguished`,`fellow`,`architect`,`professor`,`attending`,`journeyman`,`master electrician`,`master plumber`,`master carpenter`,`master mechanic`,`master stylist`,`master barber`],Lr=[`manager`,`mgr`],Rr=[`supervisor`,`foreman`,`forewoman`,`foreperson`,`sergeant`,`team leader`],zr=`account.accounts.key account.project.projects.special projects.special project.initiative.initiatives.strategic initiatives.program.programs.product.products.portfolio.portfolios.people.talent.talent acquisition.recruiting.recruitment.community.brand.brands.social media.social.partnership.partnerships.alliance.alliances.vendor.vendors.supplier.suppliers.office.category.categories.channel.channels.content.campaign.campaigns.relationship.relationships.territory.territories.customer success.success.implementation.onboarding.delivery.deployment.release.engagement.growth.seo.sem.ppc.performance.demand generation.demand gen.digital.email.events.event.webinar.procurement.sourcing.logistics.supply chain.inventory.facilities.fleet.risk.compliance.contract.contracts.knowledge.localization.product marketing.media.paid.business development.go to market.gtm.data.analytics.insights.research`.split(`.`),Br=`engineer.developer.programmer.sysadmin.administrator.technician.technologist.designer.researcher.analyst.scientist.statistician.consultant.specialist.coordinator.representative.strategist.marketer.copywriter.accountant.bookkeeper.auditor.recruiter.sourcer.paralegal.attorney.lawyer.solicitor.counsel.underwriter.actuary.adjuster.agent.broker.realtor.appraiser.planner.buyer.trader.advisor.adviser.writer.editor.journalist.sdr.bdr.csm.tam.nurse.physician.surgeon.pharmacist.dentist.therapist.dietitian.paramedic.veterinarian.optometrist.psychologist.psychiatrist.hygienist.teacher.educator.instructor.lecturer.tutor.officer`.split(`.`),Vr=[`electrician`,`plumber`,`carpenter`,`welder`,`machinist`,`mechanic`,`millwright`,`pipefitter`,`mason`,`roofer`,`operator`,`laborer`,`labourer`,`driver`,`warehouse`,`stylist`,`barber`,`cook`,`server`,`bartender`,`barista`,`cashier`,`clerk`],Hr=[`associate`,`assistant`,`aide`,`helper`,`resident`,`commis`];function Ur(e){let t=t=>e.includes(` ${t} `),n=e=>e.some(t);if(n(kr))return`ic`;if(n(Ar))return`senior_ic`;if(n(jr))return`junior`;if(n(Mr)||t(`chief`)||n(Nr)||t(`owner`)||t(`president`)&&!t(`vice president`)||t(`partner`))return`c_suite`;if(n(Pr))return`leadership`;if(n(Fr))return`junior`;let r=n(Ir);return n(Rr)?`manager`:n(Lr)?n(zr)?r?`senior_ic`:`ic`:`manager`:n(Vr)?`frontline`:r?`senior_ic`:n(Br)?`ic`:n(Hr)?`junior`:`unknown`}function Wr(e){return e?Ur(` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `):`unknown`}function Gr(e){let t=Or[Wr(e)];return typeof t==`string`?t:Sr(` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `,t)}const Kr=r.object({name:r.string().nullable().describe(`The full name of the profile owner.`),headline:r.string().nullable().describe(`The current headline/tagline of the profile owner.`),profile_url:r.string().nullable().describe(`The URL of the LinkedIn profile.`),profile_picture_url:r.string().nullable().describe(`Url of profile picture`),highest_current_seniority_level:r.enum(Er).nullable().describe(`The highest seniority bucket across the person's current roles. Uses the same taxonomy as the job-title seniority emoji (see getSeniorityEmojiFromTitle). Null if not available.`),social_handles_linkedin:r.array(r.string()).nullable(),social_handles_github:r.array(r.string()).nullable(),languages:r.array(r.object({language:r.string().describe(`The name of the language`),level:r.string().nullable().describe(`Level of proficiency`)}).describe(`Language entry object`)).nullable().describe(`A list of languages spoken by the profile owner, with proficiency levels.`),skills:r.array(r.object({name:r.string().describe(`The name of the skill.`),level:r.enum([`beginner`,`intermediate`,`advanced`]).nullable().describe(`The proficiency level of the skill.`)}).describe(`Skill entry object`)).nullable().describe(`A list of skills listed on the profile, with optional proficiency levels.`),connections_count:r.number().int().nullable().describe(`The number of connections the profile has. Null if not available or visible.`),current_location_city:r.string().nullable().describe(`The city of the profile owner's primary location.`),current_location_state:r.string().nullable().describe(`The state/region of the profile owner's primary location.`),current_location_country:r.string().nullable().describe(`The country of the profile owner's primary location.`),about:r.string().nullable().describe(`The 'About' section content from the profile. Null if empty.`),employment_history:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),is_current_employer:r.boolean().nullable().describe(`Does this person currently work at this company`),is_primary_current_employer:r.boolean().nullable().describe(`Is this the person's primary current employer`),seniority_level:r.enum(Er).nullable().describe(`The seniority bucket inferred from the job title. Uses the same taxonomy as the job-title seniority emoji (see getSeniorityEmojiFromTitle). Null if not available.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The employment type (e.g., 'Full-time', 'Contract', 'Internship'). Null if not available.`),company_domain:r.string().nullable().describe(`The domain of the company.`),company_website_url:r.url().nullable().describe(`The website URL of the company.`),company_profile_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount_bracket:r.string().nullable().describe(`The company headcount bracket (e.g., '1001-5000', '11-50', '10001+'). Forwarded verbatim from the provider, so brackets are not yet normalized to a standard set. Null if not available.`),company_industries:r.array(r.string().nullable().describe(`The industry of the company. Null if not available.`)),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),company_hq_region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of past and current work experiences.`),education_history:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),is_current_education:r.boolean().nullable().describe(`Is this person currently enrolled in this institution`),is_primary_current_education:r.boolean().nullable().describe(`Is this the person's primary current education`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at institution in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at institution in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of past and current educational experiences.`)}),qr={profile_url:`https://www.linkedin.com/in/janedoe/`,profile_picture_url:yr(),highest_current_seniority_level:`senior_ic`,social_handles_linkedin:[`https://www.linkedin.com/in/janedoe/`],social_handles_github:[`https://github.com/janedoe`],languages:[{language:`English`,level:`Native`},{language:`Spanish`,level:`Conversational`}],name:`Jane Doe`,headline:`Senior Software Engineer at Tech Solutions | Cloud & AI Enthusiast`,skills:[{name:`JavaScript`,level:`advanced`},{name:`React`,level:`advanced`},{name:`Node.js`,level:`advanced`},{name:`AWS`,level:`intermediate`},{name:`Python`,level:`intermediate`},{name:`Machine Learning`,level:`beginner`}],connections_count:850,current_location_city:`Berlin`,current_location_state:`Berlin`,current_location_country:`Germany`,about:`Experienced Senior Software Engineer with a passion for building innovative and efficient software solutions. Proven ability to lead projects, mentor junior developers, and deliver high-quality code. Always eager to learn new technologies and contribute to challenging projects.`,employment_history:[{job_title:`Senior Software Engineer`,is_current_employer:!0,is_primary_current_employer:!0,seniority_level:`senior_ic`,company_name:`Tech Solutions`,contract_type:`Full-time`,company_domain:`techsolutions.com`,company_website_url:`https://www.techsolutions.com`,company_profile_url:`https://www.linkedin.com/company/tech-solutions`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,start_date:`2023-01-15`,end_date:null,headcount_bracket:`1001-5000`,company_industries:[`Information Technology & Services`],tenure_in_days:870,tenure_in_years:2.38,company_hq_region:`Berlin, Berlin, Germany`,country:`DE`},{job_title:`Software Developer`,is_current_employer:!1,is_primary_current_employer:!1,seniority_level:`ic`,company_name:`Innovate Corp`,contract_type:`Full-time`,company_domain:`innovatecorp.com`,company_website_url:`https://www.innovatecorp.com`,company_profile_url:`https://www.linkedin.com/company/innovate-corp`,job_description:`Contributed to the development of enterprise-level applications and collaborated with cross-functional teams.`,start_date:`2019-06-01`,end_date:`2022-12-31`,headcount_bracket:`501-1000`,company_industries:[`Software Development`],tenure_in_days:1300,tenure_in_years:3.56,company_hq_region:`Munich, Bavaria, Germany`,country:`DE`}],education_history:[{degree_name:`Master of Science`,field_of_study:`Computer Science`,is_current_education:!1,is_primary_current_education:!1,institution_name:`Technical University of Berlin`,start_date:`2017-10-01`,end_date:`2019-09-30`,tenure_in_days:730,tenure_in_years:2,grade:`1.3`,description:`Specialized in distributed systems and artificial intelligence.`,activities_and_societies:`AI Research Group, Student Mentorship Program`},{degree_name:`Bachelor of Science`,field_of_study:`Computer Engineering`,is_current_education:!1,is_primary_current_education:!1,institution_name:`University of Applied Sciences Berlin`,start_date:`2014-09-01`,end_date:`2017-08-31`,tenure_in_days:1095,tenure_in_years:3,grade:`1.8`,description:`Focused on software design and embedded systems.`,activities_and_societies:`Robotics Club, Programming Competition Team`}]},Jr=r.object({share_urn:r.string().nullable().describe(``),share_url:r.string().nullable().describe(``),text:r.string(),actor:r.string().describe(`A person or a company`),posted_at_date:r.iso.date(),has_video:r.boolean().nullable(),number_of_shares:r.int().nullable(),number_of_comments:r.int().nullable(),number_of_reactions:r.int().nullable(),number_of_reactions_like:r.int().nullable(),number_of_reactions_praise:r.int().nullable(),number_of_reactions_curious:r.int().nullable(),number_of_reactions_empathy:r.int().nullable(),number_of_reactions_appreciation:r.int().nullable(),number_of_reactions_entertainment:r.int().nullable(),author_profile_person:r.object({person_name:r.string().nullable(),person_profile_url:r.url().nullable(),person_title:r.string().nullable(),person_location:r.string().nullable(),current_employers:r.array(r.object({company_name:r.string().nullable(),job_title:r.string().nullable(),company_linkedin_id:r.string().nullable(),company_domain:r.url().nullable(),company_profile_url:r.url().nullable()})).nullable()}).nullable(),author_profile_company:r.object({company_name:r.string().nullable(),company_profile_url:r.url().nullable()}).nullable()}),Yr={share_urn:`urn:li:ugcPost:7475096396619194368`,share_url:`https://www.linkedin.com/posts/miroslav-milovanovi%C4%87-b3139110a_your-llm-isnt-failing-because-of-a-bad-prompt-activity-7475096397168578560-JJoN`,text:`Your LLM isn't failing because of a bad prompt: it's failing because you're flying blind in production.`,actor:`person`,posted_at_date:`2026-06-23`,has_video:!1,number_of_shares:0,number_of_comments:0,number_of_reactions:7,number_of_reactions_like:7,number_of_reactions_praise:null,number_of_reactions_curious:null,number_of_reactions_empathy:null,number_of_reactions_appreciation:null,number_of_reactions_entertainment:null,author_profile_person:{person_name:`Miroslav Milovanović`,person_profile_url:`https://www.linkedin.com/in/miroslav-milovanovi%C4%87-b3139110a`,person_title:`AI Engineer`,person_location:`Belgrade, Serbia`,current_employers:[{company_name:`PubNub`,job_title:`AI Engineer`,company_linkedin_id:`2224710`,company_domain:null,company_profile_url:null}]},author_profile_company:null},Xr=r.object({object:r.literal(`linkedin_profile`).describe(`String representing the object’s type.`),name:r.string().nullable().describe(`The full name of the profile owner.`),headline:r.string().nullable().describe(`The current headline/tagline of the profile owner.`),profile_url:r.string().nullable().describe(`The URL of the LinkedIn profile.`),profile_picture_url:r.string().nullable().describe(`Url of profile picture`),languages:r.array(r.object({language:r.string().describe(`The name of the language`),level:r.string().nullable().describe(`Level of proficiency`)}).describe(`Language entry object`)).nullable().describe(`A list of languages spoken by the profile owner, with proficiency levels.`),skills:r.array(r.object({name:r.string().describe(`The name of the skill.`),level:r.enum([`beginner`,`intermediate`,`advanced`]).nullable().describe(`The proficiency level of the skill.`)}).describe(`Skill entry object`)).describe(`A list of skills listed on the profile, with optional proficiency levels.`),current_jobs:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The name of the company.`),company_website:r.string().nullable().describe(`The website URL of the company.`),company_social_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount:r.string().nullable().describe(`The size of the company (e.g., '1001-5000', '1-10'). Null if not available.`),company_industry:r.string().nullable().describe(`The industry of the company. Null if not available.`),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of the user's current primary jobs. Can be an empty array if no current jobs.`),connections_count:r.number().int().nullable().describe(`The number of connections the profile has. Null if not available or visible.`),country:r.string().nullable().describe(`The country of the profile owner's primary location.`),region:r.string().nullable().describe(`The specific region of the profile owner (e.g., 'Seattle, Washington, United States'). Null if not available.`),about:r.string().nullable().describe(`The 'About' section content from the profile. Null if empty.`),job_history:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The name of the company.`),company_website:r.string().nullable().describe(`The website URL of the company.`),company_social_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount:r.string().nullable().describe(`The size of the company (e.g., '1001-5000', '1-10'). Null if not available.`),company_industry:r.string().nullable().describe(`The industry of the company. Null if not available.`),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of past and current work experiences.`),current_educations:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at instituation in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at instituation in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of the user's current primary educational enrollments. Can be an empty array if no current education.`),education_history:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at instituation in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at instituation in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of past and current educational experiences.`)}),Zr={object:`linkedin_profile`,profile_url:`https://www.linkedin.com/in/janedoe/`,profile_picture_url:yr(),languages:[{language:`English`,level:`Native`},{language:`Spanish`,level:`Conversational`}],name:`Jane Doe`,headline:`Senior Software Engineer at Tech Solutions | Cloud & AI Enthusiast`,skills:[{name:`JavaScript`,level:`advanced`},{name:`React`,level:`advanced`},{name:`Node.js`,level:`advanced`},{name:`AWS`,level:`intermediate`},{name:`Python`,level:`intermediate`},{name:`Machine Learning`,level:`beginner`}],current_jobs:[{job_title:`Senior Software Engineer`,company_name:`Tech Solutions`,company_website:`https://www.techsolutions.com`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,contract_type:`Full-time`,start_date:`2023-01-15`,end_date:null,headcount:`1001-5000`,company_social_url:`https://www.linkedin.com/company/tech-solutions`,company_industry:`Information Technology & Services`,tenure_in_days:870,tenure_in_years:2.38,region:`Berlin, Berlin, Germany`,country:`DE`}],connections_count:850,country:`DE`,region:`Berlin, Berlin, Germany`,about:`Experienced Senior Software Engineer with a passion for building innovative and efficient software solutions. Proven ability to lead projects, mentor junior developers, and deliver high-quality code. Always eager to learn new technologies and contribute to challenging projects.`,job_history:[{job_title:`Senior Software Engineer`,company_name:`Tech Solutions`,company_website:`https://www.techsolutions.com`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,contract_type:`Full-time`,start_date:`2023-01-15`,end_date:null,headcount:`1001-5000`,company_social_url:`https://www.linkedin.com/company/tech-solutions`,company_industry:`Information Technology & Services`,tenure_in_days:870,tenure_in_years:2.38,region:`Berlin, Berlin, Germany`,country:`DE`},{job_title:`Software Developer`,company_name:`Innovate Corp`,company_website:`https://www.innovatecorp.com`,job_description:`Contributed to the development of enterprise-level applications and collaborated with cross-functional teams.`,contract_type:`Full-time`,start_date:`2019-06-01`,end_date:`2022-12-31`,headcount:`501-1000`,company_social_url:`https://www.linkedin.com/company/innovate-corp`,company_industry:`Software Development`,tenure_in_days:1300,tenure_in_years:3.56,region:`Munich, Bavaria, Germany`,country:`DE`}],current_educations:[],education_history:[{degree_name:`Master of Science`,field_of_study:`Computer Science`,institution_name:`Technical University of Berlin`,start_date:`2017-10-01`,end_date:`2019-09-30`,tenure_in_days:730,tenure_in_years:2,grade:`1.3`,description:`Specialized in distributed systems and artificial intelligence.`,activities_and_societies:`AI Research Group, Student Mentorship Program`},{degree_name:`Bachelor of Science`,field_of_study:`Computer Engineering`,institution_name:`University of Applied Sciences Berlin`,start_date:`2014-09-01`,end_date:`2017-08-31`,tenure_in_days:1095,tenure_in_years:3,grade:`1.8`,description:`Focused on software design and embedded systems.`,activities_and_societies:`Robotics Club, Programming Competition Team`}]},Qr=r.object({name:r.string().nullable(),profile_url:r.string().nullable(),company_name:r.string().nullable(),company_website_url:r.string().nullable(),job_title:r.string().nullable()}),$r={name:`John Doe`,profile_url:`https://linkedin.com/in/john-doe-123`,company_name:`Acme Inc.`,company_website_url:`https://acme.com`,job_title:`CEO`},ei=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Phone`,kind:`string`},{name:`MobilePhone`,kind:`string`},{name:`Title`,kind:`string`},{name:`Account.Name`,kind:`string`},{name:`AccountId`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`LeadSource`,kind:`string`},{name:`MailingCity`,kind:`string`},{name:`MailingCountry`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ti=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Company`,kind:`string`},{name:`Title`,kind:`string`},{name:`Status`,kind:`string`},{name:`LeadSource`,kind:`string`},{name:`Phone`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`IsConverted`,kind:`boolean`},{name:`ConvertedContactId`,kind:`string`},{name:`City`,kind:`string`},{name:`Country`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ni=[{name:`Name`,kind:`string`},{name:`Website`,kind:`string`},{name:`Industry`,kind:`string`},{name:`Type`,kind:`string`},{name:`NumberOfEmployees`,kind:`number`},{name:`AnnualRevenue`,kind:`number`},{name:`Phone`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`BillingCity`,kind:`string`},{name:`BillingCountry`,kind:`string`},{name:`ParentId`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ri=[{name:`Name`,kind:`string`},{name:`StageName`,kind:`string`},{name:`Amount`,kind:`number`},{name:`CloseDate`,kind:`string`},{name:`IsClosed`,kind:`boolean`},{name:`IsWon`,kind:`boolean`},{name:`Probability`,kind:`number`},{name:`ForecastCategoryName`,kind:`string`},{name:`AccountId`,kind:`string`},{name:`Account.Name`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ii=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Username`,kind:`string`},{name:`Title`,kind:`string`},{name:`IsActive`,kind:`boolean`},{name:`UserRole.Name`,kind:`string`},{name:`CreatedDate`,kind:`string`}],ai=(()=>{let e=new Map;for(let t of[...ei,...ti])e.set(t.name,t);return[...e.values()]})(),oi={Contact:ei,Lead:ti,Account:ni,Opportunity:ri,User:ii};function si(e,t){let n=new Set([`Id`]);for(let t of e)n.add(t.name);for(let e of t)n.add(e);return[...n]}const ci=e=>e===`number`?r.number().nullable():e===`boolean`?r.boolean().nullable():r.string().nullable(),li=e=>Object.fromEntries(e.map(e=>[e.name,ci(e.kind)])),ui=()=>r.record(r.string(),r.union([r.string(),r.number(),r.boolean()]).nullable()),di=r.object({id:r.string(),url:r.string().nullable(),...li(ei),custom_properties:ui()}),fi={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,FirstName:`Jane`,LastName:`Doe`,Email:`jane@acme.com`,Phone:null,MobilePhone:null,Title:`Head of Data`,"Account.Name":`Acme Inc.`,AccountId:`001KJ000001xyzDIA2`,OwnerId:`005KJ000001ownDIA2`,LeadSource:`Web`,MailingCity:`Berlin`,MailingCountry:`Germany`,CreatedDate:`2025-11-02T09:12:44.000Z`,LastModifiedDate:`2026-05-14T16:03:01.000Z`,custom_properties:{Lead_Score__c:87}},pi=r.object({id:r.string(),url:r.string().nullable(),...li(ti),custom_properties:ui()}),mi={id:`00QKJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Lead/00QKJ000001abcDIA2/view`,FirstName:`Sam`,LastName:`Prospect`,Email:`sam@globex.com`,Company:`Globex`,Title:`VP Marketing`,Status:`Working - Contacted`,LeadSource:`Trade Show`,Phone:null,OwnerId:`005KJ000001ownDIA2`,IsConverted:!1,ConvertedContactId:null,City:`Munich`,Country:`Germany`,CreatedDate:`2026-02-11T10:00:00.000Z`,LastModifiedDate:`2026-06-01T08:30:00.000Z`,custom_properties:{}},hi=r.object({id:r.string(),url:r.string().nullable(),...li(ni),custom_properties:ui()}),gi={id:`001KJ000001xyzDIA2`,url:`https://acme.lightning.force.com/lightning/r/Account/001KJ000001xyzDIA2/view`,Name:`Acme Inc.`,Website:`https://acme.com`,Industry:`Technology`,Type:`Customer - Direct`,NumberOfEmployees:230,AnnualRevenue:42e6,Phone:null,OwnerId:`005KJ000001ownDIA2`,BillingCity:`Berlin`,BillingCountry:`Germany`,ParentId:null,CreatedDate:`2024-03-18T11:40:02.000Z`,LastModifiedDate:`2026-05-14T16:03:01.000Z`,custom_properties:{}},_i=r.object({id:r.string(),url:r.string().nullable(),...li(ri),custom_properties:ui()}),vi={id:`006KJ000001oppDIA2`,url:`https://acme.lightning.force.com/lightning/r/Opportunity/006KJ000001oppDIA2/view`,Name:`Acme — Enterprise plan`,StageName:`Negotiation`,Amount:48e3,CloseDate:`2026-09-30`,IsClosed:!1,IsWon:!1,Probability:70,ForecastCategoryName:`Best Case`,AccountId:`001KJ000001xyzDIA2`,"Account.Name":`Acme Inc.`,OwnerId:`005KJ000001ownDIA2`,CreatedDate:`2026-04-02T08:15:27.000Z`,LastModifiedDate:`2026-06-20T10:44:09.000Z`,custom_properties:{}},yi=r.object({id:r.string(),url:r.string().nullable(),...li(ii),custom_properties:ui()}),bi={id:`005KJ000001ownDIA2`,url:`https://acme.lightning.force.com/lightning/r/User/005KJ000001ownDIA2/view`,FirstName:`Sam`,LastName:`Seller`,Email:`sam@acme.com`,Username:`sam@acme.com`,Title:`Account Executive`,IsActive:!0,"UserRole.Name":`Sales Rep`,CreatedDate:`2023-01-10T09:00:00.000Z`,custom_properties:{}},xi=li(ai),Si=r.object({id:r.string(),url:r.string().nullable(),object_type:r.enum([`contact`,`lead`,`person_account`]),matched_by:r.enum([`email`,`person_email`]),is_converted_redirect:r.boolean(),...xi,custom_properties:ui()}),Ci={...fi,object_type:`contact`,matched_by:`email`,is_converted_redirect:!1,Company:null,Status:null,IsConverted:null,ConvertedContactId:null,City:null,Country:null},wi=r.array(hi.extend({matched_variant:r.string()})),Ti=[{...gi,matched_variant:`https://acme.com`}],Ei=r.array(_i.extend({contact_roles:r.array(r.string())})),Di=[{...vi,contact_roles:[`Decision Maker`]}],Oi=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),record:ui()}),ki={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,object_type:`Contact`,record:{FirstName:`Jane`,LastName:`Doe`,Email:`jane@acme.com`,Lead_Score__c:87,HasOptedOutOfEmail:!1}},Ai=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),updated_fields:r.array(r.string()),record:ui().nullable()}),ji={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,object_type:`Contact`,updated_fields:[`Title`,`Phone`],record:{FirstName:`Jane`,LastName:`Doe`,Title:`VP Data`,Phone:`+49 30 1234567`}},Mi=r.array(r.object({markdown:r.string().nullable(),html:r.string().nullable(),links:r.array(r.string()).nullable(),metadata:r.object({title:r.string().nullable(),description:r.string().nullable()}).nullable()})),Ni=[{markdown:`[Pipe Docs home page![light logo](...)!...`,html:`<!DOCTYPE html><html lang="en" class="js-focus-visible lg:[--scroll-mt:9.5rem]" data-js-focus-visible="">...`,links:[`https://pip0.com`],metadata:{title:`A framework for data enrichment`,description:`Learn how to use Firecrawl, Groq Llama 3, and Langchain to build a 'Chat with your website' bot.`}}],Pi=r.array(r.record(r.string(),r.unknown())),Fi=[{id:`0197a2f0-5c1e-7d38-9a44-3f9b2f6c8e01`,email:`jane@acme.com`,name:`Jane Doe`,company:`Acme Inc`}],Ii=r.array(r.object({url:r.url(),title:r.string().nullable(),description:r.string().nullable()})),Li=[{url:`https://pipe0.com/resources/documentation`,title:`Pipe0 | Docs`,description:`A modern data enrichment framework`},{url:`https://pipe0.com/resources/documentation/pipes`,title:`Pipe0 Docs | Pipe Docs`,description:`Documentation for pipe0 pipes.`}],Ri=r.union([r.literal(`valid`),r.literal(`invalid`),r.literal(`catch-all`),r.literal(`unknown`),r.literal(`spamtrap`),r.literal(`abuse`),r.literal(`do_not_mail`)]),zi=r.union([r.literal(`alternate`),r.literal(`antispam_system`),r.literal(`greylisted`),r.literal(`mail_server_temporary_error`),r.literal(`forcible_disconnect`),r.literal(`mail_server_did_not_respond`),r.literal(`timeout_exceeded`),r.literal(`failed_smtp_connection`),r.literal(`mailbox_quota_exceeded`),r.literal(`exception_occurred`),r.literal(`possible_trap`),r.literal(`role_based`),r.literal(`global_suppression`),r.literal(`mailbox_not_found`),r.literal(`no_dns_entries`),r.literal(`failed_syntax_check`),r.literal(`possible_typo`),r.literal(`unroutable_ip_address`),r.literal(`leading_period_removed`),r.literal(`does_not_accept_mail`),r.literal(`alias_address`),r.literal(`role_based_catch_all`),r.literal(`disposable`),r.literal(`toxic`),r.literal(`accept_all`),r.literal(``)]),Bi=r.object({address:r.email(),status:Ri,sub_status:zi,account:r.string(),domain:r.string(),did_you_mean:r.string().nullable(),domain_age_days:r.string().nullable().optional(),active_in_days:r.union([r.literal(`30`),r.literal(`60`),r.literal(`90`),r.literal(`180`),r.literal(`365`),r.literal(`365+`),r.literal(``)]).nullable().optional(),free_email:r.boolean(),mx_found:r.enum([`true`,`false`]).nullable(),mx_record:r.string(),smtp_provider:r.string().nullable(),firstname:r.string().nullable(),lastname:r.string().nullable(),gender:r.string().nullable(),city:r.string().nullable(),region:r.string().nullable(),zipcode:r.string().nullable(),country:r.string().nullable(),processed_at:r.string()}),Vi={address:`flowerjill@aol.com`,status:`valid`,sub_status:``,free_email:!0,did_you_mean:null,account:`flowerjill`,domain:`aol.com`,domain_age_days:`8426`,active_in_days:`365`,smtp_provider:`yahoo`,mx_record:`mx-aol.mail.gm0.yahoodns.net`,mx_found:`true`,firstname:`Jill`,lastname:`Stein`,gender:`female`,country:`United States`,region:`Florida`,city:`West Palm Beach`,zipcode:`33401`,processed_at:`2017-04-01 02:48:02.592`},Hi=r.object({text:r.string(),url:r.url(),created_at:r.iso.datetime().nullable(),urn:r.string().nullable(),like_count:r.number().nullable(),comment_count:r.number().nullable()}),Ui={text:`Example post text`,url:`https://www.linkedin.com/feed/update/urn:li:activity:7276799456982007552/`,like_count:12,comment_count:3,created_at:new Date().toISOString(),urn:`7276733769981007542`},Wi={"united states":`🇺🇸`,usa:`🇺🇸`,us:`🇺🇸`,america:`🇺🇸`,"united kingdom":`🇬🇧`,uk:`🇬🇧`,britain:`🇬🇧`,england:`🇬🇧`,scotland:`🏴󠁧󠁢󠁳󠁣󠁴󠁿`,wales:`🏴󠁧󠁢󠁷󠁬󠁳󠁿`,canada:`🇨🇦`,australia:`🇦🇺`,germany:`🇩🇪`,france:`🇫🇷`,italy:`🇮🇹`,spain:`🇪🇸`,japan:`🇯🇵`,china:`🇨🇳`,india:`🇮🇳`,brazil:`🇧🇷`,russia:`🇷🇺`,mexico:`🇲🇽`,netherlands:`🇳🇱`,holland:`🇳🇱`,belgium:`🇧🇪`,switzerland:`🇨🇭`,austria:`🇦🇹`,sweden:`🇸🇪`,norway:`🇳🇴`,denmark:`🇩🇰`,finland:`🇫🇮`,poland:`🇵🇱`,portugal:`🇵🇹`,greece:`🇬🇷`,turkey:`🇹🇷`,"south korea":`🇰🇷`,"south africa":`🇿🇦`,argentina:`🇦🇷`,chile:`🇨🇱`,colombia:`🇨🇴`,peru:`🇵🇪`,venezuela:`🇻🇪`,egypt:`🇪🇬`,israel:`🇮🇱`,"saudi arabia":`🇸🇦`,iran:`🇮🇷`,iraq:`🇮🇶`,pakistan:`🇵🇰`,bangladesh:`🇧🇩`,thailand:`🇹🇭`,vietnam:`🇻🇳`,philippines:`🇵🇭`,indonesia:`🇮🇩`,malaysia:`🇲🇾`,singapore:`🇸🇬`,"new zealand":`🇳🇿`,ireland:`🇮🇪`,ukraine:`🇺🇦`,"czech republic":`🇨🇿`,hungary:`🇭🇺`,romania:`🇷🇴`,bulgaria:`🇧🇬`,croatia:`🇭🇷`,serbia:`🇷🇸`,slovenia:`🇸🇮`,slovakia:`🇸🇰`,estonia:`🇪🇪`,latvia:`🇱🇻`,lithuania:`🇱🇹`,iceland:`🇮🇸`,luxembourg:`🇱🇺`,malta:`🇲🇹`,cyprus:`🇨🇾`,albania:`🇦🇱`,"bosnia and herzegovina":`🇧🇦`,montenegro:`🇲🇪`,"north macedonia":`🇲🇰`,macedonia:`🇲🇰`,moldova:`🇲🇩`,belarus:`🇧🇾`,georgia:`🇬🇪`,armenia:`🇦🇲`,azerbaijan:`🇦🇿`,kazakhstan:`🇰🇿`,uzbekistan:`🇺🇿`,kyrgyzstan:`🇰🇬`,tajikistan:`🇹🇯`,turkmenistan:`🇹🇲`,afghanistan:`🇦🇫`,mongolia:`🇲🇳`,"north korea":`🇰🇵`,myanmar:`🇲🇲`,burma:`🇲🇲`,laos:`🇱🇦`,cambodia:`🇰🇭`,brunei:`🇧🇳`,"sri lanka":`🇱🇰`,maldives:`🇲🇻`,nepal:`🇳🇵`,bhutan:`🇧🇹`,oman:`🇴🇲`,uae:`🇦🇪`,"united arab emirates":`🇦🇪`,qatar:`🇶🇦`,bahrain:`🇧🇭`,kuwait:`🇰🇼`,jordan:`🇯🇴`,lebanon:`🇱🇧`,syria:`🇸🇾`,yemen:`🇾🇪`,libya:`🇱🇾`,tunisia:`🇹🇳`,algeria:`🇩🇿`,morocco:`🇲🇦`,sudan:`🇸🇩`,ethiopia:`🇪🇹`,kenya:`🇰🇪`,uganda:`🇺🇬`,tanzania:`🇹🇿`,rwanda:`🇷🇼`,burundi:`🇧🇮`,somalia:`🇸🇴`,djibouti:`🇩🇯`,eritrea:`🇪🇷`,ghana:`🇬🇭`,nigeria:`🇳🇬`,senegal:`🇸🇳`,mali:`🇲🇱`,"burkina faso":`🇧🇫`,niger:`🇳🇪`,chad:`🇹🇩`,cameroon:`🇨🇲`,"central african republic":`🇨🇫`,"democratic republic of congo":`🇨🇩`,congo:`🇨🇬`,gabon:`🇬🇦`,"equatorial guinea":`🇬🇶`,"sao tome and principe":`🇸🇹`,"cape verde":`🇨🇻`,guinea:`🇬🇳`,"guinea-bissau":`🇬🇼`,"sierra leone":`🇸🇱`,liberia:`🇱🇷`,"ivory coast":`🇨🇮`,"cote d'ivoire":`🇨🇮`,togo:`🇹🇬`,benin:`🇧🇯`,mauritania:`🇲🇷`,gambia:`🇬🇲`,botswana:`🇧🇼`,namibia:`🇳🇦`,zimbabwe:`🇿🇼`,zambia:`🇿🇲`,malawi:`🇲🇼`,mozambique:`🇲🇿`,madagascar:`🇲🇬`,mauritius:`🇲🇺`,seychelles:`🇸🇨`,comoros:`🇰🇲`,lesotho:`🇱🇸`,swaziland:`🇸🇿`,eswatini:`🇸🇿`,angola:`🇦🇴`,bermuda:`🇧🇲`,"cayman islands":`🇰🇾`,"british virgin islands":`🇻🇬`,"turks and caicos":`🇹🇨`,anguilla:`🇦🇮`,montserrat:`🇲🇸`,"falkland islands":`🇫🇰`,gibraltar:`🇬🇮`,jersey:`🇯🇪`,guernsey:`🇬🇬`,"isle of man":`🇮🇲`,"faroe islands":`🇫🇴`,greenland:`🇬🇱`,"french polynesia":`🇵🇫`,"new caledonia":`🇳🇨`,"wallis and futuna":`🇼🇫`,"french guiana":`🇬🇫`,martinique:`🇲🇶`,guadeloupe:`🇬🇵`,reunion:`🇷🇪`,mayotte:`🇾🇹`,"saint pierre and miquelon":`🇵🇲`,"puerto rico":`🇵🇷`,"us virgin islands":`🇻🇮`,"american samoa":`🇦🇸`,guam:`🇬🇺`,"northern mariana islands":`🇲🇵`,"united states minor outlying islands":`🇺🇲`,"cook islands":`🇨🇰`,niue:`🇳🇺`,tokelau:`🇹🇰`,"christmas island":`🇨🇽`,"cocos islands":`🇨🇨`,"norfolk island":`🇳🇫`,"hong kong":`🇭🇰`,macau:`🇲🇴`,macao:`🇲🇴`,taiwan:`🇹🇼`,"san marino":`🇸🇲`,vatican:`🇻🇦`,"vatican city":`🇻🇦`,liechtenstein:`🇱🇮`,monaco:`🇲🇨`,andorra:`🇦🇩`,jamaica:`🇯🇲`,cuba:`🇨🇺`,haiti:`🇭🇹`,"dominican republic":`🇩🇴`,bahamas:`🇧🇸`,barbados:`🇧🇧`,"trinidad and tobago":`🇹🇹`,"saint lucia":`🇱🇨`,"saint vincent and the grenadines":`🇻🇨`,grenada:`🇬🇩`,dominica:`🇩🇲`,"antigua and barbuda":`🇦🇬`,"saint kitts and nevis":`🇰🇳`,fiji:`🇫🇯`,"papua new guinea":`🇵🇬`,"solomon islands":`🇸🇧`,vanuatu:`🇻🇺`,samoa:`🇼🇸`,tonga:`🇹🇴`,kiribati:`🇰🇮`,tuvalu:`🇹🇻`,nauru:`🇳🇷`,palau:`🇵🇼`,"marshall islands":`🇲🇭`,micronesia:`🇫🇲`,uruguay:`🇺🇾`,paraguay:`🇵🇾`,bolivia:`🇧🇴`,ecuador:`🇪🇨`,guyana:`🇬🇾`,suriname:`🇸🇷`,guatemala:`🇬🇹`,belize:`🇧🇿`,honduras:`🇭🇳`,"el salvador":`🇸🇻`,nicaragua:`🇳🇮`,"costa rica":`🇨🇷`,panama:`🇵🇦`};function Gi(e,t){let n=[];for(let e=0;e<=t.length;e++)n[e]=[e];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++)t.charAt(r-1)===e.charAt(i-1)?n[r][i]=n[r-1][i-1]:n[r][i]=Math.min(n[r-1][i-1]+1,n[r][i-1]+1,n[r-1][i]+1);return n[t.length][e.length]}function Ki(e){return e.toLowerCase().trim().replace(/[^\w\s]/g,` `).replace(/\s+/g,` `).trim()}function qi(e){let t=Ki(e);if(Wi[t])return t;let n=null,r=1/0,i=Math.min(3,Math.floor(t.length*.3));for(let e of Object.keys(Wi)){let a=Gi(t,e),o=e.includes(t)||t.includes(e);(a<=i&&a<r||o&&a<r*1.5)&&(n=e,r=a)}return n}function Ji(e){try{let t=e.split(`,`).map(e=>e.trim());return t.length===0?null:t[t.length-1]||null}catch{return null}}function Yi(e){try{if(!e||typeof e!=`string`||e.trim()===``)return null;let t=Ji(e);return t?Xi(t):null}catch{return null}}function Xi(e){try{if(!e||typeof e!=`string`||e.trim()===``)return null;let t=qi(e);return t&&Wi[t]||null}catch{return null}}function Zi(e){try{let t=new URL(e);if(!t.hostname.includes(`linkedin.com`))return console.warn(`Provided URL is not a LinkedIn URL: ${e}`),``;let n=t.pathname;n.endsWith(`/`)&&(n=n.slice(0,-1));let r=n.split(`/`).filter(e=>e.length>0);return r.length>0&&r[r.length-1]||``}catch{return``}}const Qi={is_claim_successful:{label:`Claimed`,type:`boolean`,description:`Whether this row won the bucket claim (true → proceed) or the key was already taken (resolves no_result).`,jsonMeta:null,format:null},bucket_counter:{label:`Bucket counter`,type:`number`,description:`The number a counter bucket assigned to this row's key (stable across re-runs of the same key).`,jsonMeta:null,format:null},found_in_bucket:{label:`Found in bucket`,type:`boolean`,description:`Whether the row's key is present (and live) in the checked bucket.`,jsonMeta:null,format:null},company_description:{label:`Company description`,type:`string`,description:`A summary of the main business purpose and objectives.`,jsonMeta:null,format:`markdown`},cleaned_company_name:{label:`Cleaned company name`,type:`string`,description:`The standardized and cleaned version of the company name, ensuring consistency across different entries.`,jsonMeta:null,format:`text`},website_markdown:{label:`Scrape result - Markdown`,type:`string`,description:`Markdown-formatted scrape of a website.`,jsonMeta:null,format:`markdown`},mapped_links:{label:`Website internal links`,type:`json`,format:`json_list`,description:`A list of website links.`,jsonMeta:{zodSchema:Ii,exampleValue:Li}},website_html:{label:`Scrape result - HTML`,type:`string`,description:`HTML-formatted scrape of a website.`,jsonMeta:null,format:null},website_url:{label:`Website URL`,type:`string`,description:`Generic URL of a website.`,jsonMeta:null,format:`url`},scrape_list_response:{label:`URLs`,type:`json`,description:`List of URLs`,jsonMeta:{zodSchema:Mi,exampleValue:Ni},format:null},urls:{label:`URLs`,type:`json`,description:`List of URLs`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://pipe0.com`,`https://pipe0.com/resources/documentation`]},format:`json_list_string`},website_links:{label:`URLs`,type:`json`,description:`List of URLs scraped from a website`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://pipe0.com`,`https://pipe0.com/resources/documentation`]},format:`json_list_string`},clado_person_profile:{label:`Clado person profile`,type:`json`,description:`Fully enriched people profile`,jsonMeta:{zodSchema:Wt,exampleValue:Gt},format:`json_object`},company_industry:{label:`Company industry`,type:`string`,description:`The industry in which the company operates.`,jsonMeta:null,format:`text`},company_region:{label:`Company region`,type:`string`,description:`The region corresponding to the company's country.`,jsonMeta:null,format:`text`},location_hint:{label:`Location hint`,type:`string`,description:`An optional hint to help pinpoint a person's or company's location.`,jsonMeta:null,format:`text`},leadmagic_competitor_list:{label:`Competitor list`,type:`json`,description:`A list of the top competitors for a given company as provided by LeadMagic`,jsonMeta:{zodSchema:Yn,exampleValue:Xn},format:`json_list`},leadmagic_acquisition_history:{label:`Acquisition history`,type:`json`,description:`A list of acquisitions by a given company`,format:`json_list`,jsonMeta:{exampleValue:Qn,zodSchema:Zn}},leadmagic_company_news_list:{label:`Company news list`,type:`json`,description:`A list of company news`,format:`json_list`,jsonMeta:{exampleValue:er,zodSchema:$n}},estimated_revenue:{label:`Estimated Annual Revenue`,type:`string`,description:`The estimated annual revenue of the company.`,jsonMeta:null,format:`text`},funding_history:{label:`Funding history`,type:`json`,description:`List of corporate funding rounds.`,format:null,jsonMeta:{zodSchema:Sn,exampleValue:Cn}},funding_total_usd:{label:`Total funding (USD)`,type:`number`,description:`Amount of total known funding`,jsonMeta:null,format:`currency`},deal_name:{order:45,label:`Deal name`,type:`string`,description:`Name of the sales deal / opportunity.`,jsonMeta:null,format:`text`},deal_amount:{order:46,label:`Deal amount`,type:`number`,description:`Monetary value of the sales deal / opportunity.`,jsonMeta:null,format:`currency`},founded_year:{label:`Founding year`,type:`string`,description:`The year the company was founded.`,jsonMeta:null,format:`text`},technology_list:{type:`json`,label:`Technology list`,description:`A flat list of technologies used by a company`,jsonMeta:{zodSchema:Bt,exampleValue:Vt},format:`json_list`},spending_trend:{type:`number`,label:`Spending Trend`,description:`Technology spending trend over the last 2 years. Average deviation between measuring points in %.`,jsonMeta:null,format:`percent`},technology_match_builtwith:{type:`json`,label:`Builtwith technology response`,description:`A datastructure containing the technologies used by this company`,format:`json_object`,jsonMeta:{zodSchema:Ht,exampleValue:Ut}},number_of_social_followers:{label:`Follower count`,type:`number`,description:`Social followers (or zero if not found).`,jsonMeta:null,format:`int`},mobile:{label:`Mobile`,type:`string`,description:`Mobile telephone number of a person.`,jsonMeta:null,format:`phone`},phone:{label:`Phone`,type:`string`,description:`A generic field for phone numbers. Can be mobile or landline.`,jsonMeta:null,format:`phone`},landline:{label:`Landline`,type:`string`,description:`A landline phone number`,jsonMeta:null,format:`phone`},job_title:{label:`Job title`,type:`string`,description:`Current job title of a person`,jsonMeta:null,format:`text`},job_description:{label:`Job description`,type:`string`,description:`Description of current job`,jsonMeta:null,format:`text`},email:{order:30,label:`Email address`,type:`string`,description:`A union field that can contain both professional and personal email addresses.`,jsonMeta:null,format:`email`},personal_email:{label:`Personal email`,type:`string`,description:`The personal email address of a prospect.`,jsonMeta:null,format:`email`},alternate_personal_emails:{label:`Alternate personal email`,type:`json`,description:`The personal email addresses that are associated with a prospect but less likely to be the primary email address of a prospect.`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`john@pipe0.com`,`jane@pipe0.com`]},format:`json_list_string`},company_news_summary:{label:`Latest news`,type:`string`,description:`Latest company news.`,jsonMeta:null,format:`markdown`},work_email:{label:`Work email`,type:`string`,jsonMeta:null,description:`Email address of a person connection to their place of employment.`,format:`email`},headcount:{label:`Headcount`,type:`string`,jsonMeta:null,description:`Total number of people employed in a particular organization`,format:`text`},company_website_url:{order:43,label:`Company website URL`,type:`string`,description:`Website URL of a related company.`,jsonMeta:null,format:`website_url`},company_domain:{order:42,label:`Company domain`,type:`string`,description:`Bare domain of a related company. Example: stripe.com (no scheme, no path).`,jsonMeta:null,format:`text`},company_name:{order:41,label:`Company name`,type:`string`,description:`Name of a company.`,jsonMeta:null,format:`text`},clado_person_match:{label:`Clado person match`,description:`Object returned from a Clado people search.`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:Wt,exampleValue:Gt}},clado_person_match_v2:{label:`Clado person match`,description:`Object returned from a Clado people search.`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:rn,exampleValue:an}},icypeas_person_match:{label:`Icypeas person match`,description:`Object returned from a Icypeas people search`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:qn,exampleValue:Jn}},icypeas_company_match:{label:`Icypeas company match`,description:`Object returned from a Icypeas people search`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:Gn,exampleValue:Kn}},first_name:{order:20,label:`First name`,type:`string`,description:`First name of a person.`,jsonMeta:null,format:`text`},addressee_name:{label:`Addressee name`,type:`string`,description:`Recipient name in the format required by postal services.`,jsonMeta:null,format:`text`},avatar_url:{label:`Avatar URL`,type:`string`,description:`URL for profile picture`,jsonMeta:null,format:`url`},address_line_1:{label:`Address line 1`,type:`string`,description:`First line of an address (e.g. street address)`,jsonMeta:null,format:`address_line_1`},address_line_2:{label:`Address line 2`,type:`string`,description:`The formatted address of a company’s headquarters.`,jsonMeta:null,format:`text`},address_city:{label:`Address city`,type:`string`,description:`Name of a city as needed for an address.`,jsonMeta:null,format:`text`},address_country:{label:`Address country`,type:`string`,description:`Name of a country as needed for an address.`,jsonMeta:null,format:`text`},address_state:{label:`State`,type:`string`,description:`Name of a state.`,jsonMeta:null,format:`text`},zip_code:{label:`Zip code`,type:`string`,description:`A postal zip code. Usually a combination of numbers and letters.`,jsonMeta:null,format:`zip_code`},last_name:{order:21,label:`Last name`,type:`string`,description:`Last name of a person.`,jsonMeta:null,format:`text`},estimated_salary:{label:`Estimated salary`,type:`string`,description:`Estimated total salary in USD.`,jsonMeta:null,format:`text`},skills:{label:`Skills`,type:`string`,description:`List of professional skills`,jsonMeta:null,format:`text`},is_work_email:{label:`Is work email result`,type:`boolean`,description:`Check if a given email is a work email.`,jsonMeta:null,format:null},name:{order:22,label:`Full name`,type:`string`,description:`The full name of a person. Usually a combination of first and last name.`,jsonMeta:null,format:`text`},ip_address:{label:`IP address`,type:`string`,description:`IP Address of a person`,jsonMeta:null,format:`text`},is_email_valid:{label:`Email validation`,type:`boolean`,description:`Check if an email address is valid and can receive emails.`,jsonMeta:null,format:null},profile:{label:`Professional profile`,type:`json`,description:`A standardized format for returning LinkedIn profile data.`,format:null,jsonMeta:{zodSchema:Xr,exampleValue:Zr}},profile_url:{order:40,label:`LinkedIn profile URL`,type:`string`,format:`profile_url`,description:`A person's LinkedIn profile URL.`,jsonMeta:null},developer_profile_url:{label:`Developer profile URL`,type:`string`,format:`profile_url`,description:`A person's primary developer profile URL (e.g. GitHub).`,jsonMeta:null},alternative_developer_profile_urls:{label:`Alternative developer profile URLs`,type:`json`,format:`json_list_string`,description:`Additional developer profile URLs (GitHub, GitLab, etc.) discovered for the person.`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://github.com/mxschmitt`]}},profile_posts:{label:`Recrent linkedIn posts`,type:`json`,description:`List of recent LinkedIn posts in JSON format.`,format:`json_list`,jsonMeta:{zodSchema:r.array(Hi),exampleValue:Ui}},profile_headline:{label:`Profile headline`,type:`string`,format:`text`,description:`Professional profile headline`,jsonMeta:null},company_profile_url:{label:`Company LinkedIn profile URL`,type:`string`,format:`profile_url`,description:`Company LinkedIn URL.`,jsonMeta:null},resend_email_success:{label:`Resend mail success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of email sending action using Resend`},resend_contact_id:{label:`Resend contact id`,type:`string`,format:`text`,description:`Id of a single resend contact`,jsonMeta:null},lemlist_lead_id:{label:`lemlist lead id`,type:`string`,format:`text`,description:`Id of the lead created in a lemlist campaign.`,jsonMeta:null},lemlist_enrollment_result:{label:`lemlist enrollment`,type:`json`,format:`json_object`,description:`Leaner snake_case object describing a lead's enrollment into a lemlist campaign.`,jsonMeta:{zodSchema:tr,exampleValue:nr}},amplemarket_sequence_id:{label:`Amplemarket sequence id`,type:`string`,format:`text`,description:`Id of the Amplemarket sequence the lead was enrolled into.`,jsonMeta:null},sheet:{label:`Sheet name`,type:`string`,format:`text`,description:`Name of a pipe0 sheet`,jsonMeta:null},string_input:{label:`String input`,type:`string`,format:`text`,description:`Input field of type string`,jsonMeta:null},domain:{label:`Domain`,type:`string`,format:`text`,description:`A domain field.`,jsonMeta:null},url_input:{label:`URL input`,type:`string`,format:`url`,description:`Input field of type string and URL format`,jsonMeta:null},slugified:{label:`Slugified value`,type:`string`,format:`text`,description:`A value that has been stripped of characters not found in slugs.`,jsonMeta:null},http_response_status:{label:`HTTP response status`,type:`number`,format:`int`,description:`HTTP status code returned by the upstream endpoint.`,jsonMeta:null},http_response_body:{label:`HTTP response body`,type:`json`,format:`json_object`,description:`Parsed JSON body returned by the upstream endpoint.`,jsonMeta:null},http_response_headers:{label:`HTTP response headers`,type:`json`,format:`json_object`,description:`Response headers returned by the upstream endpoint as a flat key-value map.`,jsonMeta:null},luma_id:{label:`Luma ID`,type:`string`,format:`text`,description:`Unique identifier of the guest's event registration in Luma.`,jsonMeta:null},registered_at:{label:`Registered at`,type:`string`,format:`text`,description:`ISO timestamp of when the guest registered for the event.`,jsonMeta:null},luma_event_guest_match:{label:`Event guest match`,type:`json`,format:`json_object`,description:`Full event guest object returned by Luma.`,jsonMeta:{zodSchema:lr,exampleValue:ur}},sheet_record_id:{label:`Record ID`,type:`string`,format:`text`,description:`ID of sheet record`,jsonMeta:null},sheet_record_ids:{label:`Record IDs`,type:`json`,format:`json_list_string`,description:`IDs sheet records`,jsonMeta:null},sheet_rows_found_count:{label:`Rows found`,type:`number`,format:`int`,jsonMeta:null,description:`Total number of matching rows in the target sheet (not capped by the row limit)`},sheet_found_rows:{label:`Matching rows`,type:`json`,format:`json_list`,jsonMeta:{zodSchema:Pi,exampleValue:Fi},description:`The matching rows of the target sheet — each row is its record id plus one entry per column`},sheet_found_row_ids:{label:`Matching row IDs`,type:`json`,format:`json_list_string`,jsonMeta:null,description:`Stable record IDs of the matching rows in the target sheet`},db_rows_found_count:{label:`Rows found`,type:`number`,format:`int`,jsonMeta:null,description:`Total number of rows matched by the query (not capped by the row limit)`},db_found_rows:{label:`Matching rows`,type:`json`,format:`json_list`,jsonMeta:{zodSchema:vn,exampleValue:yn},description:`The rows returned by the query, keyed by the result set's column names`},gmail_email_success:{label:`Gmail e-mail success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of email sending action using Gmail`},slack_message_success:{label:`Slack message success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of sending a message using Slack`},email_body:{label:`A markdown email`,type:`string`,format:`markdown`,jsonMeta:null,description:`The test of an email formatted as markdown`},message:{label:`Message`,type:`string`,format:`markdown`,jsonMeta:null,description:`A markdown message that be send to any chat app.`},email_subject:{label:`Subject Line`,type:`string`,format:`text`,jsonMeta:null,description:`Subject line for email`},template_output:{label:`Template Output`,type:`string`,format:`text`,jsonMeta:null,description:`Template value where the tags are replaces with real values`},email_validation_status:{label:`Validation status`,type:`string`,format:`text`,jsonMeta:null,description:`Email validation status. Allowed values are: 'valid', 'invalid', 'catch_all', 'unknown'`},million_validation_match:{label:`Million Verifier match`,type:`json`,format:`json_object`,description:`Email validation status. Allowed values are: 'valid', 'invalid', 'catch_all', 'unknown'`,jsonMeta:{zodSchema:dr,exampleValue:fr}},zerobounce_validation_status:{label:`ZeroBounce Validation Status`,type:`string`,format:`text`,jsonMeta:null,description:`Validation status as returned from ZeroBounce single validation`},zerobounce_validation_match:{label:`ZeroBounce Validation Match`,type:`json`,format:`json_object`,description:`Full validation object as returned by ZeroBounce`,jsonMeta:{zodSchema:Bi,exampleValue:Vi}},input_objects:{label:`Input objects`,type:`json`,format:`json_list`,description:`List of unstructured input objects`,jsonMeta:null},created_sheet:{label:`Created sheet`,type:`string`,format:null,description:`Reference to a created sheet`,jsonMeta:null},merge_result:{label:`Merge Result`,type:`unknown`,format:null,description:`Full validation object as returned by ZeroBounce`,jsonMeta:null},firecrawl_extract_result:{label:`Extract Result`,type:`json`,format:null,description:`Result of a firecrawl extract operation`,jsonMeta:null},parallel_extract_result:{label:`Extract Result`,type:`json`,format:`json_list`,description:`Flat list of Parallel Extract results (url, title, publish_date, excerpts).`,jsonMeta:{zodSchema:hr,exampleValue:gr}},exa_match_evaluation:{label:`Exa Match Evaluation`,type:`json`,format:`json_object`,description:`Exa search result.`,jsonMeta:{zodSchema:bn,exampleValue:xn}},companyenrich_match:{label:`Company match`,type:`json`,format:`json_object`,description:`CompanyEnrich response object`,jsonMeta:{zodSchema:on,exampleValue:sn}},crustdata_person_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Crustdata company match object`,jsonMeta:{zodSchema:mn,exampleValue:hn}},person_profile_match:{label:`Person profile`,type:`json`,format:`json_object`,description:`Crustdata person basic profile data`,jsonMeta:{zodSchema:Kr,exampleValue:qr}},post_match:{label:`LinkedIn post`,type:`json`,format:`json_object`,description:`A detailed representation of a LinkedIn post`,jsonMeta:{zodSchema:Jr,exampleValue:Yr}},parallel_person_entity_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Parallel person match object parsed from the entity description`,jsonMeta:{zodSchema:_r,exampleValue:vr}},parallel_company_entity_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Parallel company match object parsed from the entity description`,jsonMeta:{zodSchema:pr,exampleValue:mr}},crustdata_profile_match_score:{label:`Match score`,type:`number`,format:`decimal`,description:`A number between 1 and 0 indicating the confidence that the profile belongs to the input email address.`,jsonMeta:null},crustdata_company_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Crustdata company match object`,jsonMeta:{zodSchema:un,exampleValue:dn}},crustdata_companyenrich_match:{label:`Company enrichment match`,type:`json`,format:`json_object`,description:`Crustdata company enrichment match.`,jsonMeta:{zodSchema:fn,exampleValue:pn}},crustdata_company_identity_matches:{label:`Company identity matches`,type:`json`,format:`json_list`,description:`List of Crustdata company candidates matched by name or domain.`,jsonMeta:{zodSchema:cn,exampleValue:ln}},post_list_string:{label:`Post list`,type:`json`,format:`json_list_string`,description:`LinkedIn post list`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`Y Combinator's most popular startups.
61
+ Read our full breakdown from the link in the comments 👇`,actor_name:`Crustdata`,hyperlinks:{company_linkedin_urls:[],person_linkedin_urls:[`https://www.linkedin.com/in/ACoAAAKoldoBqSsiXY_DHsXdSk1slibabeTvDDY`],other_urls:[]},date_posted:`2024-09-03`,total_reactions:37,total_comments:7,reactions_by_type:{LIKE:28,EMPATHY:4,PRAISE:4,INTEREST:1},num_shares:5,is_repost_without_thoughts:!1,reactors:[]}],vn=r.array(r.record(r.string(),r.unknown())),yn=[{id:42,email:`jane@acme.com`,plan:`pro`,created_at:`2026-01-15T09:30:00Z`}],bn=r.object({criterion:r.string(),reasoning:r.string(),satisfied:r.enum([`yes`,`no`,`partial`]),references:r.array(r.object({title:r.string(),snippet:r.string(),url:r.url()}))}),xn={criterion:`Company is recognized as a leading AI research lab (e.g., through significant publications, awards, or industry recognition) and has a primary research focus on large language models`,reasoning:`MIT is recognized as a leading AI research lab, particularly through the MIT-IBM Watson AI Lab. They have significant publications and research focused on large language models, as evidenced by news articles and publications from the Media Lab. This satisfies the criterion.`,satisfied:`yes`,references:[{title:`How to build AI scaling laws for efficient LLM training and budget ...`,snippet:`MIT-IBM Watson AI Lab researchers have developed a universal guide for estimating how large language models will perform based on smaller models ...`,url:`https://news.mit.edu/2025/how-build-ai-scaling-laws-efficient-llm-training-budget-maximization-0916`},{title:`Can large language models figure out the real world? | MIT News`,snippet:`Researchers at MIT and Harvard University have devised a new approach to assessing how deeply predictive AI systems understand their subject ...`,url:`https://news.mit.edu/2025/can-large-language-models-figure-out-real-world-0825`},{title:`Like human brains, large language models reason about diverse ...`,snippet:`MIT researchers find large language models process diverse types of data, like different languages, audio inputs, images, etc., similarly to ...`,url:`https://news.mit.edu/2025/large-language-models-reason-about-diverse-data-general-way-0219`},{title:`MIT 6.S191 (Liquid AI): Large Language Models - YouTube`,snippet:`... lab materials: http://introtodeeplearning.com​​ Subscribe to stay up to date with new deep learning lectures at MIT, or follow us ...`,url:`https://www.youtube.com/watch?v=_HfdncCbMOE&pp=0gcJCfwAo7VqN5tD`},{title:`Latent Lab: Large Language Models for Knowledge Exploration`,snippet:`This paper investigates the potential of AI models, particularly large language models (LLMs), to support knowledge exploration and augment human creativity ...`,url:`https://www.media.mit.edu/publications/latent-lab-large-language-models-for-knowledge-exploration`},{title:`MIT | LinkedIn`,snippet:`MIT is a Higher Education company (Nonprofit) with 90 (10001+ category) employees, founded in 1861. The MIT community is driven by a shared purpose: to make a better world through education, research, and innovation. We are fun and quirky, elite but ...`,url:`https://www.linkedin.com/company/school-mit`},{title:`Massachusetts Institute of Technology (MIT)`,snippet:`MIT is a Higher Education company (Nonprofit) with 90 (10001+ category) employees, founded in 1861. The MIT community is driven by a shared purpose: to make a better world through education, research, and innovation. We are fun and quirky, elite but ...`,url:`https://mit.edu`}]},Sn=r.array(r.object({round:r.string().nullable(),date:r.string().nullable(),amount:r.string().nullable(),investors:r.array(r.object({name:r.string()})).nullable()})),Cn=[{round:`Series A`,date:`2021-05-01`,amount:`$250,000,000`,investors:[{name:`Franklin Templeton`},{name:`Coatue`},{name:`Sequoia`},{name:`Thrive Capital`},{name:`Tiger Global`}]},{round:`Series B`,date:`2023-05-01`,amount:`$250,000,000`,investors:[{name:`Franklin Templeton`},{name:`Coatue`},{name:`Sequoia`},{name:`Thrive Capital`},{name:`Tiger Global`}]}],wn=[`email`,`firstname`,`lastname`,`phone`,`mobilephone`,`jobtitle`,`company`,`lifecyclestage`,`hs_lead_status`,`hubspot_owner_id`,`city`,`country`,`website`,`createdate`,`lastmodifieddate`],Tn=[`name`,`domain`,`website`,`industry`,`numberofemployees`,`annualrevenue`,`phone`,`city`,`country`,`lifecyclestage`,`hubspot_owner_id`,`description`,`createdate`,`hs_lastmodifieddate`],En=[`dealname`,`amount`,`pipeline`,`dealstage`,`closedate`,`hs_is_closed`,`hs_is_closed_won`,`dealtype`,`hubspot_owner_id`,`createdate`,`hs_lastmodifieddate`],Dn=e=>Object.fromEntries(e.map(e=>[e,r.string().nullable()])),On=()=>r.record(r.string(),r.string().nullable()),kn=r.object({id:r.string(),url:r.string().nullable(),matched_by:r.enum([`email`,`additional_email`]).optional(),...Dn(wn),custom_properties:On()}),An={id:`512001`,url:`https://app.hubspot.com/contacts/1234567/record/0-1/512001`,matched_by:`email`,email:`jane@acme.com`,firstname:`Jane`,lastname:`Doe`,phone:null,mobilephone:null,jobtitle:`Head of Data`,company:`Acme Inc.`,lifecyclestage:`customer`,hs_lead_status:null,hubspot_owner_id:`26501`,city:`Berlin`,country:`Germany`,website:`https://acme.com`,createdate:`2025-11-02T09:12:44.107Z`,lastmodifieddate:`2026-05-14T16:03:01.550Z`,custom_properties:{csm_tier:`enterprise`}},jn=r.object({id:r.string(),url:r.string().nullable(),...Dn(Tn),custom_properties:On()}),Mn={id:`9034001`,url:`https://app.hubspot.com/contacts/1234567/record/0-2/9034001`,name:`Acme Inc.`,domain:`acme.com`,website:`https://acme.com`,industry:`COMPUTER_SOFTWARE`,numberofemployees:`230`,annualrevenue:`42000000`,phone:null,city:`Berlin`,country:`Germany`,lifecyclestage:`customer`,hubspot_owner_id:`26501`,description:null,createdate:`2024-03-18T11:40:02.331Z`,hs_lastmodifieddate:`2026-05-14T16:03:01.550Z`,custom_properties:{}},Nn=r.object({id:r.string(),url:r.string().nullable(),...Dn(En),custom_properties:On()}),Pn={id:`7710001`,url:`https://app.hubspot.com/contacts/1234567/record/0-3/7710001`,dealname:`Acme — Enterprise plan`,amount:`48000`,pipeline:`default`,dealstage:`qualifiedtobuy`,closedate:`2026-09-30T00:00:00Z`,hs_is_closed:`false`,hs_is_closed_won:`false`,dealtype:`newbusiness`,hubspot_owner_id:`26501`,createdate:`2026-04-02T08:15:27.910Z`,hs_lastmodifieddate:`2026-06-20T10:44:09.184Z`,custom_properties:{}},Fn=r.object({id:r.string(),email:r.string().nullable(),first_name:r.string().nullable(),last_name:r.string().nullable(),archived:r.boolean(),teams:r.array(r.object({id:r.string(),name:r.string(),primary:r.boolean()}))}),In={id:`26501`,email:`sam@acme.com`,first_name:`Sam`,last_name:`Seller`,archived:!1,teams:[{id:`1`,name:`Mid-market`,primary:!0}]},Ln=r.array(jn.extend({matched_by:r.enum([`domain`,`additional_domain`])})),Rn=[{...Mn,matched_by:`domain`}],zn=r.array(Nn),Bn=[Pn],Vn=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),updated_properties:r.array(r.string())}),Hn={id:`512001`,url:`https://app.hubspot.com/contacts/1234567/record/0-1/512001`,object_type:`0-1`,updated_properties:[`jobtitle`,`phone`]},Un=r.array(r.object({id:r.string(),url:r.string().nullable(),association_labels:r.array(r.string()),properties:On()})),Wn=[{id:`8271`,url:`https://app.hubspot.com/contacts/1234567/record/2-3502412/8271`,association_labels:[`Primary`],properties:{domain:`acme.com`,is_primary:`true`}}],Gn=r.object({id:r.string(),url:r.string().nullable(),type:r.enum([`note`,`task`,`call`,`email`,`meeting`]),record_id:r.string()}),Kn={id:`48200001234`,url:`https://app.hubspot.com/contacts/1234567/record/0-27/48200001234`,type:`task`,record_id:`512001`},qn=r.object({name:r.string().describe(`Company name`),lid:r.string().nullable().optional().describe(`LinkedIn ID`),urn:r.string().nullable().optional().describe(`Uniform Resource Name identifier`),type:r.string().nullable().optional().describe(`Type of company`),industry:r.string().nullable().optional().describe(`Industry sector`),location:r.string().nullable().optional().describe(`Company location`),numberOfEmployees:r.number().describe(`Number of employees`),website:r.string().nullable().optional().describe(`Company website URL`),url:r.string().nullable().optional().describe(`General company URL`),description:r.string().nullable().optional().describe(`Company description`),specialties:r.array(r.string()).describe(`List of company specialties`),employeeGrowth:r.array(r.unknown()).describe(`Employee growth data`)}),Jn={name:`Acme Innovations Inc.`,lid:`12345`,urn:`urn:li:company:12345`,type:`Private`,industry:`Information Technology`,location:`Berlin, Germany`,numberOfEmployees:250,website:`https://www.acme-innovations.com`,url:`https://linkedin.com/company/acme-innovations`,description:`Acme Innovations is a leader in enterprise software solutions, specializing in cloud-based tools for modern businesses.`,specialties:[`Cloud Computing`,`Machine Learning`,`Cybersecurity`],employeeGrowth:[]},Yn=r.object({firstname:r.string().nullable().optional().describe(`The person's first name.`),lastname:r.string().nullable().optional().describe(`The person's last name.`),headline:r.string().nullable().optional().describe(`A short professional headline.`),description:r.string().nullable().optional().describe(`A summary or description of the person.`),profileUrl:r.string().nullable().optional().describe(`URL to the person's profile.`),lastJobTitle:r.string().nullable().optional().describe(`Title of the most recent job.`),lastJobDescription:r.string().nullable().optional().describe(`Description of the most recent job.`),lastJobStartDate:r.string().nullable().optional().describe(`Start date of the most recent job.`),address:r.string().nullable().optional().describe(`The person's address.`),lastCompanyName:r.string().nullable().optional().describe(`Name of the most recent company.`),lastCompanyUrn:r.string().nullable().optional().describe(`URN (unique resource name) of the most recent company.`),lastCompanyUrl:r.string().nullable().optional().describe(`URL of the most recent company.`),lastCompanyWebsite:r.string().nullable().optional().describe(`Website of the most recent company.`),lastCompanyDescription:r.string().nullable().optional().describe(`Description of the most recent company.`),lastCompanySize:r.number().nullable().optional().describe(`Size of the most recent company.`),lastCompanyIndustry:r.string().nullable().optional().describe(`Industry of the most recent company.`),lastCompanyAddress:r.string().nullable().optional().describe(`Address of the most recent company.`)}),Xn={firstname:`Jane`,lastname:`Doe`,headline:`Software Engineer at Sample`,description:`Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?`,profileUrl:`https://www.linkedin.com/in/mayuri2307`,lastJobTitle:`Software Engineer`,lastJobDescription:``,lastJobStartDate:`06-2024`,address:``,lastCompanyName:`Google`,lastCompanyUrn:`urn:li:fs_xxxxCompany:1111`,lastCompanyUrl:`https://www.linkedin.com/company/sample/`,lastCompanyWebsite:`https://sample.com`,lastCompanyDescription:`Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`,lastCompanySize:183446,lastCompanyIndustry:`Software Development`,lastCompanyAddress:`Mountain View, California, United States`},Zn=r.array(r.object({company_name:r.string().nullable(),revenue:r.string().nullable(),headquarters_region:r.string().nullable(),company_website_url:r.url().nullable(),company_type:r.string().nullable()})),Qn=[{company_name:`Chorus`,revenue:`$21M`,headquarters_region:`San Francisco, California, USA`,company_type:`private`,company_website_url:`https://www.chorus.ai`}],$n=r.array(r.object({company_name:r.string().nullable(),date:r.string().nullable(),company_description:r.string(),source_url:r.url().nullable()})),er=[{company_name:`Vayo`,date:`2020-09-01`,company_description:`Vayo is a SaaS-based firm that analyzes, integrates and converts customer data into actionable insights for business`,source_url:`https://techcrunch.com/2020/09/01/fresh-off-200m-series-d-gong-acquires-early-stage-startup-vayo`}],tr=r.array(r.object({title:r.string().nullable(),outlet_name:r.string().nullable(),date:r.string().nullable()})),nr=[{title:`Gong: Gong Named to the Forbes Cloud 100 for the Fifth Consecutive Year`,outlet_name:`Martech Cube`,date:`2024-08-07`}],rr=r.object({lead_id:r.string(),contact_id:r.string().nullable().optional(),campaign_id:r.string(),campaign_name:r.string().nullable().optional(),is_paused:r.boolean().nullable().optional(),variables_set:r.number().int().nullable().optional()}),ir={lead_id:`lea_fiDpiGV585wy3Oii2`,contact_id:`ctc_xW8Ou6C03Csv8vatp`,campaign_id:`cam_bSn8EORHQxbWPjHvu`,campaign_name:`Q3 Outbound`,is_paused:!1},ar=r.object({r:r.number().int().min(0).max(255),g:r.number().int().min(0).max(255),b:r.number().int().min(0).max(255),hex:r.string().regex(/^#[0-9a-f]{6}$/i)}),or=r.object({facebook:r.url().optional(),github:r.url().optional(),instagram:r.url().optional(),linkedin:r.url().optional(),pinterest:r.url().optional(),reddit:r.url().optional(),snapchat:r.url().optional(),telegram:r.url().optional(),tumblr:r.url().optional(),twitter:r.url().optional(),wechat:r.url().optional(),whatsapp:r.url().optional(),youtube:r.url().optional()}).optional(),sr=r.object({name:r.string(),domain:r.string(),description:r.string(),indexed_at:r.iso.datetime(),socials:or,logo:r.url(),blurhash:r.string(),colors:r.array(ar)}),cr={name:`sweetgreen`,domain:`sweetgreen.com`,description:`Simple, seasonal, healthy salads and grain bowls made in-house from scratch, using whole produce delivered that morning.`,indexed_at:`2025-03-10T11:36:23.885238001Z`,socials:{facebook:`http://facebook.com/sweetgreen`,instagram:`https://www.instagram.com/sweetgreen/`,twitter:`https://x.com/sweetgreen`,linkedin:`https://linkedin.com/company/acmeinc`,pinterest:`https://pinterest.com/`,reddit:`https://reddit.com`},logo:`https://img.logo.dev/sweetgreen.com?token=YOUR_TOKEN_HERE`,blurhash:`UJPanPxr?Vj[oxazj@od_FWDDoodxrodagWD`,colors:[{r:228,g:255,b:85,hex:`#e4ff55`},{r:10,g:75,b:43,hex:`#0a4b2b`},{r:125,g:173,b:80,hex:`#7dad50`}]},lr=r.object({label:r.string().nullable().optional(),question_id:r.string().nullable().optional(),question_type:r.string().nullable().optional(),value:r.unknown().nullable().optional(),answer:r.unknown().nullable().optional(),answer_company:r.string().nullable().optional(),answer_job_title:r.string().nullable().optional()}),ur=r.object({id:r.string().nullable().optional(),name:r.string().nullable().optional(),amount:r.number().nullable().optional(),amount_discount:r.number().nullable().optional(),amount_tax:r.number().nullable().optional(),currency:r.string().nullable().optional(),checked_in_at:r.string().nullable().optional(),event_ticket_type_id:r.string().nullable().optional(),is_captured:r.boolean().nullable().optional()}),dr=r.object({id:r.string().nullable().optional(),user_id:r.string().nullable().optional(),user_email:r.string().nullable().optional(),user_name:r.string().nullable().optional(),user_first_name:r.string().nullable().optional(),user_last_name:r.string().nullable().optional(),approval_status:r.string().nullable().optional(),check_in_qr_code:r.string().nullable().optional(),eth_address:r.string().nullable().optional(),solana_address:r.string().nullable().optional(),phone_number:r.string().nullable().optional(),utm_source:r.string().nullable().optional(),invited_at:r.string().nullable().optional(),joined_at:r.string().nullable().optional(),registered_at:r.string().nullable().optional(),registration_answers:r.array(lr).nullable().optional(),event_tickets:r.array(ur).nullable().optional()}),fr={id:`guest-evt-abc123`,user_id:`usr-9f8e7d`,user_email:`ada.lovelace@example.com`,user_name:`Ada Lovelace`,user_first_name:`Ada`,user_last_name:`Lovelace`,approval_status:`approved`,check_in_qr_code:`QR-1A2B3C`,eth_address:null,solana_address:null,phone_number:`+1 555 0100`,utm_source:`newsletter`,invited_at:`2026-05-01T12:00:00.000Z`,joined_at:`2026-05-02T09:30:00.000Z`,registered_at:`2026-05-02T09:31:42.000Z`,registration_answers:[{label:`Company`,question_id:`q-company`,question_type:`company`,value:{company:`Analytical Engines Ltd`,job_title:`Founder`},answer:`Analytical Engines Ltd`,answer_company:`Analytical Engines Ltd`,answer_job_title:`Founder`}],event_tickets:[{id:`ticket-001`,name:`General Admission`,amount:0,amount_discount:0,amount_tax:0,currency:`usd`,checked_in_at:null,event_ticket_type_id:`tt-ga`,is_captured:!0}]},pr=r.object({email:r.string(),quality:r.enum([``,`good`,`bod`,`risky`]),result:r.enum([`ok`,`catch_all`,`unknown`,`error`,`disposable`,`invalid`]),resultcode:r.int(),subresult:r.string(),free:r.boolean(),role:r.boolean(),didyoumean:r.string(),error:r.string().nullable().optional()}),mr={email:`bademail@gmal.com`,quality:`good`,result:`invalid`,resultcode:6,subresult:`unknown`,free:!1,role:!1,didyoumean:`bademail@gmail.com`,error:``},hr=r.object({sector:r.string().nullable().optional(),subsector:r.string().nullable().optional(),country:r.string().nullable().optional(),state:r.string().nullable().optional(),city:r.string().nullable().optional(),founded_year:r.number().int().nonnegative().nullable().optional(),stage:r.string().nullable().optional(),special_flags:r.array(r.string()).nullable().optional()}),gr={sector:`Auto Tech`,subsector:`Auto IT`,country:`Germany`,state:`Baden-wurttemberg`,city:`Schwenningen`,founded_year:2018,stage:`Acquired`,special_flags:[`Tech`,`Enterprise`,`Software`]},_r=r.array(r.object({url:r.string(),title:r.string().nullable(),publish_date:r.string().nullable(),excerpts:r.array(r.string())})),vr=[{url:`https://www.un.org/en/about-us/history-of-the-un`,title:`History of the United Nations | United Nations`,publish_date:`2001-01-01`,excerpts:[`As World War II was about to end in 1945, nations were in ruins, and the world wanted peace. Representatives of 50 countries gathered at the United Nations Conference on International Organization in San Francisco, California from 25 April to 26 June 1945.`]}],yr=r.object({current_company:r.string().nullable().optional(),headline:r.string().nullable().optional(),connection_count:r.number().int().nonnegative().nullable().optional(),follower_count:r.number().int().nonnegative().nullable().optional(),experience_raw:r.string().nullable().optional()}),br={current_company:`On`,headline:`Engineering leadership`,connection_count:2396,follower_count:2419,experience_raw:`On 2025-03-01 Head of Engineering Google 2019-04-01 2025-02-01 Staff Software Engineer`};function xr(){return`https://i.pravatar.cc/300?u=${crypto.randomUUID()}`}function Sr(e,{isNullEmpty:t}={isNullEmpty:!1}){if(e===null)return!!t;if(e==null||typeof e==`string`&&e.trim()===``||Array.isArray(e)&&e.length===0)return!0;if(typeof e==`object`){for(let n in e)if(Object.hasOwn(e,n)&&!Sr(e[n],{isNullEmpty:t}))return!1;return!0}return!1}function Cr(e){return e.split(`@`)[0]}function wr(e,t){if(t.length===0)throw Error(`pickStable: cannot pick from an empty array`);let n=5381;for(let t=0;t<e.length;t++)n=(n<<5)+n+e.charCodeAt(t)>>>0;return t[n%t.length]}const Tr=[`🧑🏽‍💻`],Er=[`🧑‍💼`],Dr=[`👷`],Or=[`c_suite`,`leadership`,`manager`,`senior_ic`,`ic`,`frontline`,`junior`,`unknown`],kr=r.enum(Or),Ar={c_suite:`👑`,leadership:`⭐️`,manager:`🧑‍✈️`,senior_ic:Tr,ic:Er,frontline:Dr,junior:`🐥`,unknown:`🫥`},jr=`product owner.process owner.scrum master.chief of staff.business partner.hr business partner.human resources business partner.people partner.channel partner.finance business partner.account executive.assistant professor.staff accountant.staff nurse.staff writer.lead generation.sales lead.case manager.care manager.police officer.patrol officer.correctional officer.loan officer.program officer.compliance officer.foreign service officer.research associate.sales associate.marketing associate`.split(`.`),Mr=[`associate professor`,`senior associate`,`of counsel`,`senior counsel`,`special counsel`,`nurse practitioner`,`charge nurse`,`attending physician`,`chief resident`,`senior resident`,`chief petty officer`,`founding engineer`,`founding designer`],Nr=[`research fellow`,`teaching fellow`,`postdoctoral fellow`,`postdoc`,`research assistant`,`teaching assistant`,`medical assistant`,`dental assistant`,`resident physician`,`medical resident`],Pr=[`ceo`,`cto`,`cfo`,`coo`,`cmo`,`cio`,`ciso`,`cpo`,`cdo`,`cro`,`chro`,`cco`,`clo`,`cao`,`cxo`],Fr=`founder.co founder.cofounder.proprietor.chairman.chairwoman.chairperson.managing partner.general partner.equity partner.founding partner.managing director.managing member.general counsel.executive director.managing broker.principal broker.designated broker.superintendent.chancellor.headmaster.headmistress.head teacher.head of school.school principal.executive chef.franchisee.sheriff.warden`.split(`.`),Ir=[`vp`,`svp`,`evp`,`vice president`,`director`,`head of`,`dean`,`provost`,`principal investigator`,`medical director`,`director of nursing`,`general manager`,`district manager`,`regional manager`,`area manager`,`plant manager`,`head chef`,`chef de cuisine`,`vice principal`,`assistant principal`,`colonel`,`commander`,`captain`],Lr=[`junior`,`jr`,`jnr`,`intern`,`internship`,`trainee`,`apprentice`,`graduate`,`grad`,`entry`,`entry level`,`student`,`working student`,`cadet`,`recruit`,`probationary`,`extern`],Rr=[`senior`,`sr`,`snr`,`staff`,`principal`,`lead`,`distinguished`,`fellow`,`architect`,`professor`,`attending`,`journeyman`,`master electrician`,`master plumber`,`master carpenter`,`master mechanic`,`master stylist`,`master barber`],zr=[`manager`,`mgr`],Br=[`supervisor`,`foreman`,`forewoman`,`foreperson`,`sergeant`,`team leader`],Vr=`account.accounts.key account.project.projects.special projects.special project.initiative.initiatives.strategic initiatives.program.programs.product.products.portfolio.portfolios.people.talent.talent acquisition.recruiting.recruitment.community.brand.brands.social media.social.partnership.partnerships.alliance.alliances.vendor.vendors.supplier.suppliers.office.category.categories.channel.channels.content.campaign.campaigns.relationship.relationships.territory.territories.customer success.success.implementation.onboarding.delivery.deployment.release.engagement.growth.seo.sem.ppc.performance.demand generation.demand gen.digital.email.events.event.webinar.procurement.sourcing.logistics.supply chain.inventory.facilities.fleet.risk.compliance.contract.contracts.knowledge.localization.product marketing.media.paid.business development.go to market.gtm.data.analytics.insights.research`.split(`.`),Hr=`engineer.developer.programmer.sysadmin.administrator.technician.technologist.designer.researcher.analyst.scientist.statistician.consultant.specialist.coordinator.representative.strategist.marketer.copywriter.accountant.bookkeeper.auditor.recruiter.sourcer.paralegal.attorney.lawyer.solicitor.counsel.underwriter.actuary.adjuster.agent.broker.realtor.appraiser.planner.buyer.trader.advisor.adviser.writer.editor.journalist.sdr.bdr.csm.tam.nurse.physician.surgeon.pharmacist.dentist.therapist.dietitian.paramedic.veterinarian.optometrist.psychologist.psychiatrist.hygienist.teacher.educator.instructor.lecturer.tutor.officer`.split(`.`),Ur=[`electrician`,`plumber`,`carpenter`,`welder`,`machinist`,`mechanic`,`millwright`,`pipefitter`,`mason`,`roofer`,`operator`,`laborer`,`labourer`,`driver`,`warehouse`,`stylist`,`barber`,`cook`,`server`,`bartender`,`barista`,`cashier`,`clerk`],Wr=[`associate`,`assistant`,`aide`,`helper`,`resident`,`commis`];function Gr(e){let t=t=>e.includes(` ${t} `),n=e=>e.some(t);if(n(jr))return`ic`;if(n(Mr))return`senior_ic`;if(n(Nr))return`junior`;if(n(Pr)||t(`chief`)||n(Fr)||t(`owner`)||t(`president`)&&!t(`vice president`)||t(`partner`))return`c_suite`;if(n(Ir))return`leadership`;if(n(Lr))return`junior`;let r=n(Rr);return n(Br)?`manager`:n(zr)?n(Vr)?r?`senior_ic`:`ic`:`manager`:n(Ur)?`frontline`:r?`senior_ic`:n(Hr)?`ic`:n(Wr)?`junior`:`unknown`}function Kr(e){return e?Gr(` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `):`unknown`}function qr(e){let t=Ar[Kr(e)];return typeof t==`string`?t:wr(` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `,t)}const Jr=r.object({name:r.string().nullable().describe(`The full name of the profile owner.`),headline:r.string().nullable().describe(`The current headline/tagline of the profile owner.`),profile_url:r.string().nullable().describe(`The URL of the LinkedIn profile.`),profile_picture_url:r.string().nullable().describe(`Url of profile picture`),highest_current_seniority_level:r.enum(Or).nullable().describe(`The highest seniority bucket across the person's current roles. Uses the same taxonomy as the job-title seniority emoji (see getSeniorityEmojiFromTitle). Null if not available.`),social_handles_linkedin:r.array(r.string()).nullable(),social_handles_github:r.array(r.string()).nullable(),languages:r.array(r.object({language:r.string().describe(`The name of the language`),level:r.string().nullable().describe(`Level of proficiency`)}).describe(`Language entry object`)).nullable().describe(`A list of languages spoken by the profile owner, with proficiency levels.`),skills:r.array(r.object({name:r.string().describe(`The name of the skill.`),level:r.enum([`beginner`,`intermediate`,`advanced`]).nullable().describe(`The proficiency level of the skill.`)}).describe(`Skill entry object`)).nullable().describe(`A list of skills listed on the profile, with optional proficiency levels.`),connections_count:r.number().int().nullable().describe(`The number of connections the profile has. Null if not available or visible.`),current_location_city:r.string().nullable().describe(`The city of the profile owner's primary location.`),current_location_state:r.string().nullable().describe(`The state/region of the profile owner's primary location.`),current_location_country:r.string().nullable().describe(`The country of the profile owner's primary location.`),about:r.string().nullable().describe(`The 'About' section content from the profile. Null if empty.`),employment_history:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),is_current_employer:r.boolean().nullable().describe(`Does this person currently work at this company`),is_primary_current_employer:r.boolean().nullable().describe(`Is this the person's primary current employer`),seniority_level:r.enum(Or).nullable().describe(`The seniority bucket inferred from the job title. Uses the same taxonomy as the job-title seniority emoji (see getSeniorityEmojiFromTitle). Null if not available.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The employment type (e.g., 'Full-time', 'Contract', 'Internship'). Null if not available.`),company_domain:r.string().nullable().describe(`The domain of the company.`),company_website_url:r.url().nullable().describe(`The website URL of the company.`),company_profile_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount_bracket:r.string().nullable().describe(`The company headcount bracket (e.g., '1001-5000', '11-50', '10001+'). Forwarded verbatim from the provider, so brackets are not yet normalized to a standard set. Null if not available.`),company_industries:r.array(r.string().nullable().describe(`The industry of the company. Null if not available.`)),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),company_hq_region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of past and current work experiences.`),education_history:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),is_current_education:r.boolean().nullable().describe(`Is this person currently enrolled in this institution`),is_primary_current_education:r.boolean().nullable().describe(`Is this the person's primary current education`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at institution in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at institution in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of past and current educational experiences.`)}),Yr={profile_url:`https://www.linkedin.com/in/janedoe/`,profile_picture_url:xr(),highest_current_seniority_level:`senior_ic`,social_handles_linkedin:[`https://www.linkedin.com/in/janedoe/`],social_handles_github:[`https://github.com/janedoe`],languages:[{language:`English`,level:`Native`},{language:`Spanish`,level:`Conversational`}],name:`Jane Doe`,headline:`Senior Software Engineer at Tech Solutions | Cloud & AI Enthusiast`,skills:[{name:`JavaScript`,level:`advanced`},{name:`React`,level:`advanced`},{name:`Node.js`,level:`advanced`},{name:`AWS`,level:`intermediate`},{name:`Python`,level:`intermediate`},{name:`Machine Learning`,level:`beginner`}],connections_count:850,current_location_city:`Berlin`,current_location_state:`Berlin`,current_location_country:`Germany`,about:`Experienced Senior Software Engineer with a passion for building innovative and efficient software solutions. Proven ability to lead projects, mentor junior developers, and deliver high-quality code. Always eager to learn new technologies and contribute to challenging projects.`,employment_history:[{job_title:`Senior Software Engineer`,is_current_employer:!0,is_primary_current_employer:!0,seniority_level:`senior_ic`,company_name:`Tech Solutions`,contract_type:`Full-time`,company_domain:`techsolutions.com`,company_website_url:`https://www.techsolutions.com`,company_profile_url:`https://www.linkedin.com/company/tech-solutions`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,start_date:`2023-01-15`,end_date:null,headcount_bracket:`1001-5000`,company_industries:[`Information Technology & Services`],tenure_in_days:870,tenure_in_years:2.38,company_hq_region:`Berlin, Berlin, Germany`,country:`DE`},{job_title:`Software Developer`,is_current_employer:!1,is_primary_current_employer:!1,seniority_level:`ic`,company_name:`Innovate Corp`,contract_type:`Full-time`,company_domain:`innovatecorp.com`,company_website_url:`https://www.innovatecorp.com`,company_profile_url:`https://www.linkedin.com/company/innovate-corp`,job_description:`Contributed to the development of enterprise-level applications and collaborated with cross-functional teams.`,start_date:`2019-06-01`,end_date:`2022-12-31`,headcount_bracket:`501-1000`,company_industries:[`Software Development`],tenure_in_days:1300,tenure_in_years:3.56,company_hq_region:`Munich, Bavaria, Germany`,country:`DE`}],education_history:[{degree_name:`Master of Science`,field_of_study:`Computer Science`,is_current_education:!1,is_primary_current_education:!1,institution_name:`Technical University of Berlin`,start_date:`2017-10-01`,end_date:`2019-09-30`,tenure_in_days:730,tenure_in_years:2,grade:`1.3`,description:`Specialized in distributed systems and artificial intelligence.`,activities_and_societies:`AI Research Group, Student Mentorship Program`},{degree_name:`Bachelor of Science`,field_of_study:`Computer Engineering`,is_current_education:!1,is_primary_current_education:!1,institution_name:`University of Applied Sciences Berlin`,start_date:`2014-09-01`,end_date:`2017-08-31`,tenure_in_days:1095,tenure_in_years:3,grade:`1.8`,description:`Focused on software design and embedded systems.`,activities_and_societies:`Robotics Club, Programming Competition Team`}]},Xr=r.object({share_urn:r.string().nullable().describe(``),share_url:r.string().nullable().describe(``),text:r.string(),actor:r.string().describe(`A person or a company`),posted_at_date:r.iso.date(),has_video:r.boolean().nullable(),number_of_shares:r.int().nullable(),number_of_comments:r.int().nullable(),number_of_reactions:r.int().nullable(),number_of_reactions_like:r.int().nullable(),number_of_reactions_praise:r.int().nullable(),number_of_reactions_curious:r.int().nullable(),number_of_reactions_empathy:r.int().nullable(),number_of_reactions_appreciation:r.int().nullable(),number_of_reactions_entertainment:r.int().nullable(),author_profile_person:r.object({person_name:r.string().nullable(),person_profile_url:r.url().nullable(),person_title:r.string().nullable(),person_location:r.string().nullable(),current_employers:r.array(r.object({company_name:r.string().nullable(),job_title:r.string().nullable(),company_linkedin_id:r.string().nullable(),company_domain:r.url().nullable(),company_profile_url:r.url().nullable()})).nullable()}).nullable(),author_profile_company:r.object({company_name:r.string().nullable(),company_profile_url:r.url().nullable()}).nullable()}),Zr={share_urn:`urn:li:ugcPost:7475096396619194368`,share_url:`https://www.linkedin.com/posts/miroslav-milovanovi%C4%87-b3139110a_your-llm-isnt-failing-because-of-a-bad-prompt-activity-7475096397168578560-JJoN`,text:`Your LLM isn't failing because of a bad prompt: it's failing because you're flying blind in production.`,actor:`person`,posted_at_date:`2026-06-23`,has_video:!1,number_of_shares:0,number_of_comments:0,number_of_reactions:7,number_of_reactions_like:7,number_of_reactions_praise:null,number_of_reactions_curious:null,number_of_reactions_empathy:null,number_of_reactions_appreciation:null,number_of_reactions_entertainment:null,author_profile_person:{person_name:`Miroslav Milovanović`,person_profile_url:`https://www.linkedin.com/in/miroslav-milovanovi%C4%87-b3139110a`,person_title:`AI Engineer`,person_location:`Belgrade, Serbia`,current_employers:[{company_name:`PubNub`,job_title:`AI Engineer`,company_linkedin_id:`2224710`,company_domain:null,company_profile_url:null}]},author_profile_company:null},Qr=r.object({object:r.literal(`linkedin_profile`).describe(`String representing the object’s type.`),name:r.string().nullable().describe(`The full name of the profile owner.`),headline:r.string().nullable().describe(`The current headline/tagline of the profile owner.`),profile_url:r.string().nullable().describe(`The URL of the LinkedIn profile.`),profile_picture_url:r.string().nullable().describe(`Url of profile picture`),languages:r.array(r.object({language:r.string().describe(`The name of the language`),level:r.string().nullable().describe(`Level of proficiency`)}).describe(`Language entry object`)).nullable().describe(`A list of languages spoken by the profile owner, with proficiency levels.`),skills:r.array(r.object({name:r.string().describe(`The name of the skill.`),level:r.enum([`beginner`,`intermediate`,`advanced`]).nullable().describe(`The proficiency level of the skill.`)}).describe(`Skill entry object`)).describe(`A list of skills listed on the profile, with optional proficiency levels.`),current_jobs:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The name of the company.`),company_website:r.string().nullable().describe(`The website URL of the company.`),company_social_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount:r.string().nullable().describe(`The size of the company (e.g., '1001-5000', '1-10'). Null if not available.`),company_industry:r.string().nullable().describe(`The industry of the company. Null if not available.`),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of the user's current primary jobs. Can be an empty array if no current jobs.`),connections_count:r.number().int().nullable().describe(`The number of connections the profile has. Null if not available or visible.`),country:r.string().nullable().describe(`The country of the profile owner's primary location.`),region:r.string().nullable().describe(`The specific region of the profile owner (e.g., 'Seattle, Washington, United States'). Null if not available.`),about:r.string().nullable().describe(`The 'About' section content from the profile. Null if empty.`),job_history:r.array(r.object({job_title:r.string().nullable().describe(`The title of the job.`),company_name:r.string().nullable().describe(`The name of the company.`),contract_type:r.string().nullable().describe(`The name of the company.`),company_website:r.string().nullable().describe(`The website URL of the company.`),company_social_url:r.string().nullable().describe(`LinkedIn URL of the company.`),job_description:r.string().nullable().describe(`Description of the role or responsibilities.`),start_date:r.string().nullable().describe(`The start date of the job (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the job (YYYY-MM-DD). Null if 'Present' or ongoing.`),headcount:r.string().nullable().describe(`The size of the company (e.g., '1001-5000', '1-10'). Null if not available.`),company_industry:r.string().nullable().describe(`The industry of the company. Null if not available.`),tenure_in_days:r.number().int().nullable().describe(`The total tenure for this job in days. Null if not calculable.`),tenure_in_years:r.number().nullable().describe(`The total tenure for this job in years, as a decimal. Null if not calculable.`),region:r.string().nullable().describe(`The specific location of this job (e.g., 'Seattle, Washington, United States'). Null if not available.`),country:r.string().nullable().describe(`The country where this job is located (ISO 3166-1 alpha-2 code). Null if not available.`)}).describe(`Job entry object`)).describe(`A list of past and current work experiences.`),current_educations:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at instituation in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at instituation in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of the user's current primary educational enrollments. Can be an empty array if no current education.`),education_history:r.array(r.object({degree_name:r.string().nullable().describe(`The name of the degree (e.g., 'Bachelor of Science', 'MBA').`),field_of_study:r.string().nullable().describe(`The specific field of study (e.g., 'Computer Science', 'Business Administration').`),institution_name:r.string().describe(`The name of the educational institution.`),start_date:r.string().nullable().describe(`The start date of the education (YYYY-MM-DD).`),end_date:r.string().nullable().describe(`The end date of the education (YYYY-MM-DD). Null if 'Present' or ongoing.`),tenure_in_years:r.number().nullable().describe(`Duration at instituation in years. Null if not available.`),tenure_in_days:r.number().nullable().describe(`Duration at instituation in days. Null if not available.`),grade:r.string().nullable().describe(`The grade, GPA, or other academic achievement (e.g., '3.8/4.0', 'Distinction'). Null if not available.`),description:r.string().nullable().describe(`A description of the education, including relevant coursework or honors. Null if empty.`),activities_and_societies:r.string().nullable().describe(`A summary of activities and societies participated in. Null if empty.`)}).describe(`Education entry object`)).describe(`A list of past and current educational experiences.`)}),$r={object:`linkedin_profile`,profile_url:`https://www.linkedin.com/in/janedoe/`,profile_picture_url:xr(),languages:[{language:`English`,level:`Native`},{language:`Spanish`,level:`Conversational`}],name:`Jane Doe`,headline:`Senior Software Engineer at Tech Solutions | Cloud & AI Enthusiast`,skills:[{name:`JavaScript`,level:`advanced`},{name:`React`,level:`advanced`},{name:`Node.js`,level:`advanced`},{name:`AWS`,level:`intermediate`},{name:`Python`,level:`intermediate`},{name:`Machine Learning`,level:`beginner`}],current_jobs:[{job_title:`Senior Software Engineer`,company_name:`Tech Solutions`,company_website:`https://www.techsolutions.com`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,contract_type:`Full-time`,start_date:`2023-01-15`,end_date:null,headcount:`1001-5000`,company_social_url:`https://www.linkedin.com/company/tech-solutions`,company_industry:`Information Technology & Services`,tenure_in_days:870,tenure_in_years:2.38,region:`Berlin, Berlin, Germany`,country:`DE`}],connections_count:850,country:`DE`,region:`Berlin, Berlin, Germany`,about:`Experienced Senior Software Engineer with a passion for building innovative and efficient software solutions. Proven ability to lead projects, mentor junior developers, and deliver high-quality code. Always eager to learn new technologies and contribute to challenging projects.`,job_history:[{job_title:`Senior Software Engineer`,company_name:`Tech Solutions`,company_website:`https://www.techsolutions.com`,job_description:`Developing and maintaining scalable web applications using React, Node.js, and AWS.`,contract_type:`Full-time`,start_date:`2023-01-15`,end_date:null,headcount:`1001-5000`,company_social_url:`https://www.linkedin.com/company/tech-solutions`,company_industry:`Information Technology & Services`,tenure_in_days:870,tenure_in_years:2.38,region:`Berlin, Berlin, Germany`,country:`DE`},{job_title:`Software Developer`,company_name:`Innovate Corp`,company_website:`https://www.innovatecorp.com`,job_description:`Contributed to the development of enterprise-level applications and collaborated with cross-functional teams.`,contract_type:`Full-time`,start_date:`2019-06-01`,end_date:`2022-12-31`,headcount:`501-1000`,company_social_url:`https://www.linkedin.com/company/innovate-corp`,company_industry:`Software Development`,tenure_in_days:1300,tenure_in_years:3.56,region:`Munich, Bavaria, Germany`,country:`DE`}],current_educations:[],education_history:[{degree_name:`Master of Science`,field_of_study:`Computer Science`,institution_name:`Technical University of Berlin`,start_date:`2017-10-01`,end_date:`2019-09-30`,tenure_in_days:730,tenure_in_years:2,grade:`1.3`,description:`Specialized in distributed systems and artificial intelligence.`,activities_and_societies:`AI Research Group, Student Mentorship Program`},{degree_name:`Bachelor of Science`,field_of_study:`Computer Engineering`,institution_name:`University of Applied Sciences Berlin`,start_date:`2014-09-01`,end_date:`2017-08-31`,tenure_in_days:1095,tenure_in_years:3,grade:`1.8`,description:`Focused on software design and embedded systems.`,activities_and_societies:`Robotics Club, Programming Competition Team`}]},ei=r.object({name:r.string().nullable(),profile_url:r.string().nullable(),company_name:r.string().nullable(),company_website_url:r.string().nullable(),job_title:r.string().nullable()}),ti={name:`John Doe`,profile_url:`https://linkedin.com/in/john-doe-123`,company_name:`Acme Inc.`,company_website_url:`https://acme.com`,job_title:`CEO`},ni=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Phone`,kind:`string`},{name:`MobilePhone`,kind:`string`},{name:`Title`,kind:`string`},{name:`Account.Name`,kind:`string`},{name:`AccountId`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`LeadSource`,kind:`string`},{name:`MailingCity`,kind:`string`},{name:`MailingCountry`,kind:`string`},{name:`LastActivityDate`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ri=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Company`,kind:`string`},{name:`Title`,kind:`string`},{name:`Status`,kind:`string`},{name:`LeadSource`,kind:`string`},{name:`Phone`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`IsConverted`,kind:`boolean`},{name:`ConvertedContactId`,kind:`string`},{name:`City`,kind:`string`},{name:`Country`,kind:`string`},{name:`LastActivityDate`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ii=[{name:`Name`,kind:`string`},{name:`Website`,kind:`string`},{name:`Industry`,kind:`string`},{name:`Type`,kind:`string`},{name:`NumberOfEmployees`,kind:`number`},{name:`AnnualRevenue`,kind:`number`},{name:`Phone`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`BillingCity`,kind:`string`},{name:`BillingCountry`,kind:`string`},{name:`ParentId`,kind:`string`},{name:`LastActivityDate`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],ai=[{name:`Name`,kind:`string`},{name:`StageName`,kind:`string`},{name:`Amount`,kind:`number`},{name:`CloseDate`,kind:`string`},{name:`IsClosed`,kind:`boolean`},{name:`IsWon`,kind:`boolean`},{name:`Probability`,kind:`number`},{name:`ForecastCategoryName`,kind:`string`},{name:`AccountId`,kind:`string`},{name:`Account.Name`,kind:`string`},{name:`OwnerId`,kind:`string`},{name:`LastActivityDate`,kind:`string`},{name:`CreatedDate`,kind:`string`},{name:`LastModifiedDate`,kind:`string`}],oi=[{name:`FirstName`,kind:`string`},{name:`LastName`,kind:`string`},{name:`Email`,kind:`string`},{name:`Username`,kind:`string`},{name:`Title`,kind:`string`},{name:`IsActive`,kind:`boolean`},{name:`UserRole.Name`,kind:`string`},{name:`CreatedDate`,kind:`string`}],si=(()=>{let e=new Map;for(let t of[...ni,...ri])e.set(t.name,t);return[...e.values()]})(),ci={Contact:ni,Lead:ri,Account:ii,Opportunity:ai,User:oi};function li(e,t){let n=new Set([`Id`]);for(let t of e)n.add(t.name);for(let e of t)n.add(e);return[...n]}const ui=e=>e===`number`?r.number().nullable():e===`boolean`?r.boolean().nullable():r.string().nullable(),di=e=>Object.fromEntries(e.map(e=>[e.name,ui(e.kind)])),fi=()=>r.record(r.string(),r.union([r.string(),r.number(),r.boolean()]).nullable()),pi=r.object({id:r.string(),url:r.string().nullable(),...di(ni),custom_properties:fi()}),mi={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,FirstName:`Jane`,LastName:`Doe`,Email:`jane@acme.com`,Phone:null,MobilePhone:null,Title:`Head of Data`,"Account.Name":`Acme Inc.`,AccountId:`001KJ000001xyzDIA2`,OwnerId:`005KJ000001ownDIA2`,LeadSource:`Web`,MailingCity:`Berlin`,MailingCountry:`Germany`,LastActivityDate:`2026-05-10`,CreatedDate:`2025-11-02T09:12:44.000Z`,LastModifiedDate:`2026-05-14T16:03:01.000Z`,custom_properties:{Lead_Score__c:87}},hi=r.object({id:r.string(),url:r.string().nullable(),...di(ri),custom_properties:fi()}),gi={id:`00QKJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Lead/00QKJ000001abcDIA2/view`,FirstName:`Sam`,LastName:`Prospect`,Email:`sam@globex.com`,Company:`Globex`,Title:`VP Marketing`,Status:`Working - Contacted`,LeadSource:`Trade Show`,Phone:null,OwnerId:`005KJ000001ownDIA2`,IsConverted:!1,ConvertedContactId:null,City:`Munich`,Country:`Germany`,LastActivityDate:null,CreatedDate:`2026-02-11T10:00:00.000Z`,LastModifiedDate:`2026-06-01T08:30:00.000Z`,custom_properties:{}},_i=r.object({id:r.string(),url:r.string().nullable(),...di(ii),custom_properties:fi()}),vi={id:`001KJ000001xyzDIA2`,url:`https://acme.lightning.force.com/lightning/r/Account/001KJ000001xyzDIA2/view`,Name:`Acme Inc.`,Website:`https://acme.com`,Industry:`Technology`,Type:`Customer - Direct`,NumberOfEmployees:230,AnnualRevenue:42e6,Phone:null,OwnerId:`005KJ000001ownDIA2`,BillingCity:`Berlin`,BillingCountry:`Germany`,ParentId:null,LastActivityDate:`2026-05-12`,CreatedDate:`2024-03-18T11:40:02.000Z`,LastModifiedDate:`2026-05-14T16:03:01.000Z`,custom_properties:{}},yi=r.object({id:r.string(),url:r.string().nullable(),...di(ai),custom_properties:fi()}),bi={id:`006KJ000001oppDIA2`,url:`https://acme.lightning.force.com/lightning/r/Opportunity/006KJ000001oppDIA2/view`,Name:`Acme — Enterprise plan`,StageName:`Negotiation`,Amount:48e3,CloseDate:`2026-09-30`,IsClosed:!1,IsWon:!1,Probability:70,ForecastCategoryName:`Best Case`,AccountId:`001KJ000001xyzDIA2`,"Account.Name":`Acme Inc.`,OwnerId:`005KJ000001ownDIA2`,LastActivityDate:`2026-06-18`,CreatedDate:`2026-04-02T08:15:27.000Z`,LastModifiedDate:`2026-06-20T10:44:09.000Z`,custom_properties:{}},xi=r.object({id:r.string(),url:r.string().nullable(),...di(oi),custom_properties:fi()}),Si={id:`005KJ000001ownDIA2`,url:`https://acme.lightning.force.com/lightning/r/User/005KJ000001ownDIA2/view`,FirstName:`Sam`,LastName:`Seller`,Email:`sam@acme.com`,Username:`sam@acme.com`,Title:`Account Executive`,IsActive:!0,"UserRole.Name":`Sales Rep`,CreatedDate:`2023-01-10T09:00:00.000Z`,custom_properties:{}},Ci=di(si),wi=r.object({id:r.string(),url:r.string().nullable(),object_type:r.enum([`contact`,`lead`,`person_account`]),matched_by:r.enum([`email`,`person_email`]),is_converted_redirect:r.boolean(),...Ci,custom_properties:fi()}),Ti={...mi,object_type:`contact`,matched_by:`email`,is_converted_redirect:!1,Company:null,Status:null,IsConverted:null,ConvertedContactId:null,City:null,Country:null},Ei=r.array(_i.extend({matched_variant:r.string()})),Di=[{...vi,matched_variant:`https://acme.com`}],Oi=r.array(yi.extend({contact_roles:r.array(r.string())})),ki=[{...bi,contact_roles:[`Decision Maker`]}],Ai=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),record:fi()}),ji={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,object_type:`Contact`,record:{FirstName:`Jane`,LastName:`Doe`,Email:`jane@acme.com`,Lead_Score__c:87,HasOptedOutOfEmail:!1}},Mi=r.object({id:r.string(),url:r.string().nullable(),object_type:r.string(),updated_fields:r.array(r.string()),record:fi().nullable()}),Ni={id:`003KJ000001abcDIA2`,url:`https://acme.lightning.force.com/lightning/r/Contact/003KJ000001abcDIA2/view`,object_type:`Contact`,updated_fields:[`Title`,`Phone`],record:{FirstName:`Jane`,LastName:`Doe`,Title:`VP Data`,Phone:`+49 30 1234567`}},Pi=r.object({id:r.string(),url:r.string().nullable(),object_type:r.enum([`task`,`event`]),subject:r.string().nullable(),status:r.string().nullable(),is_closed:r.boolean().nullable(),activity_date:r.string().nullable(),subtype:r.string().nullable(),who_id:r.string().nullable(),what_id:r.string().nullable(),owner_id:r.string().nullable(),description:r.string().nullable(),created_date:r.string().nullable(),custom_properties:fi()}),Fi=r.array(Pi),Ii=[{id:`00TKJ000001abcDMA2`,url:`https://acme.lightning.force.com/lightning/r/Task/00TKJ000001abcDMA2/view`,object_type:`task`,subject:`Called about renewal`,status:`Completed`,is_closed:!0,activity_date:`2026-06-30`,subtype:`Call`,who_id:`003KJ000001abcDIA2`,what_id:`006KJ000001oppDIA2`,owner_id:`005KJ000001ownDIA2`,description:`Left a voicemail, will follow up Thursday.`,created_date:`2026-06-30T14:02:11.000Z`,custom_properties:{CallDurationInSeconds:95}},{id:`00UKJ000001evtDMA2`,url:`https://acme.lightning.force.com/lightning/r/Event/00UKJ000001evtDMA2/view`,object_type:`event`,subject:`Discovery meeting`,status:null,is_closed:!1,activity_date:`2026-07-05`,subtype:null,who_id:`003KJ000001abcDIA2`,what_id:null,owner_id:`005KJ000001ownDIA2`,description:null,created_date:`2026-06-28T09:00:00.000Z`,custom_properties:{}}],Li=r.object({id:r.string(),url:r.string().nullable(),object_type:r.literal(`Task`),subject:r.string().nullable(),subtype:r.string().nullable(),who_id:r.string().nullable(),what_id:r.string().nullable(),created:r.boolean()}),Ri={id:`00TKJ000001newDMA2`,url:`https://acme.lightning.force.com/lightning/r/Task/00TKJ000001newDMA2/view`,object_type:`Task`,subject:`Outreach email sent: Q3 check-in`,subtype:`Email`,who_id:`003KJ000001abcDIA2`,what_id:null,created:!0},zi=r.array(r.object({markdown:r.string().nullable(),html:r.string().nullable(),links:r.array(r.string()).nullable(),metadata:r.object({title:r.string().nullable(),description:r.string().nullable()}).nullable()})),Bi=[{markdown:`[Pipe Docs home page![light logo](...)!...`,html:`<!DOCTYPE html><html lang="en" class="js-focus-visible lg:[--scroll-mt:9.5rem]" data-js-focus-visible="">...`,links:[`https://pip0.com`],metadata:{title:`A framework for data enrichment`,description:`Learn how to use Firecrawl, Groq Llama 3, and Langchain to build a 'Chat with your website' bot.`}}],Vi=r.array(r.record(r.string(),r.unknown())),Hi=[{id:`0197a2f0-5c1e-7d38-9a44-3f9b2f6c8e01`,email:`jane@acme.com`,name:`Jane Doe`,company:`Acme Inc`}],Ui=r.array(r.object({url:r.url(),title:r.string().nullable(),description:r.string().nullable()})),Wi=[{url:`https://pipe0.com/resources/documentation`,title:`Pipe0 | Docs`,description:`A modern data enrichment framework`},{url:`https://pipe0.com/resources/documentation/pipes`,title:`Pipe0 Docs | Pipe Docs`,description:`Documentation for pipe0 pipes.`}],Gi=r.union([r.literal(`valid`),r.literal(`invalid`),r.literal(`catch-all`),r.literal(`unknown`),r.literal(`spamtrap`),r.literal(`abuse`),r.literal(`do_not_mail`)]),Ki=r.union([r.literal(`alternate`),r.literal(`antispam_system`),r.literal(`greylisted`),r.literal(`mail_server_temporary_error`),r.literal(`forcible_disconnect`),r.literal(`mail_server_did_not_respond`),r.literal(`timeout_exceeded`),r.literal(`failed_smtp_connection`),r.literal(`mailbox_quota_exceeded`),r.literal(`exception_occurred`),r.literal(`possible_trap`),r.literal(`role_based`),r.literal(`global_suppression`),r.literal(`mailbox_not_found`),r.literal(`no_dns_entries`),r.literal(`failed_syntax_check`),r.literal(`possible_typo`),r.literal(`unroutable_ip_address`),r.literal(`leading_period_removed`),r.literal(`does_not_accept_mail`),r.literal(`alias_address`),r.literal(`role_based_catch_all`),r.literal(`disposable`),r.literal(`toxic`),r.literal(`accept_all`),r.literal(``)]),qi=r.object({address:r.email(),status:Gi,sub_status:Ki,account:r.string(),domain:r.string(),did_you_mean:r.string().nullable(),domain_age_days:r.string().nullable().optional(),active_in_days:r.union([r.literal(`30`),r.literal(`60`),r.literal(`90`),r.literal(`180`),r.literal(`365`),r.literal(`365+`),r.literal(``)]).nullable().optional(),free_email:r.boolean(),mx_found:r.enum([`true`,`false`]).nullable(),mx_record:r.string(),smtp_provider:r.string().nullable(),firstname:r.string().nullable(),lastname:r.string().nullable(),gender:r.string().nullable(),city:r.string().nullable(),region:r.string().nullable(),zipcode:r.string().nullable(),country:r.string().nullable(),processed_at:r.string()}),Ji={address:`flowerjill@aol.com`,status:`valid`,sub_status:``,free_email:!0,did_you_mean:null,account:`flowerjill`,domain:`aol.com`,domain_age_days:`8426`,active_in_days:`365`,smtp_provider:`yahoo`,mx_record:`mx-aol.mail.gm0.yahoodns.net`,mx_found:`true`,firstname:`Jill`,lastname:`Stein`,gender:`female`,country:`United States`,region:`Florida`,city:`West Palm Beach`,zipcode:`33401`,processed_at:`2017-04-01 02:48:02.592`},Yi=r.object({text:r.string(),url:r.url(),created_at:r.iso.datetime().nullable(),urn:r.string().nullable(),like_count:r.number().nullable(),comment_count:r.number().nullable()}),Xi={text:`Example post text`,url:`https://www.linkedin.com/feed/update/urn:li:activity:7276799456982007552/`,like_count:12,comment_count:3,created_at:new Date().toISOString(),urn:`7276733769981007542`},Zi={"united states":`🇺🇸`,usa:`🇺🇸`,us:`🇺🇸`,america:`🇺🇸`,"united kingdom":`🇬🇧`,uk:`🇬🇧`,britain:`🇬🇧`,england:`🇬🇧`,scotland:`🏴󠁧󠁢󠁳󠁣󠁴󠁿`,wales:`🏴󠁧󠁢󠁷󠁬󠁳󠁿`,canada:`🇨🇦`,australia:`🇦🇺`,germany:`🇩🇪`,france:`🇫🇷`,italy:`🇮🇹`,spain:`🇪🇸`,japan:`🇯🇵`,china:`🇨🇳`,india:`🇮🇳`,brazil:`🇧🇷`,russia:`🇷🇺`,mexico:`🇲🇽`,netherlands:`🇳🇱`,holland:`🇳🇱`,belgium:`🇧🇪`,switzerland:`🇨🇭`,austria:`🇦🇹`,sweden:`🇸🇪`,norway:`🇳🇴`,denmark:`🇩🇰`,finland:`🇫🇮`,poland:`🇵🇱`,portugal:`🇵🇹`,greece:`🇬🇷`,turkey:`🇹🇷`,"south korea":`🇰🇷`,"south africa":`🇿🇦`,argentina:`🇦🇷`,chile:`🇨🇱`,colombia:`🇨🇴`,peru:`🇵🇪`,venezuela:`🇻🇪`,egypt:`🇪🇬`,israel:`🇮🇱`,"saudi arabia":`🇸🇦`,iran:`🇮🇷`,iraq:`🇮🇶`,pakistan:`🇵🇰`,bangladesh:`🇧🇩`,thailand:`🇹🇭`,vietnam:`🇻🇳`,philippines:`🇵🇭`,indonesia:`🇮🇩`,malaysia:`🇲🇾`,singapore:`🇸🇬`,"new zealand":`🇳🇿`,ireland:`🇮🇪`,ukraine:`🇺🇦`,"czech republic":`🇨🇿`,hungary:`🇭🇺`,romania:`🇷🇴`,bulgaria:`🇧🇬`,croatia:`🇭🇷`,serbia:`🇷🇸`,slovenia:`🇸🇮`,slovakia:`🇸🇰`,estonia:`🇪🇪`,latvia:`🇱🇻`,lithuania:`🇱🇹`,iceland:`🇮🇸`,luxembourg:`🇱🇺`,malta:`🇲🇹`,cyprus:`🇨🇾`,albania:`🇦🇱`,"bosnia and herzegovina":`🇧🇦`,montenegro:`🇲🇪`,"north macedonia":`🇲🇰`,macedonia:`🇲🇰`,moldova:`🇲🇩`,belarus:`🇧🇾`,georgia:`🇬🇪`,armenia:`🇦🇲`,azerbaijan:`🇦🇿`,kazakhstan:`🇰🇿`,uzbekistan:`🇺🇿`,kyrgyzstan:`🇰🇬`,tajikistan:`🇹🇯`,turkmenistan:`🇹🇲`,afghanistan:`🇦🇫`,mongolia:`🇲🇳`,"north korea":`🇰🇵`,myanmar:`🇲🇲`,burma:`🇲🇲`,laos:`🇱🇦`,cambodia:`🇰🇭`,brunei:`🇧🇳`,"sri lanka":`🇱🇰`,maldives:`🇲🇻`,nepal:`🇳🇵`,bhutan:`🇧🇹`,oman:`🇴🇲`,uae:`🇦🇪`,"united arab emirates":`🇦🇪`,qatar:`🇶🇦`,bahrain:`🇧🇭`,kuwait:`🇰🇼`,jordan:`🇯🇴`,lebanon:`🇱🇧`,syria:`🇸🇾`,yemen:`🇾🇪`,libya:`🇱🇾`,tunisia:`🇹🇳`,algeria:`🇩🇿`,morocco:`🇲🇦`,sudan:`🇸🇩`,ethiopia:`🇪🇹`,kenya:`🇰🇪`,uganda:`🇺🇬`,tanzania:`🇹🇿`,rwanda:`🇷🇼`,burundi:`🇧🇮`,somalia:`🇸🇴`,djibouti:`🇩🇯`,eritrea:`🇪🇷`,ghana:`🇬🇭`,nigeria:`🇳🇬`,senegal:`🇸🇳`,mali:`🇲🇱`,"burkina faso":`🇧🇫`,niger:`🇳🇪`,chad:`🇹🇩`,cameroon:`🇨🇲`,"central african republic":`🇨🇫`,"democratic republic of congo":`🇨🇩`,congo:`🇨🇬`,gabon:`🇬🇦`,"equatorial guinea":`🇬🇶`,"sao tome and principe":`🇸🇹`,"cape verde":`🇨🇻`,guinea:`🇬🇳`,"guinea-bissau":`🇬🇼`,"sierra leone":`🇸🇱`,liberia:`🇱🇷`,"ivory coast":`🇨🇮`,"cote d'ivoire":`🇨🇮`,togo:`🇹🇬`,benin:`🇧🇯`,mauritania:`🇲🇷`,gambia:`🇬🇲`,botswana:`🇧🇼`,namibia:`🇳🇦`,zimbabwe:`🇿🇼`,zambia:`🇿🇲`,malawi:`🇲🇼`,mozambique:`🇲🇿`,madagascar:`🇲🇬`,mauritius:`🇲🇺`,seychelles:`🇸🇨`,comoros:`🇰🇲`,lesotho:`🇱🇸`,swaziland:`🇸🇿`,eswatini:`🇸🇿`,angola:`🇦🇴`,bermuda:`🇧🇲`,"cayman islands":`🇰🇾`,"british virgin islands":`🇻🇬`,"turks and caicos":`🇹🇨`,anguilla:`🇦🇮`,montserrat:`🇲🇸`,"falkland islands":`🇫🇰`,gibraltar:`🇬🇮`,jersey:`🇯🇪`,guernsey:`🇬🇬`,"isle of man":`🇮🇲`,"faroe islands":`🇫🇴`,greenland:`🇬🇱`,"french polynesia":`🇵🇫`,"new caledonia":`🇳🇨`,"wallis and futuna":`🇼🇫`,"french guiana":`🇬🇫`,martinique:`🇲🇶`,guadeloupe:`🇬🇵`,reunion:`🇷🇪`,mayotte:`🇾🇹`,"saint pierre and miquelon":`🇵🇲`,"puerto rico":`🇵🇷`,"us virgin islands":`🇻🇮`,"american samoa":`🇦🇸`,guam:`🇬🇺`,"northern mariana islands":`🇲🇵`,"united states minor outlying islands":`🇺🇲`,"cook islands":`🇨🇰`,niue:`🇳🇺`,tokelau:`🇹🇰`,"christmas island":`🇨🇽`,"cocos islands":`🇨🇨`,"norfolk island":`🇳🇫`,"hong kong":`🇭🇰`,macau:`🇲🇴`,macao:`🇲🇴`,taiwan:`🇹🇼`,"san marino":`🇸🇲`,vatican:`🇻🇦`,"vatican city":`🇻🇦`,liechtenstein:`🇱🇮`,monaco:`🇲🇨`,andorra:`🇦🇩`,jamaica:`🇯🇲`,cuba:`🇨🇺`,haiti:`🇭🇹`,"dominican republic":`🇩🇴`,bahamas:`🇧🇸`,barbados:`🇧🇧`,"trinidad and tobago":`🇹🇹`,"saint lucia":`🇱🇨`,"saint vincent and the grenadines":`🇻🇨`,grenada:`🇬🇩`,dominica:`🇩🇲`,"antigua and barbuda":`🇦🇬`,"saint kitts and nevis":`🇰🇳`,fiji:`🇫🇯`,"papua new guinea":`🇵🇬`,"solomon islands":`🇸🇧`,vanuatu:`🇻🇺`,samoa:`🇼🇸`,tonga:`🇹🇴`,kiribati:`🇰🇮`,tuvalu:`🇹🇻`,nauru:`🇳🇷`,palau:`🇵🇼`,"marshall islands":`🇲🇭`,micronesia:`🇫🇲`,uruguay:`🇺🇾`,paraguay:`🇵🇾`,bolivia:`🇧🇴`,ecuador:`🇪🇨`,guyana:`🇬🇾`,suriname:`🇸🇷`,guatemala:`🇬🇹`,belize:`🇧🇿`,honduras:`🇭🇳`,"el salvador":`🇸🇻`,nicaragua:`🇳🇮`,"costa rica":`🇨🇷`,panama:`🇵🇦`};function Qi(e,t){let n=[];for(let e=0;e<=t.length;e++)n[e]=[e];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++)t.charAt(r-1)===e.charAt(i-1)?n[r][i]=n[r-1][i-1]:n[r][i]=Math.min(n[r-1][i-1]+1,n[r][i-1]+1,n[r-1][i]+1);return n[t.length][e.length]}function $i(e){return e.toLowerCase().trim().replace(/[^\w\s]/g,` `).replace(/\s+/g,` `).trim()}function ea(e){let t=$i(e);if(Zi[t])return t;let n=null,r=1/0,i=Math.min(3,Math.floor(t.length*.3));for(let e of Object.keys(Zi)){let a=Qi(t,e),o=e.includes(t)||t.includes(e);(a<=i&&a<r||o&&a<r*1.5)&&(n=e,r=a)}return n}function ta(e){try{let t=e.split(`,`).map(e=>e.trim());return t.length===0?null:t[t.length-1]||null}catch{return null}}function na(e){try{if(!e||typeof e!=`string`||e.trim()===``)return null;let t=ta(e);return t?ra(t):null}catch{return null}}function ra(e){try{if(!e||typeof e!=`string`||e.trim()===``)return null;let t=ea(e);return t&&Zi[t]||null}catch{return null}}function ia(e){try{let t=new URL(e);if(!t.hostname.includes(`linkedin.com`))return console.warn(`Provided URL is not a LinkedIn URL: ${e}`),``;let n=t.pathname;n.endsWith(`/`)&&(n=n.slice(0,-1));let r=n.split(`/`).filter(e=>e.length>0);return r.length>0&&r[r.length-1]||``}catch{return``}}const aa={is_claim_successful:{label:`Claimed`,type:`boolean`,description:`Whether this row won the bucket claim (true → proceed) or the key was already taken (resolves no_result).`,jsonMeta:null,format:null},bucket_counter:{label:`Bucket counter`,type:`number`,description:`The number a counter bucket assigned to this row's key (stable across re-runs of the same key).`,jsonMeta:null,format:null},found_in_bucket:{label:`Found in bucket`,type:`boolean`,description:`Whether the row's key is present (and live) in the checked bucket.`,jsonMeta:null,format:null},company_description:{label:`Company description`,type:`string`,description:`A summary of the main business purpose and objectives.`,jsonMeta:null,format:`markdown`},cleaned_company_name:{label:`Cleaned company name`,type:`string`,description:`The standardized and cleaned version of the company name, ensuring consistency across different entries.`,jsonMeta:null,format:`text`},website_markdown:{label:`Scrape result - Markdown`,type:`string`,description:`Markdown-formatted scrape of a website.`,jsonMeta:null,format:`markdown`},mapped_links:{label:`Website internal links`,type:`json`,format:`json_list`,description:`A list of website links.`,jsonMeta:{zodSchema:Ui,exampleValue:Wi}},website_html:{label:`Scrape result - HTML`,type:`string`,description:`HTML-formatted scrape of a website.`,jsonMeta:null,format:null},website_url:{label:`Website URL`,type:`string`,description:`Generic URL of a website.`,jsonMeta:null,format:`url`},scrape_list_response:{label:`URLs`,type:`json`,description:`List of URLs`,jsonMeta:{zodSchema:zi,exampleValue:Bi},format:null},urls:{label:`URLs`,type:`json`,description:`List of URLs`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://pipe0.com`,`https://pipe0.com/resources/documentation`]},format:`json_list_string`},website_links:{label:`URLs`,type:`json`,description:`List of URLs scraped from a website`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://pipe0.com`,`https://pipe0.com/resources/documentation`]},format:`json_list_string`},clado_person_profile:{label:`Clado person profile`,type:`json`,description:`Fully enriched people profile`,jsonMeta:{zodSchema:Wt,exampleValue:Gt},format:`json_object`},company_industry:{label:`Company industry`,type:`string`,description:`The industry in which the company operates.`,jsonMeta:null,format:`text`},company_region:{label:`Company region`,type:`string`,description:`The region corresponding to the company's country.`,jsonMeta:null,format:`text`},location_hint:{label:`Location hint`,type:`string`,description:`An optional hint to help pinpoint a person's or company's location.`,jsonMeta:null,format:`text`},leadmagic_competitor_list:{label:`Competitor list`,type:`json`,description:`A list of the top competitors for a given company as provided by LeadMagic`,jsonMeta:{zodSchema:Zn,exampleValue:Qn},format:`json_list`},leadmagic_acquisition_history:{label:`Acquisition history`,type:`json`,description:`A list of acquisitions by a given company`,format:`json_list`,jsonMeta:{exampleValue:er,zodSchema:$n}},leadmagic_company_news_list:{label:`Company news list`,type:`json`,description:`A list of company news`,format:`json_list`,jsonMeta:{exampleValue:nr,zodSchema:tr}},estimated_revenue:{label:`Estimated Annual Revenue`,type:`string`,description:`The estimated annual revenue of the company.`,jsonMeta:null,format:`text`},funding_history:{label:`Funding history`,type:`json`,description:`List of corporate funding rounds.`,format:null,jsonMeta:{zodSchema:Sn,exampleValue:Cn}},funding_total_usd:{label:`Total funding (USD)`,type:`number`,description:`Amount of total known funding`,jsonMeta:null,format:`currency`},deal_name:{order:45,label:`Deal name`,type:`string`,description:`Name of the sales deal / opportunity.`,jsonMeta:null,format:`text`},deal_amount:{order:46,label:`Deal amount`,type:`number`,description:`Monetary value of the sales deal / opportunity.`,jsonMeta:null,format:`currency`},founded_year:{label:`Founding year`,type:`string`,description:`The year the company was founded.`,jsonMeta:null,format:`text`},technology_list:{type:`json`,label:`Technology list`,description:`A flat list of technologies used by a company`,jsonMeta:{zodSchema:Bt,exampleValue:Vt},format:`json_list`},spending_trend:{type:`number`,label:`Spending Trend`,description:`Technology spending trend over the last 2 years. Average deviation between measuring points in %.`,jsonMeta:null,format:`percent`},technology_match_builtwith:{type:`json`,label:`Builtwith technology response`,description:`A datastructure containing the technologies used by this company`,format:`json_object`,jsonMeta:{zodSchema:Ht,exampleValue:Ut}},number_of_social_followers:{label:`Follower count`,type:`number`,description:`Social followers (or zero if not found).`,jsonMeta:null,format:`int`},mobile:{label:`Mobile`,type:`string`,description:`Mobile telephone number of a person.`,jsonMeta:null,format:`phone`},phone:{label:`Phone`,type:`string`,description:`A generic field for phone numbers. Can be mobile or landline.`,jsonMeta:null,format:`phone`},landline:{label:`Landline`,type:`string`,description:`A landline phone number`,jsonMeta:null,format:`phone`},job_title:{label:`Job title`,type:`string`,description:`Current job title of a person`,jsonMeta:null,format:`text`},job_description:{label:`Job description`,type:`string`,description:`Description of current job`,jsonMeta:null,format:`text`},email:{order:30,label:`Email address`,type:`string`,description:`A union field that can contain both professional and personal email addresses.`,jsonMeta:null,format:`email`},personal_email:{label:`Personal email`,type:`string`,description:`The personal email address of a prospect.`,jsonMeta:null,format:`email`},alternate_personal_emails:{label:`Alternate personal email`,type:`json`,description:`The personal email addresses that are associated with a prospect but less likely to be the primary email address of a prospect.`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`john@pipe0.com`,`jane@pipe0.com`]},format:`json_list_string`},company_news_summary:{label:`Latest news`,type:`string`,description:`Latest company news.`,jsonMeta:null,format:`markdown`},work_email:{label:`Work email`,type:`string`,jsonMeta:null,description:`Email address of a person connection to their place of employment.`,format:`email`},headcount:{label:`Headcount`,type:`string`,jsonMeta:null,description:`Total number of people employed in a particular organization`,format:`text`},company_website_url:{order:43,label:`Company website URL`,type:`string`,description:`Website URL of a related company.`,jsonMeta:null,format:`website_url`},company_domain:{order:42,label:`Company domain`,type:`string`,description:`Bare domain of a related company. Example: stripe.com (no scheme, no path).`,jsonMeta:null,format:`text`},company_name:{order:41,label:`Company name`,type:`string`,description:`Name of a company.`,jsonMeta:null,format:`text`},clado_person_match:{label:`Clado person match`,description:`Object returned from a Clado people search.`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:Wt,exampleValue:Gt}},clado_person_match_v2:{label:`Clado person match`,description:`Object returned from a Clado people search.`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:rn,exampleValue:an}},icypeas_person_match:{label:`Icypeas person match`,description:`Object returned from a Icypeas people search`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:Yn,exampleValue:Xn}},icypeas_company_match:{label:`Icypeas company match`,description:`Object returned from a Icypeas people search`,format:`json_object`,type:`json`,jsonMeta:{zodSchema:qn,exampleValue:Jn}},first_name:{order:20,label:`First name`,type:`string`,description:`First name of a person.`,jsonMeta:null,format:`text`},addressee_name:{label:`Addressee name`,type:`string`,description:`Recipient name in the format required by postal services.`,jsonMeta:null,format:`text`},avatar_url:{label:`Avatar URL`,type:`string`,description:`URL for profile picture`,jsonMeta:null,format:`url`},address_line_1:{label:`Address line 1`,type:`string`,description:`First line of an address (e.g. street address)`,jsonMeta:null,format:`address_line_1`},address_line_2:{label:`Address line 2`,type:`string`,description:`The formatted address of a company’s headquarters.`,jsonMeta:null,format:`text`},address_city:{label:`Address city`,type:`string`,description:`Name of a city as needed for an address.`,jsonMeta:null,format:`text`},address_country:{label:`Address country`,type:`string`,description:`Name of a country as needed for an address.`,jsonMeta:null,format:`text`},address_state:{label:`State`,type:`string`,description:`Name of a state.`,jsonMeta:null,format:`text`},zip_code:{label:`Zip code`,type:`string`,description:`A postal zip code. Usually a combination of numbers and letters.`,jsonMeta:null,format:`zip_code`},last_name:{order:21,label:`Last name`,type:`string`,description:`Last name of a person.`,jsonMeta:null,format:`text`},estimated_salary:{label:`Estimated salary`,type:`string`,description:`Estimated total salary in USD.`,jsonMeta:null,format:`text`},skills:{label:`Skills`,type:`string`,description:`List of professional skills`,jsonMeta:null,format:`text`},is_work_email:{label:`Is work email result`,type:`boolean`,description:`Check if a given email is a work email.`,jsonMeta:null,format:null},name:{order:22,label:`Full name`,type:`string`,description:`The full name of a person. Usually a combination of first and last name.`,jsonMeta:null,format:`text`},ip_address:{label:`IP address`,type:`string`,description:`IP Address of a person`,jsonMeta:null,format:`text`},is_email_valid:{label:`Email validation`,type:`boolean`,description:`Check if an email address is valid and can receive emails.`,jsonMeta:null,format:null},profile:{label:`Professional profile`,type:`json`,description:`A standardized format for returning LinkedIn profile data.`,format:null,jsonMeta:{zodSchema:Qr,exampleValue:$r}},profile_url:{order:40,label:`LinkedIn profile URL`,type:`string`,format:`profile_url`,description:`A person's LinkedIn profile URL.`,jsonMeta:null},developer_profile_url:{label:`Developer profile URL`,type:`string`,format:`profile_url`,description:`A person's primary developer profile URL (e.g. GitHub).`,jsonMeta:null},alternative_developer_profile_urls:{label:`Alternative developer profile URLs`,type:`json`,format:`json_list_string`,description:`Additional developer profile URLs (GitHub, GitLab, etc.) discovered for the person.`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`https://github.com/mxschmitt`]}},profile_posts:{label:`Recrent linkedIn posts`,type:`json`,description:`List of recent LinkedIn posts in JSON format.`,format:`json_list`,jsonMeta:{zodSchema:r.array(Yi),exampleValue:Xi}},profile_headline:{label:`Profile headline`,type:`string`,format:`text`,description:`Professional profile headline`,jsonMeta:null},company_profile_url:{label:`Company LinkedIn profile URL`,type:`string`,format:`profile_url`,description:`Company LinkedIn URL.`,jsonMeta:null},resend_email_success:{label:`Resend mail success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of email sending action using Resend`},resend_contact_id:{label:`Resend contact id`,type:`string`,format:`text`,description:`Id of a single resend contact`,jsonMeta:null},lemlist_lead_id:{label:`lemlist lead id`,type:`string`,format:`text`,description:`Id of the lead created in a lemlist campaign.`,jsonMeta:null},lemlist_enrollment_result:{label:`lemlist enrollment`,type:`json`,format:`json_object`,description:`Leaner snake_case object describing a lead's enrollment into a lemlist campaign.`,jsonMeta:{zodSchema:rr,exampleValue:ir}},amplemarket_sequence_id:{label:`Amplemarket sequence id`,type:`string`,format:`text`,description:`Id of the Amplemarket sequence the lead was enrolled into.`,jsonMeta:null},sheet:{label:`Sheet name`,type:`string`,format:`text`,description:`Name of a pipe0 sheet`,jsonMeta:null},string_input:{label:`String input`,type:`string`,format:`text`,description:`Input field of type string`,jsonMeta:null},domain:{label:`Domain`,type:`string`,format:`text`,description:`A domain field.`,jsonMeta:null},url_input:{label:`URL input`,type:`string`,format:`url`,description:`Input field of type string and URL format`,jsonMeta:null},slugified:{label:`Slugified value`,type:`string`,format:`text`,description:`A value that has been stripped of characters not found in slugs.`,jsonMeta:null},http_response_status:{label:`HTTP response status`,type:`number`,format:`int`,description:`HTTP status code returned by the upstream endpoint.`,jsonMeta:null},http_response_body:{label:`HTTP response body`,type:`json`,format:`json_object`,description:`Parsed JSON body returned by the upstream endpoint.`,jsonMeta:null},http_response_headers:{label:`HTTP response headers`,type:`json`,format:`json_object`,description:`Response headers returned by the upstream endpoint as a flat key-value map.`,jsonMeta:null},luma_id:{label:`Luma ID`,type:`string`,format:`text`,description:`Unique identifier of the guest's event registration in Luma.`,jsonMeta:null},registered_at:{label:`Registered at`,type:`string`,format:`text`,description:`ISO timestamp of when the guest registered for the event.`,jsonMeta:null},luma_event_guest_match:{label:`Event guest match`,type:`json`,format:`json_object`,description:`Full event guest object returned by Luma.`,jsonMeta:{zodSchema:dr,exampleValue:fr}},sheet_record_id:{label:`Record ID`,type:`string`,format:`text`,description:`ID of sheet record`,jsonMeta:null},sheet_record_ids:{label:`Record IDs`,type:`json`,format:`json_list_string`,description:`IDs sheet records`,jsonMeta:null},sheet_rows_found_count:{label:`Rows found`,type:`number`,format:`int`,jsonMeta:null,description:`Total number of matching rows in the target sheet (not capped by the row limit)`},sheet_found_rows:{label:`Matching rows`,type:`json`,format:`json_list`,jsonMeta:{zodSchema:Vi,exampleValue:Hi},description:`The matching rows of the target sheet — each row is its record id plus one entry per column`},sheet_found_row_ids:{label:`Matching row IDs`,type:`json`,format:`json_list_string`,jsonMeta:null,description:`Stable record IDs of the matching rows in the target sheet`},db_rows_found_count:{label:`Rows found`,type:`number`,format:`int`,jsonMeta:null,description:`Total number of rows matched by the query (not capped by the row limit)`},db_found_rows:{label:`Matching rows`,type:`json`,format:`json_list`,jsonMeta:{zodSchema:vn,exampleValue:yn},description:`The rows returned by the query, keyed by the result set's column names`},gmail_email_success:{label:`Gmail e-mail success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of email sending action using Gmail`},slack_message_success:{label:`Slack message success`,type:`boolean`,format:null,jsonMeta:null,description:`Result of sending a message using Slack`},email_body:{label:`A markdown email`,type:`string`,format:`markdown`,jsonMeta:null,description:`The test of an email formatted as markdown`},message:{label:`Message`,type:`string`,format:`markdown`,jsonMeta:null,description:`A markdown message that be send to any chat app.`},email_subject:{label:`Subject Line`,type:`string`,format:`text`,jsonMeta:null,description:`Subject line for email`},template_output:{label:`Template Output`,type:`string`,format:`text`,jsonMeta:null,description:`Template value where the tags are replaces with real values`},email_validation_status:{label:`Validation status`,type:`string`,format:`text`,jsonMeta:null,description:`Email validation status. Allowed values are: 'valid', 'invalid', 'catch_all', 'unknown'`},million_validation_match:{label:`Million Verifier match`,type:`json`,format:`json_object`,description:`Email validation status. Allowed values are: 'valid', 'invalid', 'catch_all', 'unknown'`,jsonMeta:{zodSchema:pr,exampleValue:mr}},zerobounce_validation_status:{label:`ZeroBounce Validation Status`,type:`string`,format:`text`,jsonMeta:null,description:`Validation status as returned from ZeroBounce single validation`},zerobounce_validation_match:{label:`ZeroBounce Validation Match`,type:`json`,format:`json_object`,description:`Full validation object as returned by ZeroBounce`,jsonMeta:{zodSchema:qi,exampleValue:Ji}},input_objects:{label:`Input objects`,type:`json`,format:`json_list`,description:`List of unstructured input objects`,jsonMeta:null},created_sheet:{label:`Created sheet`,type:`string`,format:null,description:`Reference to a created sheet`,jsonMeta:null},merge_result:{label:`Merge Result`,type:`unknown`,format:null,description:`Full validation object as returned by ZeroBounce`,jsonMeta:null},firecrawl_extract_result:{label:`Extract Result`,type:`json`,format:null,description:`Result of a firecrawl extract operation`,jsonMeta:null},parallel_extract_result:{label:`Extract Result`,type:`json`,format:`json_list`,description:`Flat list of Parallel Extract results (url, title, publish_date, excerpts).`,jsonMeta:{zodSchema:_r,exampleValue:vr}},exa_match_evaluation:{label:`Exa Match Evaluation`,type:`json`,format:`json_object`,description:`Exa search result.`,jsonMeta:{zodSchema:bn,exampleValue:xn}},companyenrich_match:{label:`Company match`,type:`json`,format:`json_object`,description:`CompanyEnrich response object`,jsonMeta:{zodSchema:on,exampleValue:sn}},crustdata_person_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Crustdata company match object`,jsonMeta:{zodSchema:mn,exampleValue:hn}},person_profile_match:{label:`Person profile`,type:`json`,format:`json_object`,description:`Crustdata person basic profile data`,jsonMeta:{zodSchema:Jr,exampleValue:Yr}},post_match:{label:`LinkedIn post`,type:`json`,format:`json_object`,description:`A detailed representation of a LinkedIn post`,jsonMeta:{zodSchema:Xr,exampleValue:Zr}},parallel_person_entity_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Parallel person match object parsed from the entity description`,jsonMeta:{zodSchema:yr,exampleValue:br}},parallel_company_entity_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Parallel company match object parsed from the entity description`,jsonMeta:{zodSchema:hr,exampleValue:gr}},crustdata_profile_match_score:{label:`Match score`,type:`number`,format:`decimal`,description:`A number between 1 and 0 indicating the confidence that the profile belongs to the input email address.`,jsonMeta:null},crustdata_company_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Crustdata company match object`,jsonMeta:{zodSchema:un,exampleValue:dn}},crustdata_companyenrich_match:{label:`Company enrichment match`,type:`json`,format:`json_object`,description:`Crustdata company enrichment match.`,jsonMeta:{zodSchema:fn,exampleValue:pn}},crustdata_company_identity_matches:{label:`Company identity matches`,type:`json`,format:`json_list`,description:`List of Crustdata company candidates matched by name or domain.`,jsonMeta:{zodSchema:cn,exampleValue:ln}},post_list_string:{label:`Post list`,type:`json`,format:`json_list_string`,description:`LinkedIn post list`,jsonMeta:{zodSchema:r.array(r.string()),exampleValue:[`Y Combinator's most popular startups.
62
62
  From the current S24 batch.
63
63
 
64
64
  How do you...`,`Y Combinator's most popular startups.
65
65
  From the current S24 batch.
66
66
 
67
- How do you...`]}},crustdata_post_list:{label:`Crustdata Post list`,type:`json`,format:`json_list_string`,description:`Rich JSON post list`,jsonMeta:{zodSchema:gn,exampleValue:_n}},role_finder_match:{label:`Role finder match`,type:`json`,format:`json_object`,description:`Result of a role finder operation`,jsonMeta:{zodSchema:Qr,exampleValue:$r}},post_text:{label:`Post text`,description:`Raw text content of a social media post`,format:`text`,type:`string`,jsonMeta:null},post_id:{label:`Post ID`,description:`Stable identifier of the post (its LinkedIn share URN)`,format:`text`,type:`string`,jsonMeta:null},amplemarket_person_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Person match object as returned by Amplemarket`,jsonMeta:{zodSchema:Rt,exampleValue:zt}},amplemarket_company_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Company match object as returned by Amplemarket`,jsonMeta:{zodSchema:It,exampleValue:Lt}},companyenrich_matches:{label:`CompanyEnrich matches`,type:`json`,format:`json_object`,description:`CompanyEnrich response list.`,jsonMeta:{zodSchema:r.array(on),exampleValue:[sn]}},logo_url:{label:`Logo URL`,type:`string`,format:`text`,description:`Company or organization logo`,jsonMeta:null},logodev_describe_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Get company logos & brand data`,jsonMeta:{exampleValue:or,zodSchema:ar}},mobile_number:{label:`Mobile`,type:`string`,description:`Mobile telephone number of a person.`,jsonMeta:null,format:`phone`},company_social_url:{label:`Company Social URL`,type:`string`,description:`Social Media URL for a given company (e.g. LinkedIn profile URL).`,jsonMeta:null,format:`profile_url`},professional_profile:{label:`Professional profile (LinkedIn)`,type:`json`,description:`A standardized format for returning LinkedIn profile data.`,jsonMeta:{zodSchema:Xr,exampleValue:Zr},format:`json_object`},hubspot_contact_found:{label:`HubSpot contact found`,type:`boolean`,description:`Whether a HubSpot contact matched the email (a clean miss is not an error).`,jsonMeta:null,format:null},hubspot_contact_match:{order:90,label:`HubSpot contact`,type:`json`,format:`json_object`,description:`One HubSpot contact record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties. Match-pipe output also carries matched_by.`,jsonMeta:{zodSchema:kn,exampleValue:An}},hubspot_companies_found_count:{label:`HubSpot companies found`,type:`number`,format:`int`,description:`Number of HubSpot companies matching the domain. Domain is HubSpot's dedupe key but not unique — multiple matches are normal.`,jsonMeta:null},hubspot_company_match:{order:90,label:`HubSpot company`,type:`json`,format:`json_object`,description:`One HubSpot company record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties.`,jsonMeta:{zodSchema:jn,exampleValue:Mn}},hubspot_company_matches:{order:90,label:`HubSpot company matches`,type:`json`,format:`json_list`,description:`All HubSpot companies matching the domain, each with id, url, matched_by, and the selected properties.`,jsonMeta:{zodSchema:Ln,exampleValue:Rn}},hubspot_deals_found_count:{label:`HubSpot deals found`,type:`number`,format:`int`,description:`Number of HubSpot deals associated with the matched company or contact.`,jsonMeta:null},hubspot_deal_match:{order:90,label:`HubSpot deal`,type:`json`,format:`json_object`,description:`One HubSpot deal record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties.`,jsonMeta:{zodSchema:Nn,exampleValue:Pn}},hubspot_deal_matches:{order:90,label:`HubSpot deal matches`,type:`json`,format:`json_list`,description:`Matched HubSpot deals (sorted by close date, newest first), each with id, url, and the selected properties.`,jsonMeta:{zodSchema:zn,exampleValue:Bn}},hubspot_object_id:{order:10,label:`HubSpot object ID`,type:`string`,description:`Record ID (hs_object_id) of the HubSpot record — the identifier to write back to it (object:update, object:associations).`,jsonMeta:null,format:`text`},hubspot_owner_id:{order:12,label:`HubSpot owner ID`,type:`string`,description:"ID of the HubSpot owner (user) — the value stored in `hubspot_owner_id` properties on contacts, companies, and deals.",jsonMeta:null,format:`text`},hubspot_owned_count:{order:50,label:`Owned records`,type:`number`,format:`int`,description:`Number of records of the selected object type owned by this HubSpot owner (only when ownership counts are enabled).`,jsonMeta:null},hubspot_owner_match:{order:90,label:`HubSpot owner`,type:`json`,format:`json_object`,description:`The HubSpot owner record: id, email, name, archived flag, and team memberships.`,jsonMeta:{zodSchema:Fn,exampleValue:In}},hubspot_update_result:{label:`HubSpot update result`,type:`json`,format:`json_object`,description:`Result of the HubSpot update: id, url, object type, and updated property names.`,jsonMeta:{zodSchema:Vn,exampleValue:Hn}},hubspot_associated_count:{label:`HubSpot associations found`,type:`number`,format:`int`,description:`Number of associated HubSpot objects found for the source record.`,jsonMeta:null},hubspot_associated_objects:{order:90,label:`HubSpot associated objects`,type:`json`,format:`json_list`,description:`Associated HubSpot objects, each with id, url, association labels, and the selected properties under properties.`,jsonMeta:{zodSchema:Un,exampleValue:Wn}},salesforce_record_id:{order:10,label:`Salesforce record ID`,type:`string`,description:`18-character ID of the Salesforce record — the identifier to write back to it (record:update, record:lookup). Every Salesforce surface emits this same column, so it chains regardless of source.`,jsonMeta:null,format:`text`},salesforce_owned_count:{order:50,label:`Owned records`,type:`number`,format:`int`,description:`Number of records of the selected object type owned by this Salesforce user (only when ownership counts are enabled).`,jsonMeta:null},salesforce_person_found:{label:`Salesforce person found`,type:`boolean`,description:`Whether the email matched a Salesforce Contact, Lead, or Person Account (a clean miss is not an error).`,jsonMeta:null,format:null},salesforce_accounts_found_count:{label:`Salesforce accounts found`,type:`number`,format:`int`,description:`Number of Salesforce accounts matching the domain. Accounts have no unique domain key — multiple matches are normal.`,jsonMeta:null},salesforce_opportunities_found_count:{label:`Salesforce opportunities found`,type:`number`,format:`int`,description:`Number of Salesforce opportunities reached via the matched account or contact role.`,jsonMeta:null},salesforce_record_found:{label:`Salesforce record found`,type:`boolean`,description:`Whether the record ID resolved to a live Salesforce record (deleted/missing is a clean miss, not an error).`,jsonMeta:null,format:null},salesforce_record_created:{label:`Salesforce record created`,type:`boolean`,description:`Whether the assert created a new record (true) or updated an existing one matched by the external ID (false).`,jsonMeta:null,format:null},salesforce_contact_match:{order:90,label:`Salesforce contact`,type:`json`,format:`json_object`,description:`One Salesforce contact record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:di,exampleValue:fi}},salesforce_lead_match:{order:90,label:`Salesforce lead`,type:`json`,format:`json_object`,description:`One Salesforce lead record: id, url, and the standard field set as flat typed keys (including IsConverted/ConvertedContactId); picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:pi,exampleValue:mi}},salesforce_account_match:{order:90,label:`Salesforce account`,type:`json`,format:`json_object`,description:`One Salesforce account record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:hi,exampleValue:gi}},salesforce_account_matches:{order:90,label:`Salesforce account matches`,type:`json`,format:`json_list`,description:`All Salesforce accounts matching the domain (oldest first), each with id, url, matched_variant, and the selected fields.`,jsonMeta:{zodSchema:wi,exampleValue:Ti}},salesforce_opportunity_match:{order:90,label:`Salesforce opportunity`,type:`json`,format:`json_object`,description:`One Salesforce opportunity record: id, url, and the standard field set as flat typed keys (IsClosed/IsWon carry the org-invariant status); picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:_i,exampleValue:vi}},salesforce_opportunity_matches:{order:90,label:`Salesforce opportunity matches`,type:`json`,format:`json_list`,description:`Matched Salesforce opportunities (newest close date first), each with id, url, contact_roles edge metadata, and the selected fields.`,jsonMeta:{zodSchema:Ei,exampleValue:Di}},salesforce_user_match:{order:90,label:`Salesforce user`,type:`json`,format:`json_object`,description:`One Salesforce user record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:yi,exampleValue:bi}},salesforce_person_match:{order:90,label:`Salesforce person`,type:`json`,format:`json_object`,description:`The matched Salesforce person across Contact, Lead, and Person Account shapes: object_type says which; keys foreign to the matched shape are null. Carries matched_by and is_converted_redirect.`,jsonMeta:{zodSchema:Si,exampleValue:Ci}},salesforce_record_match:{order:90,label:`Salesforce record`,type:`json`,format:`json_object`,description:`A generic Salesforce record (any object): id, url, object_type, and ALL fields visible to the connected user nested under record.`,jsonMeta:{zodSchema:Oi,exampleValue:ki}},salesforce_update_result:{label:`Salesforce update result`,type:`json`,format:`json_object`,description:`Result of the Salesforce update: id, url, object type, updated field names, and the fresh post-write record (formulas/triggers may rewrite values after save).`,jsonMeta:{zodSchema:Ai,exampleValue:ji}},professional_profile_url:{label:`LinkedIn Profile URL`,type:`string`,format:`profile_url`,description:`A person's LinkedIn profile URL.`,jsonMeta:null}},$i={is_claim_successful:{},bucket_counter:{},found_in_bucket:{},company_description:{},cleaned_company_name:{},company_industry:{},icypeas_person_match:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.firstname} ${t.lastname} profile`}}}},icypeas_company_match:{getStaticWidgets(e){return e?{display_value:{label:`${e.name} profile`}}:{}}},person_profile_match:{},company_region:{getStaticWidgets:e=>{let t={},n=Yi(e);return n&&(t.location_indicator={emoji:n}),t}},location_hint:{},estimated_revenue:{},founded_year:{},technology_list:{},spending_trend:{getStaticWidgets(e){let t=e;return{display_value:{label:`${t>3?`🔼🔼🔼`:t>1?`🔼🔼`:t>0?`🔼`:t<-3?`🔽🔽🔽`:t<-1?`🔽🔽`:t<0?`🔽`:``} ${Math.round(t*100)}%`}}}},technology_match_builtwith:{getStaticWidgets(e){return{display_value:{label:`Technology profile`}}}},number_of_social_followers:{},email:{},personal_email:{},alternate_personal_emails:{},company_news_summary:{},work_email:{},headcount:{},company_website_url:{},company_domain:{getStaticWidgets(e){return typeof e==`string`?{entity_logo:{entity:e,image_url:Dt(e)}}:{}}},company_name:{},first_name:{},addressee_name:{},address_line_1:{},address_line_2:{},job_title:{getStaticWidgets(e){return typeof e==`string`?{emoji:{value:Gr(e)}}:{}}},job_description:{},profile_headline:{},address_city:{},address_country:{},address_state:{},zip_code:{},last_name:{},is_work_email:{},name:{getStaticWidgets(e){return typeof e==`string`?{avatar:{image_url:``,name:e}}:{}}},ip_address:{},skills:{},avatar_url:{},string_input:{},domain:{},url_input:{},slugified:{},http_response_status:{},http_response_body:{},http_response_headers:{},luma_id:{},registered_at:{},luma_event_guest_match:{getStaticWidgets(){return{display_value:{label:`Guest`}}}},estimated_salary:{},scrape_list_response:{},clado_person_match:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} profile`}}:{}}},clado_person_match_v2:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} profile`}}:{}}},company_social_url:{getStaticWidgets(e){let t=Zi(e);return{display_value:t?{label:t}:void 0}}},crustdata_profile_match_score:{},is_email_valid:{},amplemarket_person_match:{getStaticWidgets(){return{display_value:{label:`Person match`}}}},amplemarket_company_match:{getStaticWidgets(){return{display_value:{label:`Company match`}}}},profile_url:{getStaticWidgets(e){let t=Zi(e);return{display_value:t?{label:t}:void 0,icon:{key:`linkedin`}}}},company_profile_url:{getStaticWidgets(e){let t=Zi(e);return{display_value:t?{label:t}:void 0,icon:{key:`linkedin`}}}},developer_profile_url:{},alternative_developer_profile_urls:{},profile_posts:{getStaticWidgets(){return{display_value:{label:`LinkedIn posts`}}}},profile:{getStaticWidgets(e){return e?{display_value:{label:`${e.name||`Person`} LinkedIn profile`}}:{}}},clado_person_profile:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} match`}}:{}}},email_subject:{},message:{},slack_message_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}},resend_email_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}},email_body:{},mobile:{},landline:{},phone:{},funding_history:{},funding_total_usd:{},deal_name:{},deal_amount:{},leadmagic_competitor_list:{getStaticWidgets(e){return e?{display_value:{label:e.map(e=>e.company_name).slice(0,4).join(`, `)}}:{}}},leadmagic_acquisition_history:{getStaticWidgets(e){return e?{display_value:{label:e.map(e=>e.company_name).slice(0,4).join(`, `)}}:{}}},leadmagic_company_news_list:{getStaticWidgets(e){return e?{display_value:{label:`${e.length} news sources`}}:{}}},merge_result:{},website_markdown:{getStaticWidgets(e){return e?{display_value:{label:`📝 Markdown result`}}:{}}},urls:{},website_html:{},website_url:{},website_links:{},mapped_links:{},firecrawl_extract_result:{getStaticWidgets(){return{display_value:{label:`Extract result`}}}},parallel_extract_result:{getStaticWidgets(){return{display_value:{label:`Extract result`}}}},exa_match_evaluation:{getStaticWidgets(){return{display_value:{label:`Exa match`}}}},email_validation_status:{},million_validation_match:{getStaticWidgets(){return{display_value:{label:`Validation result`}}}},post_list_string:{getStaticWidgets(e){return{entity_logo:{entity:`LinkedIn`,image_url:Et.linkedin}}}},crustdata_post_list:{getStaticWidgets(e){return{entity_logo:{entity:`LinkedIn`,image_url:Et.linkedin}}}},crustdata_company_match:{},crustdata_company_identity_matches:{},crustdata_person_match:{},parallel_person_entity_match:{},parallel_company_entity_match:{},resend_contact_id:{},lemlist_lead_id:{},hubspot_contact_found:{},hubspot_contact_match:{},hubspot_companies_found_count:{},hubspot_company_match:{},hubspot_company_matches:{},hubspot_deals_found_count:{},hubspot_deal_match:{},hubspot_object_id:{getStaticWidgets(){return{entity_logo:{entity:`Hubspot`,image_url:Ft(`hubspot`).logoUrl}}}},hubspot_owner_id:{getStaticWidgets(){return{entity_logo:{entity:`Hubspot`,image_url:Ft(`hubspot`).logoUrl}}}},hubspot_owned_count:{},hubspot_owner_match:{},hubspot_deal_matches:{},hubspot_update_result:{},hubspot_associated_count:{},hubspot_associated_objects:{},salesforce_record_id:{getStaticWidgets(){return{entity_logo:{entity:`Salesforce`,image_url:Ft(`salesforce`).logoUrl}}}},salesforce_owned_count:{},salesforce_person_found:{},salesforce_accounts_found_count:{},salesforce_opportunities_found_count:{},salesforce_record_found:{},salesforce_record_created:{},salesforce_contact_match:{},salesforce_lead_match:{},salesforce_account_match:{},salesforce_account_matches:{},salesforce_opportunity_match:{},salesforce_opportunity_matches:{},salesforce_user_match:{},salesforce_person_match:{},salesforce_record_match:{},salesforce_update_result:{},lemlist_enrollment_result:{getStaticWidgets(e){return e?{display_value:{label:`Enrolled`}}:{}}},amplemarket_sequence_id:{},sheet_record_id:{},sheet_record_ids:{},sheet_rows_found_count:{},sheet_found_rows:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.length} row${t.length===1?``:`s`}`}}}},sheet_found_row_ids:{},db_rows_found_count:{},db_found_rows:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.length} row${t.length===1?``:`s`}`}}}},companyenrich_match:{},companyenrich_matches:{},input_objects:{},role_finder_match:{},sheet:{},logodev_describe_match:{getStaticWidgets(){return{display_value:{label:`Match`}}}},logo_url:{getStaticWidgets(){return{display_value:{label:`Logo URL`}}}},post_match:{},post_text:{},post_id:{},mobile_number:{},created_sheet:{},professional_profile:{},professional_profile_url:{},crustdata_companyenrich_match:{},template_output:{},zerobounce_validation_match:{},zerobounce_validation_status:{getStaticWidgets(e){return{display_value:{label:e===`valid`?`✅ Valid`:e===`invalid`?`❌ Invalid`:e===`catch-all`?`⚾️ Catch All`:e===`abuse`?`⚠️ Abuse`:e===`do_not_mail`?`❌❌ Do not mail`:e===`spamtrap`?`❌❌❌ Spam Trap`:e}}}},gmail_email_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}}};function h(e){return{...Qi[e],name:e}}function ea(e,t){if(ra(e,t))return $i[e]}function ta(e){return e in Qi}function na(e){return ta(e)?Qi[e].order??null:null}function ra(e,t){return e in Qi?Qi[e].format===t:!1}function ia(e,t,n){if(!t.added_by||t.added_by.ref===`input`||t.added_by.pipe_index==null)throw Error(`Tried to find output field info for field not generated by pipe: ${e}, added_by: ${t.added_by}`);let r=n.orderedPipeInstances[t.added_by.pipe_index];if(!r)throw Error(`Unable to find pipe instance at index ${t.added_by.pipe_index} for resolved field ${e}`);let i=Object.entries(r.getOutputFields()).find(([t,n])=>n.resolvedName===e);if(!i)throw Error(`Resolved pipe output field '${e}' not found for pipe ${t.added_by.ref}`);let[a,o]=i;return{fieldName:a,...o}}const aa=r.enum(`company_description.cleaned_company_name.company_industry.company_region.location_hint.estimated_revenue.founded_year.technology_list.spending_trend.technology_match_builtwith.number_of_social_followers.email.personal_email.alternate_personal_emails.company_news_summary.work_email.headcount.company_website_url.company_domain.company_name.first_name.addressee_name.address_line_1.address_line_2.job_title.job_description.profile_headline.address_city.address_country.address_state.zip_code.last_name.is_work_email.companyenrich_match.companyenrich_matches.name.ip_address.skills.avatar_url.estimated_salary.is_email_valid.profile_url.developer_profile_url.alternative_developer_profile_urls.company_profile_url.profile_posts.clado_person_match.clado_person_match_v2.icypeas_person_match.icypeas_company_match.clado_person_profile.resend_email_success.email_body.email_subject.profile.mobile.landline.phone.message.slack_message_success.funding_history.funding_total_usd.deal_name.deal_amount.template_output.gmail_email_success.zerobounce_validation_status.zerobounce_validation_match.leadmagic_competitor_list.leadmagic_acquisition_history.leadmagic_company_news_list.merge_result.mapped_links.website_markdown.website_html.website_url.urls.website_links.firecrawl_extract_result.parallel_extract_result.exa_match_evaluation.email_validation_status.million_validation_match.scrape_list_response.resend_contact_id.sheet_record_id.sheet_record_ids.sheet_rows_found_count.sheet_found_rows.sheet_found_row_ids.db_rows_found_count.db_found_rows.input_objects.role_finder_match.logodev_describe_match.logo_url.crustdata_company_match.crustdata_companyenrich_match.crustdata_company_identity_matches.crustdata_person_match.person_profile_match.parallel_person_entity_match.parallel_company_entity_match.post_list_string.crustdata_post_list.crustdata_profile_match_score.amplemarket_person_match.amplemarket_company_match.created_sheet.sheet.string_input.domain.url_input.slugified.http_response_status.http_response_body.http_response_headers.luma_id.registered_at.luma_event_guest_match.post_match.post_text.post_id.lemlist_lead_id.lemlist_enrollment_result.amplemarket_sequence_id.is_claim_successful.bucket_counter.found_in_bucket.hubspot_contact_found.hubspot_contact_match.hubspot_companies_found_count.hubspot_company_match.hubspot_company_matches.hubspot_deals_found_count.hubspot_deal_match.hubspot_deal_matches.hubspot_owner_id.hubspot_owned_count.hubspot_owner_match.hubspot_object_id.hubspot_update_result.hubspot_associated_count.hubspot_associated_objects.salesforce_record_id.salesforce_owned_count.salesforce_person_found.salesforce_accounts_found_count.salesforce_opportunities_found_count.salesforce_record_found.salesforce_record_created.salesforce_contact_match.salesforce_lead_match.salesforce_account_match.salesforce_account_matches.salesforce_opportunity_match.salesforce_opportunity_matches.salesforce_user_match.salesforce_person_match.salesforce_record_match.salesforce_update_result.professional_profile_url.professional_profile.company_social_url.mobile_number`.split(`.`)),oa=r.enum(`pipe0.findymail.crustdata.hunter.zerobounce.millionverifier.googlemaps.gemini.anthropic.leadmagic.mixrank.builtwith.perplexity.serper.icypeas.prospeo.clado.resend.slack.gmail.firecrawl.exa.openai.companyenrich.logodev.amplemarket.parallel.luma.postgres.databricks.lemlist.hubspot.salesforce`.split(`.`)),sa=r.enum([`production`,`sandbox`]),ca=`prompt:run@1.agent:run@1.company:newssummary:website@1.company:newssummary:domain@1.company:techstack:builtwith@1.company:techstack:builtwith@2.company:websiteurl:email@1.company:domain:workemail@1.company:funding:leadmagic@1.company:funding:leadmagic@2.company:funding:waterfall@1.people:workemail:waterfall@1.person:workemail:waterfall@1.people:email:iswork@1.email:iswork@1.people:name:split@1.person:name:split@1.person:name:join@1.people:validate:email:zerobounce@1.people:email:validate:zerobounce@2.email:validate:zerobounce@1.people:mobilenumber:workemail:waterfall@1.company:overview@1.company:overview@2.company:overview@3.json:extract:multi@1.email:write@1.message:write@1.email:send:resend@1.email:send:gmail@1.message:send:slack@1.template:fill@1.contact:create:resend@1.lead:enroll:lemlist@1.contact:match:hubspot@1.company:match:hubspot@1.deal:match:hubspot@1.object:update:hubspot@1.object:associations:hubspot@1.person:match:salesforce@1.account:match:salesforce@1.opportunity:match:salesforce@1.record:lookup:salesforce@1.record:update:salesforce@1.record:assert:salesforce@1.lead:enroll:amplemarket@1.people:match:role:waterfall@1.person:match:role:waterfall@1.person:identity:amplemarket@1.company:identity@2.company:identity@3.company:identity:crustdata@1.person:match:amplemarket@1.people:phone:profile:waterfall@1.person:mobile:profileurl:waterfall@1.people:personalemail:profile:waterfall@1.person:personalemail:profileurl:waterfall@1.people:profile:waterfall@1.person:profile:waterfall@1.people:profileurl:email:waterfall@1.person:profileurl:email:waterfall@1.person:profileurl:name@1.people:email:validate:zerobounce@1.person:email:validate:millionverifier@1.people:phone:workemail:waterfall@1.person:mobile:workemail:waterfall@1.fields:merge@1.field:slugify@1.field:domainify@1.website:scrape:firecrawl@1.website:scrapelist:firecrawl@1.website:extract:firecrawl@1.website:extract:parallel@1.website:maplinks:firecrawl@1.row:append:sheet@1.row:expandappend:sheet@1.row:roundrobin:sheet@1.bucket:claim@1.bucket:count@1.bucket:check@1.rows:find:sheet@1.rows:find:postgres@1.rows:find:databricks@1.company:lookalikes:companyenrich@1.company:lookalikes:companyenrich@2.company:match:logodev@1.company:match:logodev@2.person:posts:content:crustdata@1.company:match:crustdata@1.company:match:crustdata@2.people:profile:workemail:crustdata@1.person:profile:workemail:crustdata@1.people:workemail:profileurl:waterfall@1.person:workemail:profileurl:waterfall@1.people:identity:email:waterfall@1.person:identity:email:waterfall@1.person:devprofileurl:profileurl:waterfall@1.http:request@1.company:identity@1.people:professionalprofile:waterfall@1.people:professionalprofileurl:name@1.people:professionalprofileurl:email:waterfall@1.people:mobilenumber:professionalprofile:waterfall@1`.split(`.`),la=r.enum(ca),ua=[`string`,`number`,`boolean`,`json`,`unknown`],da=r.enum(ua),fa=r.union([r.number(),r.string()]),pa=r.union([r.literal(`completed`),r.literal(`failed`),r.literal(`pending`),r.literal(`queued`),r.literal(`processing`),r.literal(`no_result`),r.literal(`skipped`)]),ma=r.union([r.string().min(1),r.number(),r.boolean(),r.null(),r.record(r.string(),r.unknown()),r.array(r.unknown())]),ha=r.object({example_value:r.any().nullable(),schema:r.any().nullable()}),ga=r.object({type:r.literal(`static`).optional()}),_a=ga.extend({image_url:r.url().describe(`URL to the provider's logo image.`),entity:r.string().describe(`The name of the entity.`)}),va=ga.extend({emoji:r.string().describe(`Country flag emoji.`)}),ya=ga.extend({image_url:r.url().describe(`URL to the provider's logo image.`),name:r.string().describe(`The name of the avatar owner.`)}),ba=ga.extend({attempted_providers:r.array(r.object({provider:oa})),available_providers:r.array(oa),successful_provider:oa.optional()}),xa=r.enum([`linkedin`,`job`]),Sa=ga.extend({key:xa}).optional(),Ca=ga.extend({result_status:r.enum([`completed`,`failed`])}).optional(),wa=ga.extend({list:r.array(r.object({source:r.string(),description:r.string().optional(),url:r.string()}))}).optional(),Ta=ga.extend({numeric:r.int().min(1).max(5)}).optional(),Ea=ga.extend({value:r.string().min(1)}).optional(),Da=r.object({display_value:ga.extend({label:r.string().optional()}),entity_logo:_a.optional(),location_indicator:va.optional(),avatar:ya.optional(),waterfall:ba.optional(),icon:Sa,action_summary:Ca,sources:wa,confidence:Ta,emoji:Ea}).partial().describe(`A map of widgets associated with this field for UI display, keyed by widget type.`),Oa=r.object({code:r.string(),message:r.string(),path:r.string().optional()}),ka=r.object({code:r.string(),summary:r.string(),message:r.string()}),Aa=[`json_object`,`json_list`,`json_list_string`,`url`,`website_url`,`profile_url`,`email`,`datetime`,`currency`,`date`,`phone`,`markdown`,`text`,`int`,`decimal`,`address_line_1`,`zip_code`,`percent`],ja=r.enum(Aa);ja.nullable();const Ma=r.object({type:da,label:r.string().nullable().optional(),format:ja.nullable().optional(),json_metadata:ha.nullable().optional()}),Na=r.record(r.string(),Ma),Pa=r.enum([...ca,`input`]).nullable(),Fa=r.enum([...ca,`input`,`system`]).nullable(),Ia=r.object({ref:Pa,config_hash:r.string().nullable()}),La=r.object({ref:Fa,environment:sa.nullable(),config_hash:r.string().nullable(),input_hash:r.string().nullable()}),Ra=r.object({value:ma,status:pa,type:da,reason:ka.nullable(),claimed_by:Ia,resolved_by:La.nullable(),widgets:Da.optional(),format:ja.nullable()}),za=r.object({value:ma,status:pa,reason:ka.nullable().optional(),type:da.optional(),format:ja.nullable().optional(),claimed_by:Ia.optional(),resolved_by:La.nullable().optional(),widgets:Da.optional()}),Ba=r.record(r.string(),r.union([ma,za])).openapi(`PipesInput`),Va=r.object({id:fa,fields:r.record(fa,Ra)}),Ha=r.object({type:r.literal(`catalog`),fieldName:r.string().min(1)}),Ua=r.object({type:da,label:r.string(),added_by:r.object({ref:r.union([la,r.literal(`input`)]),config_hash:r.string().nullable(),pipe_index:r.number().nullable()}),format:ja.nullable(),is_primary_output:r.boolean(),order:r.number().nullable().optional()}),Wa=r.record(r.string(),Ua),Ga=r.object({field_name:r.string().min(1),extractions:r.array(r.object({path:r.string().min(1),output_field:r.object({name:r.string().min(1),format:ja.nullable().default(null),label:r.string().optional(),type:da})})).min(1).check(e=>{let t=new Set;Object.values(e.value).forEach(n=>{t.has(n.output_field.name)?e.issues.push({code:`custom`,message:`Output field names must be unique. The name ${n.output_field.name} exists more than once in your config.`,input:e.value}):t.add(n.output_field.name)})})}),Ka=r.enum([`eq`,`neq`,`gt`,`gte`,`lt`,`lte`,`contains`,`matches`]),qa={eq:`equals`,neq:`not equals`,gt:`greater than`,gte:`greater than or equal`,lt:`less than`,lte:`less than or equal`,contains:`contains`,matches:`matches regex`},Ja=[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`,`contains`,`matches`],Ya=[`eq`,`neq`],Xa=r.object({type:r.literal(`vault`),connection:r.string().refine(e=>{let t=e.split(`_`)[0];return t!=null&&oa.safeParse(t).success},{message:`Invalid vault connection string: expected the full provider-prefixed value (e.g. "slack_my-workspace") where the segment before the first "_" is a known provider name. Copy the string exactly as the vault lists it — never strip the prefix.`})}),Za=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(Xa)}).nullable().optional(),Qa=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(Xa).min(1,{message:`Provide your own credentials to use this object.`})},{error:`Provide your own credentials to use this object.`}),$a=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(r.object({type:r.literal(`vault`),connection:r.string()})).max(0,{message:`This pipe does not support custom connectors.`})}).optional().nullable(),eo=r.enum(Ja),to=r.enum(Ya),no=r.enum([`failed`,`no_result`,`completed`,`skipped`]),ro=r.object({property:r.literal(`value`).describe(`Compare the actual field value. Use operators: eq, neq, gt, gte, lt, lte, contains, matches.`),field_name:r.string().min(1,{message:`Provide a target field for the condition.`}).describe(`Name of a field from input data or produced by an earlier pipe in the workflow.`),operator:eo.describe(`Comparison operator: "eq", "neq", "gt", "gte", "lt", "lte", "contains", "matches" (regex).`),value:r.union([r.number(),r.string(),r.boolean(),r.null()]).describe(`The value to compare the field against. Must be a primitive (string, number, boolean, or null).`).check(e=>{(e.value===void 0||e.value===``)&&e.issues.push({code:`custom`,input:e.value,message:`Provide a value to compare against.`}),typeof e.value==`object`&&e.value!==null&&e.issues.push({code:`custom`,input:e.value,message:`Conditions can only be defined on primitive fields. To apply a condition on a JSON value, expand it into an object first.`})})}),io=r.object({property:r.literal(`status`).describe(`Compare the field resolution status instead of its value. Use operators: eq, neq.`),field_name:r.string().min(1).describe(`Name of a field from input data or produced by an earlier pipe in the workflow.`),operator:to.describe(`Status comparison operator: "eq" or "neq".`),value:no.describe(`Field status to compare against: "completed", "no_result", "failed", or "skipped".`)}),ao=r.object({logic:r.enum([`and`,`or`]).describe(`"and" = all conditions must match. "or" = any condition matches.`),conditions:r.array(r.discriminatedUnion(`property`,[ro,io])).min(1).describe(`Array of conditions to evaluate. Each condition checks either a field value or its resolution status.`)}).describe(`Condition block. All conditions are combined with the chosen logic (and/or).`),oo=r.object({logic:r.enum([`and`,`or`]).describe(`"and" = all conditions must match. "or" = any condition matches.`),conditions:r.array(ro).min(1).describe(`Array of value conditions to evaluate.`)}).describe(`Condition block. All conditions are combined with the chosen logic (and/or).`),so=r.object({action:r.enum([`run`]).default(`run`).describe(`What to do when conditions match. Defaults to "run" (run the pipe only on matching records). Reserved for future extension.`),when:ao}).describe(`Run-if gate for a pipe. When set, the pipe only runs on records matching the conditions. Example: { "when": { "logic": "and", "conditions": [{ "property": "status", "field_name": "work_email", "operator": "neq", "value": "no_result" }] } }`),co=[`if`,`elsif`,`else`,`endif`,`unless`,`endunless`,`for`,`endfor`,`break`,`continue`,`output`],lo=[`json`,`escape`,`escape_once`,`default`,`upcase`,`downcase`,`size`,`join`,`first`,`last`,`replace`,`truncate`,`strip`,`newline_to_br`,`url_encode`],uo=/^[A-Z][A-Z0-9_]*$/,fo=/^[A-Z][A-Z0-9_]*$/,po=/^[a-zA-Z_][a-zA-Z0-9_]*$/,mo=`SECRETS`,ho=`CONSTANTS`,go=new Set(co),_o=new Set(lo),vo=e=>`{${e}}`;var yo=class extends i{constructor(e){super(),this.values=e}liquidMethodMissing(e){let t=String(e);if(!uo.test(t))throw Error(`Secret key "${t}" must be uppercase letters, digits, and underscores (e.g. SECRETS.API_KEY).`);if(!(t in this.values))throw Error(`Missing secret: SECRETS.${t}`);return this.values[t]}},bo=class extends i{constructor(e){super(),this.values=e}liquidMethodMissing(e){let t=String(e);if(!fo.test(t))throw Error(`Constant key "${t}" must be uppercase letters, digits, and underscores (e.g. CONSTANTS.PROMO).`);if(!(t in this.values))throw Error(`Missing constant: CONSTANTS.${t}`);return this.values[t]}};function xo(e){let t=e.trim();if(!t)throw Error(`Empty {% output %} tag — expected at least a name (e.g. {% output rec, type: "string", description: "..." %}).`);let n=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*(?:,|$)/);if(!n||!n[1])throw Error(`Invalid {% output %} tag — expected a name as the first argument, got: ${t}`);let r=n[1];if(!po.test(r))throw Error(`Invalid {% output %} tag name "${r}" — must start with a letter or underscore and contain only letters, digits, and underscores.`);let i=t.slice(n[0].length).trim(),a={},o=/([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|(true|false))\s*(?:,|$)/g,s=0,c;for(;(c=o.exec(i))!==null;){s=c.index+c[0].length;let e=c[1],t=c[2]??c[3]??c[4];c[4]===void 0?a[e]=t:a[e]=t===`true`}if(i&&s<i.length)throw Error(`Invalid {% output %} tag — could not parse arguments after "${i.slice(s)}". Expected key: "value" pairs.`);let l=a.type;if(typeof l!=`string`||!l)throw Error(`{% output ${r} %} tag is missing required "type" argument (e.g. type: "string").`);let u=a.description;if(typeof u!=`string`||!u)throw Error(`{% output ${r} %} tag is missing required "description" argument (e.g. description: "What this means.").`);return{name:r,type:l,description:u,required:typeof a.required==`boolean`?a.required:!0,format:typeof a.format==`string`?a.format:null,schemaRef:typeof a.schema==`string`?a.schema:null}}function So(){let e=new a({strictVariables:!1,strictFilters:!0,jsTruthy:!0,greedy:!1,catchAllErrors:!1,ownPropertyOnly:!0});e.registerTag(`output`,{parse(e,t){let n=xo(e.args);this.outputDecl=n},render(e,t){let n=this.outputDecl;if(!(e.globals&&e.globals.__outputAllowed))throw Error(`{% output %} is not allowed in this template (referenced output "${n.name}").`);t.write(vo(n.name))}});for(let t of Object.keys(e.tags))go.has(t)||delete e.tags[t];for(let t of Object.keys(e.filters))_o.has(t)||delete e.filters[t];return e}let Co=null;function wo(){return Co||=So(),Co}async function To(e,t,n={}){let r=wo(),i=n.renderLimitMs??250,a={...t.inputs??{},[mo]:new yo(t.secrets??{}),[ho]:new bo(t.constants??{})},o={globals:{__outputAllowed:n.outputAllowed===!0},renderLimit:i},s=await Promise.race([r.parseAndRender(e,a,o),new Promise((e,t)=>setTimeout(()=>t(Error(`Liquid render exceeded ${i}ms.`)),i))]);return String(s)}function Eo(e,t,n={}){let r=wo(),i=n.renderLimitMs??250,a={...t.inputs??{},[mo]:new yo(t.secrets??{}),[ho]:new bo(t.constants??{})},o=r.parseAndRenderSync(e,a,{globals:{__outputAllowed:n.outputAllowed===!0},renderLimit:i});return String(o)}function Do(e){return wo().parse(e)}function Oo(e){let t=wo().parse(e),n={scopeStack:[],guardStack:[],inputs:new Map,secrets:new Set,constants:new Set,outputs:[],forDepth:0};ko(t,n);let r={};for(let[e,t]of n.inputs)r[e]={required:t.unguardedRefs>0};return{inputs:r,secrets:[...n.secrets],constants:[...n.constants],outputs:n.outputs}}function ko(e,t){for(let n of e)Ao(n,t)}function Ao(e,t){let n=e;if(n.value&&typeof n.value==`object`&&`filters`in n.value&&`initial`in n.value){Fo(n.value,t,!1);return}if(typeof n.name==`string`){jo(n,t);return}}function jo(e,t){switch(e.name){case`for`:Mo(e,t);return;case`if`:case`unless`:No(e,t);return;case`output`:Po(e,t);return;case`break`:case`continue`:return;default:throw Error(`Unhandled liquid tag in analyzer: ${e.name}`)}}function Mo(e,t){if(t.forDepth+=1,t.forDepth>3)throw Error(`Liquid template exceeds maximum nested {% for %} depth of 3.`);e.collection!==void 0&&e.collection!==null&&Io(e.collection,t,!1);let n=typeof e.variable==`string`?e.variable:null;n&&t.scopeStack.push(n),ko(Array.isArray(e.templates)?e.templates:[],t),n&&t.scopeStack.pop(),ko(Array.isArray(e.elseTemplates)?e.elseTemplates:[],t),--t.forDepth}function No(e,t){let n=Array.isArray(e.branches)?e.branches:[];e.name;for(let e=0;e<n.length;e++){let r=n[e],i=r.value,a=null;e===0&&i&&typeof i==`object`&&(a=zo(i.initial)),a&&t.guardStack.push(a),i&&typeof i==`object`&&Fo(i,t,!1),ko(r.templates,t),a&&t.guardStack.pop()}ko(Array.isArray(e.elseTemplates)?e.elseTemplates:[],t)}function Po(e,t){let n=e.outputDecl;if(!n){let t=e.token?.args;typeof t==`string`&&(n=xo(t))}if(!n)throw Error(`Internal: {% output %} tag missing parsed declaration.`);t.outputs.push({name:n.name,type:n.type,description:n.description,required:n.required,format:n.format,schemaRef:n.schemaRef??void 0})}function Fo(e,t,n){let r=e.filters.some(e=>e.name===`default`),i=n||r;for(let n of e.initial.postfix)Bo(n)&&Ro(n,t,i);for(let n of e.filters)for(let e of n.args)Lo(e,t)}function Io(e,t,n){Bo(e)&&Ro(e,t,n)}function Lo(e,t){if(Array.isArray(e)){let n=e[1];n&&Io(n,t,!1)}else Io(e,t,!1)}function Ro(e,t,n){let r=e.props;if(r.length===0)return;let i=r[0];if(!i||!Vo(i))return;let a=i.content;if(t.scopeStack.includes(a))return;if(a===`SECRETS`){let e=r[1];if(!e||!Vo(e))throw Error(`Invalid SECRETS reference — expected SECRETS.KEY (got ${Wo(r)}).`);let n=e.content;if(!uo.test(n))throw Error(`Invalid SECRETS key "${n}" — must be uppercase letters, digits, and underscores (e.g. SECRETS.API_KEY).`);t.secrets.add(n);return}if(a===`CONSTANTS`){let e=r[1];if(!e||!Vo(e))throw Error(`Invalid CONSTANTS reference — expected CONSTANTS.KEY (got ${Wo(r)}).`);let n=e.content;if(!fo.test(n))throw Error(`Invalid CONSTANTS key "${n}" — must be uppercase letters, digits, and underscores (e.g. CONSTANTS.PROMO).`);t.constants.add(n);return}let o=n||t.guardStack.includes(a),s=t.inputs.get(a)??{unguardedRefs:0,guardedRefs:0};o?s.guardedRefs+=1:s.unguardedRefs+=1,t.inputs.set(a,s)}function zo(e){if(e.postfix.length===1){let t=e.postfix[0];if(t&&Bo(t)&&t.props.length===1){let e=t.props[0];if(e&&Vo(e))return e.content}}if(e.postfix.length===3){let[t,n,r]=e.postfix;if(t&&n&&r&&Bo(t)&&t.props.length===1){let e=t.props[0];if(e&&Vo(e)&&Ho(n)&&Uo(r,[`==`,`!=`]))return e.content}}return null}function Bo(e){return e.kind===o.PropertyAccess}function Vo(e){return!!e&&typeof e==`object`&&e.kind===o.Word}function Ho(e){if(e.kind!==o.Literal)return!1;let t=e.literal;return t===`nil`||t===`null`}function Uo(e,t){return e.kind===o.Operator?t.includes(e.operator):!1}function Wo(e){let t=[];for(let n of e)n&&Vo(n)?t.push(n.content):t.push(`?`);return t.join(`.`)}const Go=`default`,Ko=`pipe0_default`;function qo(e){let t=e.split(`_`),n=t[0],r=t.slice(1).join(`_`);if(!n)throw Error(`connection string of invalid format`);try{return{provider:oa.parse(n),id:r}}catch{throw Error(`Connection string ${e}: Failed to parse provider name.`)}}function Jo(e){return`${e.provider}_${e.id}`}const Yo=new s;function Xo(e){return Yo.validateSchema(e)}function Zo(e){let t=!1;return c(e,{},e=>{e.type&&[`string`,`number`,`boolean`,`integer`,`null`].includes(e.type)&&(t=!0),e.type===`object`&&e.properties&&Object.keys(e.properties).length>0&&(t=!0),e.type===`array`&&e.items&&(t=!0)}),!t}function Qo(e){try{return JSON.parse(e)}catch{}return JSON.parse(rs(e))}function $o(e){try{return Qo(e)}catch{return}}const es=/[A-Za-z_$]/,ts=/[\w$]/,ns=/\s/;function rs(e){let t=``,n=0,r=e.length;for(;n<r;){let i=e[n];if(i===`"`||i===`'`){let a=i,o=``;for(n++;n<r&&e[n]!==a;){if(e[n]===`\\`){o+=`\\${e[n+1]??``}`,n+=2;continue}o+=e[n],n++}n++,t+=JSON.stringify(is(o));continue}if(es.test(i)){let i=n;for(;i<r&&ts.test(e[i]);)i++;let a=e.slice(n,i),o=i;for(;o<r&&ns.test(e[o]);)o++;t+=e[o]===`:`?JSON.stringify(a):a,n=i;continue}if(i===`,`){let t=n+1;for(;t<r&&ns.test(e[t]);)t++;if(e[t]===`}`||e[t]===`]`){n++;continue}}t+=i,n++}return t}function is(e){let t=``;for(let n=0;n<e.length;n++){if(e[n]!==`\\`){t+=e[n];continue}let r=e[++n];switch(r){case`n`:t+=`
68
- `;break;case`t`:t+=` `;break;case`r`:t+=`\r`;break;case`b`:t+=`\b`;break;case`f`:t+=`\f`;break;case`v`:t+=`\v`;break;case`0`:t+=`\0`;break;case`u`:{let r=e.slice(n+1,n+5);/^[0-9a-fA-F]{4}$/.test(r)?(t+=String.fromCharCode(Number.parseInt(r,16)),n+=4):t+=`u`;break}default:t+=r??``;break}}return t}const g=(e,t=`Add a ${e} connection to enable this field`)=>n=>(n.connector?.connections??[]).some(t=>t?.connection?.startsWith(`${e}_`))?{disabled:!1}:{disabled:!0,message:t},as=(e,t)=>n=>{let r=e(n);return r!=null&&r!==``?{disabled:!1}:{disabled:!0,message:t}},os=(...e)=>t=>{for(let n of e){let e=n(t);if(e.disabled)return e}return{disabled:!1}},ss=(...e)=>t=>{let n={disabled:!0,message:`No condition matched`};for(let r of e){let e=r(t);if(!e.disabled)return e;n=e}return n},cs=[`google-low`,`openai-high`,`anthropic-high`],ls={"google-low":{label:`Gemini 3.5 Flash`,provider:`gemini`,rateLimitOperation:`gemini_35_flash`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`},"openai-high":{label:`GPT-5.5`,provider:`openai`,rateLimitOperation:`openai_gpt-5`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`},"anthropic-high":{label:`Claude Opus 4.8`,provider:`anthropic`,rateLimitOperation:`anthropic_opus`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`}},us=.03,ds=.3,fs=100,ps=100,ms={"google-low":{inputPer1M:1.5,outputPer1M:9},"openai-high":{inputPer1M:5,outputPer1M:30},"anthropic-high":{inputPer1M:5,outputPer1M:25}};function hs(e){let t=ls[e];if(!t)throw Error(`Unknown AI model: ${e}`);return[t.provider]}function gs(e){let t=ls[e];if(!t)throw Error(`Unknown AI model: ${e}`);return[{provider:t.provider,rateLimitRatio:t.rateLimitRatio,rateLimitOperation:t.rateLimitOperation,allowManagedConnection:t.allowManagedConnection}]}function _s(){let e=new Set;for(let t of cs)e.add(ls[t].provider);return[...e]}function vs(e){return Object.keys(e).some(e=>cs.some(t=>e.endsWith(`-in-${t}`)||e.endsWith(`-out-${t}`)))}function ys(e,t){return e/1e6*(1+ds)/us*t}function bs(e){let t=ms[e];if(!t)throw Error(`Unknown AI model: ${e}`);return{in:ys(t.inputPer1M,100),out:ys(t.outputPer1M,100)}}function xs(e,t){let n=Math.round(ds*100);return`Billed per 100 ${e} tokens at ${Number(t.toPrecision(4))} credits/block (managed keys include a ${n}% margin over provider cost).`}function Ss(e){let t={};for(let n of cs){let r=ls[n],i=bs(n);t[`${e}-in-${n}`]={credits:{default:i.in},allowManagedConnection:!0,provider:r.provider,mode:r.billingMode,note:xs(`input`,i.in)},t[`${e}-out-${n}`]={credits:{default:i.out},allowManagedConnection:!0,provider:r.provider,mode:r.billingMode,note:xs(`output`,i.out)}}return t}function Cs(e,t){return{input:`${t}-in-${e}`,output:`${t}-out-${e}`}}function ws(e,t){let n=Cs(t.model,t.prefix);return[{billableOperation:n.input,quantity:e.count*Math.ceil(t.inputTokens/100)},{billableOperation:n.output,quantity:e.count*Math.ceil(t.outputTokens/100)}]}var Ts=class{carriedInput=0;carriedOutput=0;addUsage(e){this.carriedInput+=Math.max(0,e.inputTokens),this.carriedOutput+=Math.max(0,e.outputTokens)}drainBlocks(){let e=Math.floor(this.carriedInput/100),t=Math.floor(this.carriedOutput/100);return this.carriedInput-=e*100,this.carriedOutput-=t*100,{inBlocks:e,outBlocks:t}}flush(){let e=+(this.carriedInput>0),t=+(this.carriedOutput>0);return this.carriedInput=0,this.carriedOutput=0,{inBlocks:e,outBlocks:t}}};function Es(e){if(!e?.requires)return;let t=[];e.requires.connection&&t.push(g(e.requires.connection));for(let n of e.requires.fields??[])t.push(as(e=>n.split(`.`).reduce((e,t)=>e==null?e:e[t],e),`Set ${n} first`));if(t.length!==0)return t.length===1?t[0]:os(...t)}function Ds(e,t,n){let i={exampleValue:null,jsonSchema:null},a=t.fieldAnnotations.annotations[e];if(a?.json_metadata?.example_value&&(i.exampleValue=a.json_metadata.example_value||null),a?.json_metadata?.schema&&(i.jsonSchema=a.json_metadata.schema||null),i.exampleValue&&i.jsonSchema||!t.resolvedFieldNames[e])return i;let o=ia(e,n,t),s=ta(o.fieldName)?h(o.fieldName):null;return s?.jsonMeta?{jsonSchema:s.jsonMeta.zodSchema?r.toJSONSchema(s.jsonMeta.zodSchema):null,exampleValue:s.jsonMeta.exampleValue||null}:i}const _=r.registry();{let e=_._map,t=_.get.bind(_);_.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const v=r.registry();{let e=v._map,t=v.get.bind(v);v.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const Os=r.registry();{let e=Os._map,t=Os.get.bind(Os);Os.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const ks=e=>e,y={text_input:r.coerce.string(),textarea_input:r.string(),prompt_input:r.object({template:r.string(),json_schemas:r.record(r.string(),r.record(r.string(),r.unknown()))}),template_input:r.string(),tagged_text_input:r.coerce.string(),boolean_input:r.boolean(),nullable_boolean_input:r.boolean().nullable(),select_input:r.string(),multi_select_input:r.array(r.string()),async_multi_select_input:r.array(r.string()),int_input:r.coerce.number().int(),number_input:r.coerce.number(),min_max_int_input:r.object({min:r.number().nullable().default(null),max:r.number().nullable().default(null)}),include_exclude_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),include_exclude_select_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),async_include_exclude_select_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),exact_range_input:r.record(r.string(),r.number().nullable()),range_input:r.object({from:r.number().nullable(),to:r.number().nullable()}),date_range_input:r.record(r.string(),r.string()),multi_create_input:r.array(r.string()),property_list_input:r.array(r.object({property:r.string().min(1)})),ordered_multi_create_input:r.array(r.string()),tagged_ordered_multi_create_input:r.array(r.string()),loose_object_input:r.record(r.string(),r.string()),connector_input:r.object({connections:r.array(r.object({type:r.string(),connection:r.string()}))}).nullable(),providers_input:r.array(r.object({provider:r.string()})),json_extraction_input:r.record(r.string(),r.unknown()),pipes_run_if_input:r.record(r.string(),r.unknown()).nullable(),condition_block_input:r.record(r.string(),r.unknown()).nullable(),fields_select_input:r.array(r.object({field_name:r.string()})),typed_fields_select_input:r.array(r.object({field_name:r.string(),type:r.enum(ua),format:r.enum(Aa).nullable().optional()})),field_select_input:r.object({field_name:r.string()}),output_field_input:r.object({alias:r.string(),enabled:r.boolean()}),json_schema_input:r.record(r.string(),r.unknown()),cursor_pagination_metadata:r.object({limit:r.number()}),context_select_input:r.union([r.string(),r.array(r.string())]),search_payload_input:r.looseObject({search_id:r.string()})},As=(e,t,n)=>{let r=[t.description||n,t.guide].filter(Boolean).join(` `);return r?e.describe(r):e.check(()=>{})},js=(e,t)=>{let n=y.multi_create_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`multi_create_input`,...e}),n},Ms=(e,t)=>{let n=y.property_list_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`property_list_input`,...e}),n},Ns=(e,t)=>{let n=y.ordered_multi_create_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`ordered_multi_create_input`,...e}),n},Ps=/^\s*\{\{\s*[a-zA-Z_][a-zA-Z0-9_.]*(?:\s*\|\s*[^}]+)?\s*\}\}\s*$/,Fs=/\{\{|\{%/,Is=(e,t)=>{let n=y.tagged_ordered_multi_create_input;e.maxItems&&(n=n.max(e.maxItems)),n=n.check(e=>{let t=e;(t.value??[]).forEach((e,n)=>{let r=Ps.test(e),i=Fs.test(e);!r&&i&&t.issues.push({code:`custom`,input:e,path:[n],message:`Each entry must be either plain text or a single field reference — not mixed.`})})}),n=e.minItems?n.min(e.minItems):n.default([]);let r={type:`tagged_ordered_multi_create_input`,...e};if(t===_){let i=t=>{let n=t.validationContext,i=n?Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).filter(([t,n])=>!e.expectedTagType||n.type===e.expectedTagType).map(([e,t])=>({...t,resolvedName:e})):[];return{...r,inputFields:i}};return i.staticMeta={...r,inputFields:[]},t.add(n,i),n}return t.add(n,r),n},Ls=(e,t)=>{let n=y.loose_object_input;n=n.check(t=>{let n=t,r=Object.entries(n.value??{});e.minKeys!=null&&r.length<e.minKeys&&n.issues.push({code:`custom`,input:n.value,message:`Add at least ${e.minKeys} ${e.keyLabel?.toLowerCase()??`entr`}${e.keyLabel?`s`:`ies`}.`}),e.maxKeys!=null&&r.length>e.maxKeys&&n.issues.push({code:`custom`,input:n.value,message:`Use at most ${e.maxKeys} ${e.keyLabel?.toLowerCase()??`entr`}${e.keyLabel?`s`:`ies`}.`}),r.forEach(([e,t])=>{pc({value:t,issues:n.issues},!1,[e])})}),n=n.default({});let r={type:`loose_object_input`,...e},i=e=>{let t=e.validationContext,n=t?Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e.hash).map(([e,t])=>({...t,resolvedName:e})):[];return{...r,inputFields:n}};return i.staticMeta={...r,inputFields:[]},t.add(n,i),n},Rs=(e,t)=>{let n=e.maxItems||200,r=As(y.include_exclude_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})}),e);return t.add(r,{type:`include_exclude_input`,...e}),r},zs=()=>{let e=Ga;return _.add(e,e=>{let t=e.validationContext;return{label:``,description:``,type:`json_extraction_input`,fields:Object.entries(t.fieldDefinitions).filter(([e,t])=>e.toLowerCase()!==`id`&&t.type===`json`).map(([e,n])=>{let{jsonSchema:r,exampleValue:i}=Ds(e,t,n)||{};return{fieldName:e,fieldLabel:n.label,schema:r||null,exampleValue:i||null}}),path:`config.json_extraction`,groupPath:`config.json_extraction`,sectionKey:`general`}}),e},Bs=(e,t)=>{let n=r.array(r.object({provider:r.enum(e.availableProviders)})).max(e.maxItems||99).min(1).default(e.defaultProviders),i=e.availableProviders.map(t=>{let n=e.providerCredits?.[t];return{value:t,label:Pt[t].label,widgets:{provider_logo:{provider:t},...typeof n==`number`?{pricing:{credits:n}}:{}}}});return t.add(n,{label:`Provider sequence`,description:``,path:`config.providers`,groupPath:`config.providers`,type:`providers_input`,options:i,defaultProviders:e.defaultProviders,maxItems:e.maxItems,sectionKey:e.sectionKey}),n},Vs=(e,t)=>{let n=e.maxItems||200,r=As(y.include_exclude_select_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})}),e);return t.add(r,{type:`include_exclude_select_input`,...e}),r},Hs=(e,t)=>{let n=As(y.exact_range_input.check(t=>{e.min===void 0&&e.max===void 0||Object.values(t.value).filter(e=>e!==null).some(t=>e.min!=null&&t<e.min||e.max!=null&&t>e.max)&&t.issues.push({code:`custom`,input:t.value,message:`Values must be between ${e.min??`any`} and ${e.max??`any`}`})}),e);return t.add(n,{type:`exact_range_input`,...e}),n},Us=(e,t)=>{let n=r.object({from:r.number().optional().nullable(),to:r.number().optional().nullable()}).default({from:null,to:null}),i=n;(e.min!==void 0||e.max!==void 0)&&(i=n.check(t=>{Object.values(t.value).filter(e=>e!=null).every(t=>(e?.min==null||t>=e.min)&&(e.max==null||t<=e.max))||t.issues.push({code:`custom`,input:t.value,message:`Values must be between ${e.min??`any`} and ${e.max??`any`}`}),t.value.from&&t.value.to&&t.value.from>t.value.to&&t.issues.push({code:`custom`,input:t.value,message:`'From' value must be smaller than 'to' value.`})}));let a=As(i,e);return t.add(a,{type:`range_input`,...e}),a},Ws=(e,t)=>{let n=As(y.date_range_input.check(e=>{let t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/;for(let[n,r]of Object.entries(e.value))r&&!t.test(r)&&e.issues.push({code:`custom`,input:r,path:[n],message:`Must be an ISO datetime string`})}),e);return t.add(n,{type:`date_range_input`,...e}),n},Gs=(e,t)=>{let n=As(y.boolean_input.default(e.defaultValue),e);return t.add(n,{...e,required:!1,type:`boolean_input`}),n},Ks=(e,t)=>{let n=As(y.nullable_boolean_input.default(e.defaultValue),e);return t.add(n,{...e,required:!1,type:`nullable_boolean_input`,defaultValue:e.defaultValue}),n},qs=(e,t)=>{let n=y.text_input;e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength)),e.pattern&&(n=n.regex(new RegExp(e.pattern)));let r=As(n,e);return t.add(r,{type:`text_input`,...e}),r},Js=(e,t)=>{let n=y.textarea_input;e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength));let r=As(n,e);return t.add(r,{type:`textarea_input`,...e}),r},Ys=(e,t,n=`pipe_io`)=>{let i=r.object({alias:r.string().default(``).describe(`Rename this output field. Leave empty to use default name.`),enabled:r.boolean().default(!0).describe(`Whether to include this field in the output.`)}).describe(`Output field '${e.fieldName}'`);return t.add(i,{type:`output_field_input`,label:`Rename *${e.fieldName}*`,placeholder:e.fieldName,path:`config.output_fields.${e.fieldName}`,description:void 0,groupPath:`config.output_fields`,sectionKey:n}),i.default({alias:``,enabled:!0})},Xs=(e,t)=>r.unknown().check(e=>{t(e.value)&&e.issues.push({code:`custom`,input:e.value,message:`Required`})}).pipe(e),Zs=(e,t)=>{let n=As(Xs(y.int_input.check(t=>{e.min!=null&&t.value<e.min&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at least ${e.min}`}),e.max!=null&&t.value>e.max&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at most ${e.max}`})}),e=>e==null),e);return t.add(n,{...e,type:`int_input`}),n},Qs=(e,t)=>{let n=As(Xs(y.number_input.check(t=>{e.min!=null&&t.value<e.min&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at least ${e.min}`}),e.max!=null&&t.value>e.max&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at most ${e.max}`})}),e=>e===void 0),e);return t.add(n,{...e,type:`number_input`}),n},$s=(e,t)=>{let n=y.json_schema_input;return n.check(e=>{Xo(e.value)||e.issues.push({code:`custom`,input:e.value,message:`JSON schema is invalid. Check your input.`})}),e.allowEmpty||(n=n.check(e=>{Zo(e.value)&&e.issues.push({code:`custom`,message:`JSON Schema must define a meaningful value. Can not be an empty object or array.`,input:e.value})})),t.add(n,{...e,type:`json_schema_input`}),n},ec=(e,t)=>{let n=e.options.map(e=>e.value),r=new Set([...n,``]),i=y.select_input.check(t=>{if(t.value===``){e.required&&t.issues.push({code:`custom`,input:t.value,message:`Required`});return}r.has(t.value)||t.issues.push({code:`custom`,input:t.value,message:`Must be one of: ${[...r].filter(e=>e).join(`, `)}`})}),a=As(e.defaultValue?i.default(e.defaultValue):i,e);return t.add(a,{type:`select_input`,...e}),a},tc=(e,t,n)=>{let r=As(y.search_payload_input.check(e=>{if(!e.value?.search_id){e.issues.push({code:`custom`,input:e.value,message:`Required`});return}let t=n?.safeParse(e.value);if(t&&!t.success)for(let n of t.error.issues)e.issues.push({code:`custom`,input:e.value,message:n.message,path:n.path})}),e);return t.add(r,{...e,type:`search_payload_input`,required:!0}),r},nc=({billableOperations:e,...t},n)=>{let i=r.enum(cs).default(t.defaultValue||`google-low`);return n.add(i,{type:`select_input`,options:cs.map(t=>{let n=Object.keys(e).find(e=>e.endsWith(`-in-${t}`)),r=Object.keys(e).find(e=>e.endsWith(`-out-${t}`)),i=n?e[n]:void 0,a=r?e[r]:void 0;if(!i||!a)throw Error(`Unable to find token billing info for model ${t}`);return{label:ls[t].label,value:t,widgets:{logo:{url:Pt[ls[t].provider].logoUrl},token_pricing:{inputPerBlock:i.credits.default,outputPerBlock:a.credits.default,blockSize:100}}}}),required:!0,description:``,label:`AI Models`,...t}),i},rc=(e,t)=>{let n=e.options.map(e=>e.value),i=new Set(n),a=r.array(r.enum(Array.from(i))).check(t=>{e.required&&t.value.length===0&&t.issues.push({code:`custom`,input:t.value,message:`Required`});let r=new Set;t.value.forEach((e,a)=>{i.has(e)?r.has(e)?t.issues.push({code:`custom`,input:e,path:[a],message:`Duplicate option: ${e}`}):r.add(e):t.issues.push({code:`custom`,input:e,path:[a],message:`Must be one of: ${n.join(`, `)}`})})});return t.add(a,{type:`multi_select_input`,...e}),a},ic=(e,t)=>{let n=y.context_select_input.check(t=>{e.required&&(t.value===``||Array.isArray(t.value)&&t.value.length===0)&&t.issues.push({code:`custom`,input:t.value,message:`Required`})}),r=e.defaultValue?n.default(e.defaultValue):n,i=e.enabledIf??Es(e.optionsDef);return t.add(r,{type:`context_select_input`,...e,enabledIf:i,options:[]}),r},ac=(e,t)=>{let n=y.min_max_int_input.check(t=>{for(let n of[`min`,`max`]){let r=t.value[n];if(r!=null){if(!Number.isInteger(r)){t.issues.push({code:`custom`,input:r,path:[n],message:`Must be an integer`});continue}(r<e.min||r>e.max)&&t.issues.push({code:`custom`,input:r,path:[n],message:`Must be between ${e.min} and ${e.max}`})}}});return t.add(n,{type:`min_max_int_input`,...e}),n},oc=(e,t)=>{let n=y.async_multi_select_input.check(t=>{e.required&&t.value.length===0&&t.issues.push({code:`custom`,input:t.value,message:`Required`})});return e.maxItems&&(n=n.max(e.maxItems)),t.add(n,{type:`async_multi_select_input`,...e}),n},sc=(e,t)=>{let n=e.maxItems||200,r=y.async_include_exclude_select_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})});return t.add(r,{type:`async_include_exclude_select_input`,...e}),r},b=()=>{let e=so.nullish();return _.add(e,e=>{let t=e.validationContext;return{label:``,description:``,type:`pipes_run_if_input`,groupPath:`run_if`,path:`run_if`,sectionKey:`pipe_io`,fields:Object.entries(t.fieldDefinitions).filter(([e,t])=>t.type!==`json`&&e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:t.label,format:t.format,type:t.type}))}}),e},cc=e=>{let t=ao.nullish();return Os.add(t,t=>{let n=t.validationContext;return{type:`condition_block_input`,...e,fields:Object.entries(n.fieldDefinitions).filter(([e,t])=>t.type!==`json`&&e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:t.label,format:t.format,type:t.type}))}}),t},lc=e=>{let{required:t=!0,...n}=e,r=As(oo.nullable().check(e=>{let n=e;if(n.value===null){t&&n.issues.push({code:`custom`,input:n.value,message:`Add at least one condition.`});return}(n.value?.conditions??[]).forEach((e,t)=>{typeof e.value==`string`&&pc({value:e.value,issues:n.issues},!1,[`conditions`,t,`value`])})}),n,"Condition block over the target sheet's columns. `field_name` is a LITERAL column name of the looked-up sheet (never templated); string `value`s may contain `{{ field }}` / `{{ SECRETS.KEY }}` / `{{ CONSTANTS.KEY }}` Liquid references resolved per row."+(t?``:" `null` means no filtering.")),i=n.optionsDef?{...n.optionsDef,enabledIf:n.optionsDef.enabledIf??Es(n.optionsDef)}:void 0,a={type:`condition_block_input`,fields:[],fieldNameMode:`text`,properties:[`value`],...n,optionsDef:i,options:[]},o=e=>{let t=e.validationContext;return{...a,inputFields:Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e.hash).map(([e,t])=>({...t,resolvedName:e}))}};return o.staticMeta={...a,inputFields:[]},_.add(r,o),t?r:r.default(null)};function uc(e,t){if(!t)return e;let n={...e};for(let[r,i]of Object.entries(t))n[r]=i===null?null:{...e[r]??{},...i};return n}function dc({fieldMetadata:e,store:t}){let n=e;if(e.type===`context_select_input`||e.type===`tagged_text_input`||(e.type===`condition_block_input`||e.type===`field_select_input`||e.type===`fields_select_input`||e.type===`typed_fields_select_input`)&&n.optionsDef){t.field_options??={};let r=t.field_options[e.path]?.options||[],i=n.optionsDef?.widgets;e.options=i?r.map(e=>({...e,widgets:{...i,...e.widgets??{}}})):r}return e}const fc=({schema:e,extractFromSchema:t,store:n,formResolvers:i,sectionMap:a,groupMap:o,pathMap:s})=>{let c={};function l(e){let t=e?._zod?.def?.type;return!(t===`optional`||t===`nullable`||t===`default`)}function u(e,d){let ee=t(e),te=ee?.required,ne=ee&&te===void 0&&d!==void 0?{...ee,required:d}:ee;if(ne){let{sectionKey:e,groupPath:t,path:r}=ne,l=a?.[e],u=o?.[t],d=s?.[r];if(!(l===null||u===null||d===null)){let r=d?{...ne,label:d.label??ne.label,description:d.description??ne.description}:ne;c[e]??={type:`section`,groups:[],metadata:{type:`form_section`,path:l?.path??e,label:l?.label,description:l?.description}};let a=c[e];if(!a)throw Error(`Section not defined`);let o=a.groups.find(e=>e.groupPath===t);if(o){let e=dc({fieldMetadata:r,store:n,formResolvers:i});e&&o.fields.push(e)}else{let e=dc({fieldMetadata:r,store:n,formResolvers:i});e&&a.groups.push({groupPath:t,fields:[e],type:`group`,label:u?.label,defaultExpand:!!u?.defaultExpand,description:u?.description,iconKey:u?.iconKey,order:u?.order})}}}if(typeof e==`object`&&`unwrap`in e&&typeof e.unwrap==`function`&&u(e.unwrap(),d),e instanceof r.ZodObject)for(let t of Object.values(e.shape))u(t,l(t))}u(e);for(let e of Object.values(c))e.groups=e.groups.filter(e=>e.fields.length!==0),e.groups.sort((e,t)=>(e.order??99)-(t.order??99));return Object.entries(c).filter(([,e])=>e.groups.length!==0).sort(([e],[t])=>(a?.[e]?.order??99)-(a?.[t]?.order??99)).map(([,e])=>e)};function pc(e,t,n=[]){let r=e.value;if(!(typeof r!=`string`||!r))try{let i=Oo(r);!t&&i.outputs.length>0&&e.issues.push({code:`custom`,input:r,path:n,message:`{% output %} tags are not allowed in this field.`}),t&&i.outputs.length===0&&e.issues.push({code:`custom`,input:r,path:n,message:`At least one {% output %} tag is required, e.g. {% output result, type: "string", description: "..." %}`})}catch(t){e.issues.push({code:`custom`,input:r,path:n,message:t instanceof Error?t.message:String(t)})}}const mc=e=>{let t=(e.supportedTags??[]).includes(`output`),n=r.object({template:As(r.string().min(10).check(e=>pc(e,t,[])),e,'Liquid prompt with `{{ field }}` input refs, `{{ field | default: "" }}` for optional refs, `{{ SECRETS.KEY }}` for secrets, `{{ CONSTANTS.KEY }}` for plaintext constants, and `{% output name, type: "string", description: "..." %}` to declare model outputs. Supports `{% if %}` / `{% for %}` control flow. Example: "Summarize {{ name }}. {% output summary, type: \\"string\\", description: \\"One-line summary\\" %}"'),json_schemas:r.record(r.string().min(1,`Schema name cannot be empty`),r.record(r.string(),r.any())).optional().describe(`JSON schemas for output fields with type="json". Keys are referenced via schema="<name>" in output tags.`)});return _.add(n,t=>{let n=t.validationContext;return{type:`prompt_input`,inputFields:Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).map(([e,t])=>({...t,resolvedName:e})),...e}}),n},hc=e=>{let t=r.string();e.required&&(t=t.min(1)),e.maxLength&&(t=t.max(e.maxLength));let n=As(t.check(e=>pc(e,!1,[])),e,'Liquid template with `{{ field }}` input refs, `{{ field | default: "" }}` for optional refs, `{{ SECRETS.KEY }}` for secrets, `{{ CONSTANTS.KEY }}` for plaintext constants, and `{% if %}` / `{% for %}` control flow. Example: "Write to {{ name }} about {{ topic | default: \\"the project\\" }}."');return _.add(n,t=>{let n=t.validationContext;return{type:`template_input`,inputFields:Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).map(([e,t])=>({...t,resolvedName:e})),rows:e.rows||10,...e}}),n},gc=e=>{let t=`${e.multiline?`Multi-line`:`Single-line`} ${e.expectedTagType} value, optionally containing \`{{ field }}\` Liquid input refs (use \`| default: ""\` for optional refs), \`{{ SECRETS.KEY }}\` for encrypted secrets, and \`{{ CONSTANTS.KEY }}\` for plaintext constants.`,n=r.coerce.string();e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength)),e.pattern&&(n=n.regex(new RegExp(e.pattern))),n=n.check(e=>pc(e,!1,[])),n=As(n,e,t);let i=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Es(e.optionsDef)}:void 0,a={type:`tagged_text_input`,...e,optionsDef:i,options:[]},o=t=>{let n=t.validationContext,r=Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).filter(([t,n])=>n.type===e.expectedTagType).map(([e,t])=>({...t,resolvedName:e}));return{...a,inputFields:r}};return o.staticMeta={...a,inputFields:[]},_.add(n,o),n};function _c(e,t){_.add(e,({userConnections:e,pipeEntry:n})=>{let r=new Set(n.allowedUserConnectionProviders),i=e.filter(e=>r.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:r.size>0,filteredConnections:i.map(e=>({provider:e.provider,connection:Jo({id:e.public_id,provider:e.provider})}))}})}const x=()=>{let e=Qa;return _c(e,`required`),e},S=()=>{let e=Za;return _c(e,`optional`),e},vc=()=>{let e=$a;return _c(e,`disabled`),e};function yc(e,t){v.add(e,({userConnections:e,searchEntry:n})=>{let r=n.allowsUserConnection?[n.provider]:[],i=new Set(r),a=e.filter(e=>i.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:i.size>0,filteredConnections:a.map(e=>({provider:e.provider,connection:Jo({id:e.public_id,provider:e.provider})}))}})}const bc=()=>{let e=Qa;return yc(e,`required`),e},xc=()=>{let e=Za;return yc(e,`optional`),e};function Sc(e,t){Os.add(e,({userConnections:e,effectEntry:n})=>{let r=new Set(n.allowedUserConnectionProviders),i=e.filter(e=>r.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:r.size>0,filteredConnections:i.map(e=>({provider:e.provider,connection:Jo({id:e.public_id,provider:e.provider})}))}})}const Cc=()=>{let e=Qa;return Sc(e,`required`),e},wc=()=>{let e=Za;return Sc(e,`optional`),e},C=()=>{let e=$a;return Sc(e,`disabled`),e};function Tc(e,t){return Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e&&t.toLowerCase()!==`id`).map(([e,t])=>({label:e,value:e,type:t.type,format:t.format}))}const w=e=>{let t=r.object({alias:r.string().describe(`Override field name mapping. Leave empty to use default.`)});return _.add(t,t=>{let n=t.validationContext;return{type:`select_input`,required:!1,sectionKey:`pipe_io`,defaultValue:void 0,placeholder:e.fieldName,options:Tc(t.hash,n),path:`config.input_fields.${e.fieldName}.alias`,label:`Assign *${e.fieldName}* to:`,description:``,groupPath:`config.input_fields`,multiple:!1}}),t.default({alias:``})},T=e=>Bs(e,_),Ec=e=>{let t=y.fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});t=e.minItems?t.min(e.minItems):t.default([]);let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Es(e.optionsDef)}:void 0,r={type:`fields_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}}))}};return i.staticMeta=r,_.add(t,i),t},Dc=e=>{let t=y.typed_fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});t=e.minItems?t.min(e.minItems):t.default([]);let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Es(e.optionsDef)}:void 0,r={type:`typed_fields_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>{let n=typeof t.type==`function`?`unknown`:t.type;return{value:e,label:e,data:{type:String(n),...t.format?{format:String(t.format)}:{}},widgets:{field_type:{type:t.type}}}})}};return i.staticMeta=r,_.add(t,i),t},Oc=e=>{let t=y.field_select_input.check(t=>{e.required&&t.value.field_name.length<1&&t.issues.push({code:`custom`,input:t.value.field_name,path:[`field_name`],message:`Select a field`})});e.required||(t=t.default({field_name:``})),t=As(t,e,"Reference to a single sheet column by name (`{ field_name }`).");let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Es(e.optionsDef)}:void 0,r={type:`field_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([t,n])=>t.toLowerCase()!==`id`&&n.added_by.config_hash!==e.hash).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}}))}};return i.staticMeta=r,_.add(t,i),t},kc=e=>{let t=y.fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});return t=e.minItems?t.min(e.minItems):t.default([]),Os.add(t,t=>{let n=t.validationContext;return{type:`fields_select_input`,options:Object.entries(n.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:e,type:t.type})).map(e=>({value:e.fieldName,label:e.fieldLabel,widgets:{field_type:{type:e.type}}})),...e}}),t},Ac=(e,t)=>{let n=t===`selection`?St:t===`sheet`?Ct:Tt,i={label:`All rows`,value:{type:`all`}},a={label:`Specific rows by ID`,value:{type:`rows`,record_ids:[]}},o=t===`selection`?[a]:t===`sheet`?[i]:[i,a,{label:`Window of 10 rows`,value:{type:`window`,count:10}}],s=r.preprocess(e=>{if(typeof e!=`string`)return e;let t=e.trim();if(t===``)return;let n=$o(t);return n===void 0?e:n},n).optional();return Os.add(s,{type:`textarea_input`,rows:3,language:`json`,quickOptions:o,...e}),s},jc=e=>Rs(e,_),Mc=e=>js(e,_),Nc=e=>Ms(e,_),Pc=e=>Ns(e,_),Fc=e=>Is(e,_),Ic=e=>Ls(e,_),Lc=e=>Vs(e,_),Rc=e=>sc(e,_),zc=e=>Hs(e,_),Bc=e=>Ws(e,_),E=e=>Gs(e,_),D=e=>Ys(e,_),Vc=e=>{let{groupPath:t,sectionKey:n=`pipe_io`,defaultName:r,nameInfo:i}=e;return{destination_field_name:Hc({label:`Field name`,description:`Destination field name`,info:i??`Name of the field written to the destination sheet.`,placeholder:r,inputType:`text`,path:`config.destination_field_name`,groupPath:t,sectionKey:n}).nullable().default(``),destination_field_type:Wc({label:`Type`,info:`Field data type. Leave unset to infer it from the data.`,path:`config.destination_field_type`,groupPath:t,sectionKey:n,required:!1,options:ua.filter(e=>e!==`unknown`).map(e=>({value:e,label:e}))}).default(``),destination_field_format:Wc({label:`Format`,info:`Optional display format for the field.`,path:`config.destination_field_format`,groupPath:t,sectionKey:n,required:!1,options:Aa.map(e=>({value:e,label:e}))}).default(``),destination_field_label:Hc({label:`Label`,description:`Destination field label`,info:`Human-friendly column header. Defaults to the field name.`,inputType:`text`,path:`config.destination_field_label`,groupPath:t,sectionKey:n}).nullable().default(``)}},Hc=e=>qs(e,_),Uc=e=>Js(e,_),Wc=e=>ec(e,_),Gc=e=>nc(e,_),Kc=e=>rc(e,_),qc=e=>Zs(e,_),Jc=e=>Qs(e,_),Yc=e=>$s(e,_),Xc=e=>ic(e,_),Zc=e=>{let{required:t=!1,...n}=e,r=oo.nullable().check(e=>{let n=e;n.value===null&&t&&n.issues.push({code:`custom`,input:n.value,message:`Add at least one condition.`})});return v.add(r,{type:`condition_block_input`,fields:[],fieldNameMode:`text`,properties:[`value`],inputFields:[],...n}),t?r:r.default(null)},O=e=>js(e,v),Qc=e=>Ms(e,v),$c=e=>Ns(e,v),el=e=>ac(e,v),k=e=>Rs(e,v),tl=e=>Vs(e,v),nl=e=>Hs(e,v),rl=e=>Us(e,v),il=e=>Ws(e,v),al=e=>Gs(e,v),ol=e=>Ks(e,v),A=e=>Ys(e,v,`pipe_io`),sl=e=>qs(e,v),cl=e=>Js(e,v),ll=e=>ec(e,v),ul=e=>ic(e,v),j=e=>rc(e,v),dl=e=>oc(e,v),M=e=>sc(e,v),N=e=>Zs(e,v),fl=e=>Qs(e,v),pl=e=>qs(e,ks(Os)),ml=e=>Js(e,ks(Os)),hl=e=>ec(e,ks(Os)),gl=e=>rc(e,ks(Os)),_l=e=>Zs(e,ks(Os)),vl=e=>Zs(e,ks(Os)).nullish(),yl=e=>Gs(e,ks(Os)),bl=e=>ic(e,ks(Os)),xl=e=>nc(e,ks(Os)),Sl=(e,t)=>tc(e,ks(Os),t),P=e=>(e=e.check(e=>{let t=e.value,n=!1;for(let e in t)if(t[e]?.enabled){n=!0;break}n||e.issues.push({code:`custom`,input:e.value,message:`All output fields are disabled. Enable at least one output.`})}),e.optional()),F=e=>e.optional();function Cl(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(Cl).filter(e=>!br(e));let t={};for(let[n,r]of Object.entries(e)){let e=Cl(r);br(e)||(t[n]=e)}return t}const wl=await l();var Tl=class e{static hashObject(t){if(!wl)throw Error(`HashAPI not initialized`);let{h64ToString:n}=wl,r=e.normalizeObject(t);return n(JSON.stringify(r))}static normalizeObject(t){if(typeof t!=`object`||!t)return t;if(Array.isArray(t))return t.map(t=>e.normalizeObject(t));let n={},r=Object.keys(t).sort();for(let i of r)n[i]=e.normalizeObject(t[i]);return n}};function I(e){return e.split(`@`)[0]}function El(e,t){let n={effectId:e,config:Cl(t)};return Tl.hashObject(n)}var L=class{validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}getSecretRequirements(){return[]}getConstantRequirements(){return[]}getConfigHashKey(){return El(this.payload.effect_id,this.payload.config||{})}producesDynamicFields(){return!1}evolveSchema(e){return{next:e}}getRecordQueueConfig(e){return null}};const Dl=`env:change@1`,Ol={},kl=r.object({effect_id:r.literal(Dl),connector:C(),config:r.object({environment:sa})}),Al=class extends L{effectId=Dl;schema=kl;payload;billableOperations=Ol;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},jl=kl,Ml={effectId:Dl,baseEffect:I(Dl),label:`Change environment`,description:`Switch the sheet between production and sandbox.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Ol,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Dl,connector:null,config:{environment:`production`}}},Nl=`fields:add@1`,Pl={},Fl=r.object({effect_id:r.literal(Nl),connector:C(),config:r.object({})}),Il=class extends L{effectId=Nl;schema=Fl;payload;billableOperations=Pl;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},Ll=Fl,Rl={effectId:Nl,baseEffect:I(Nl),label:`Add field`,description:`Add a new empty field to the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Pl,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Nl,connector:null,config:{}}},zl=[`id`],Bl=e=>zl.includes(e.trim().toLowerCase()),Vl=e=>typeof e.kind==`string`,Hl=e=>Vl(e)?e:{kind:`field`,field:e},R=e=>({kind:`field`,field:e}),z=(...e)=>({kind:`all`,of:e.map(Hl)}),Ul=(...e)=>({kind:`any`,of:e.map(Hl)}),Wl=e=>({kind:`optional`,field:e});function Gl(e,t){switch(e.kind){case`optional`:return!0;case`field`:return t.has(e.field.resolvedName);case`all`:return e.of.every(e=>Gl(e,t));case`any`:return e.of.some(e=>Gl(e,t))}}function Kl(e){switch(e.kind){case`field`:return[{field:e.field,required:!0}];case`optional`:return[{field:e.field,required:!1}];case`all`:case`any`:return e.of.flatMap(Kl)}}function ql(e,t){let n=Jl(e,t);return n.ok?{valid:!0,failedPipeInputField:null,failedRecordField:null}:{valid:!1,failedPipeInputField:n.field,failedRecordField:n.recordField}}function Jl(e,t){switch(e.kind){case`optional`:return{ok:!0};case`field`:{let n=t.fields[e.field.resolvedName];if(!n)throw Error(`Record field does not exist ${e.field.name} for requirement.`);return n.status===`completed`||n.status===`queued`?{ok:!0}:{ok:!1,field:e.field,recordField:n}}case`all`:for(let n of e.of){let e=Jl(n,t);if(!e.ok)return e}return{ok:!0};case`any`:{let n=null,r=!1;for(let i of e.of)try{let e=Jl(i,t);if(r=!0,e.ok)return{ok:!0};n=e}catch{}return r?n:{ok:!0}}}}function Yl(e,t){let n={pipeId:e,config:Cl(t)};return Tl.hashObject(n)}function Xl(e,t){let n={};return Object.values(t).forEach(t=>{let r=t,i=e.fields[r.resolvedName];i?.value!=null&&(n[r.resolvedName]=i.value)}),Object.keys(n).length===0?null:Tl.hashObject(Cl(n))}var B=class{validatePayload(e){try{return this.payloadSchema.parse(e)}catch(e){throw e instanceof n?Error(r.prettifyError(e)):e}}getSecretRequirements(){return[]}getConstantRequirements(){return[]}getBucketRequirements(){return[]}async getAgentContext(e){return null}catalogOutput(e,{isPrimaryOutput:t=!1,resolveFormat:n,resolveType:r}={resolveType:void 0,resolveFormat:void 0,isPrimaryOutput:!1}){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:r||e.type,format:n||e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0,order:`order`in e?e.order:void 0,isPrimaryOutput:t}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}get inputFields(){let e={};for(let{field:t}of Kl(this.getInputRequirement()))e[t.name]=t;return e}getConfigHashKey(){return Yl(this.payload.pipe_id,this.payload.config||{})}getInputHashKey(e){return Xl(e,this.inputFields)}};const Zl={title:`Software Engineer, CEO, ...`,seniority:`C-Suite, Senior, ...`,department:`Consulting, Finance, ...`,certification:`CISSP, AWS, ...`,crunchbase_category:`3D Printing, Big Date, ...`,honor:`Cum Laude, 40 Under 40, ...`,field_of_study:`Engineering, Computer Science, ...`,degree_name:`Bachelor of Science, ...`,extracurricular:`Athelete, Debate Team, ...`,job_function:`Accounting, Advertising, ...`,location:`United States, Germany, France, ...`,company_name:`Google, Anthropic, ...`,company_domain:`google.com, openai.com, ...`,company_profile_keyword:`B2B, Software, ...`,headline_keywords:`Founder, JavaScript, ...`,profile_keywords:`Coach, Scrum, ...`,languages:`German, English, ...`,languages_1:`Spanish, Italian, ...`,skills:`TypeScript, Playwright, ...`,industry:`IT, Agriculture, ...`,investor:`a16z, Inside Partners, ...`,school:`MIT, Harvard, ...`,person_profile_url:`https://www.linkedin.com/in/janedoe, ...`,person_name:`Jane Doe, John Smith, ...`,prompt:`Enter prompt here...`,template:`Enter template here...`};function V(e){return Zl[e]}function Ql(e,t){return typeof t==`string`?t:t(e)}function $l(e,t){return typeof t==`string`||t===null?t:t(e)}function eu(e,t){let n={};for(let r of t){let t=!1;for(let i of e.pipes){let a=i.getOutputFields();if(a[r]){n[r]??={type:Ql(e,a[r].type),format:$l(e,a[r].format)},t=!0;break}}if(t)continue;let i=e.derivedInputFields[r];i&&(n[r]??={type:i.type,format:null})}return n}function tu(e,t){for(let n of e.pipes){let r=n.getOutputFields();if(r[t])return{type:Ql(e,r[t].type),format:$l(e,r[t].format)}}let n=e.derivedInputFields[t];if(n)return{type:n.type,format:null}}function nu(e,t={}){let n=t.expectedType??`string`,r=t.expectedFormat??`text`,i=new Map;for(let t of e){if(!t)continue;let e;try{e=Oo(t)}catch{continue}for(let[t,n]of Object.entries(e.inputs)){let e=i.get(t);i.set(t,{required:e&&e.required||n.required})}}let a=[];for(let[e,t]of i){let i={name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||n,format:r};a.push(t.required?R(i):Wl(i))}return z(...a)}function H(e){let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of e.secrets)t.add(n)}catch{}return[...t]}function ru(e){let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of e.constants)t.add(n)}catch{}return[...t]}const U={EMAIL:`Email`,TEXT:`Text`,CHAT:`Chat`,PERSONAL_EMAIL:`Personal Email`,NAMES:`Names`,WORK_EMAIL:`Work Email`,WATERFALL:`Waterfall`,WEBSITE:`Website`,SCRAPE:`Scrape`,ADDRESS:`Address`,NEWS:`News`,LINKEDIN:`LinkedIn`,FINANCIAL_DATA:`Financial Data`,AI:`AI`,PHONE:`Phone Number`,NEW:`New`,BETA:`Beta`,PEOPLE_PROFILES:`People Profiles`,COMPANY_PROFILES:`Company Profiles`,EVENTS:`Events`,JSON:`Json`,FIELDS:`Fields`,LOGIC:`Logic`,DEPRECATED:`Deprecated ❌`};function iu(e,t){let n={};for(let r of t)for(let t of Object.values(e))if(t&&t.provider===r&&t.allowManagedConnection){n[r]=t.credits.default;break}return n}function au(e){return Kl(e).map(({field:e})=>e)}function ou({recordField:e,value:t,resolvedBy:n,widgets:r}){return e.value=t,e.status=`completed`,e.resolved_by=n,e.widgets=r,e}function su({recordField:e}){return e.status=`pending`,e.resolved_by=null,e.value=null,e}function cu({recordField:e,reason:t,resolvedBy:n,widgets:r={}}){return e.value=null,e.status=`no_result`,e.resolved_by=n,e.reason=t,e.widgets=r,e}function lu(e,t,n){return e.value=null,e.status=`failed`,e.resolved_by=null,e.reason=t,e.resolved_by=n,e.widgets={},e}function uu(e,t){return e.value=null,e.status=`skipped`,e.resolved_by=null,e.reason=t,e.widgets={},e}function du(e){return e.value=null,e.status=`processing`,e.resolved_by=null,e.widgets={},e}function W(e){return e.split(`@`)[0]}function G(e){return`/docs/pipe-catalog/${W(e)}/${e.split(`@`)[1]}`}function K(e,t){return{name:e.name,description:e.description,resolvedName:t?.input_fields?.[e.name]?.alias||e.name,type:e.type,label:e.label,format:e.format}}const fu=`agent:run@1`,pu=`agent-run-v1`,mu=[{value:`web_researcher`,label:`Web researcher`,widgets:{emoji:{char:`🔎`}}}],hu={...Ss(pu),"agent-run-v1-search-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.2},mode:`always`,note:`Billed per web search the agent performs.`},"agent-run-v1-extract-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.1},mode:`always`,note:`Billed per URL-extraction call the agent performs.`}},gu=r.object({pipe_id:r.literal(fu),connector:S(),run_if:b(),config:r.object({agent_type:Wc({sectionKey:`general`,groupPath:`config.prompt`,path:`config.agent_type`,label:`Agent type`,defaultValue:`web_researcher`,options:[...mu],required:!0}),prompt:mc({sectionKey:`general`,path:`config.prompt`,placeholder:V(`prompt`),groupPath:`config.prompt`,supportedTags:[`input`,`output`]}),model:Gc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:hu})})}),_u=class extends B{pipeId=fu;payload;payloadSchema=gu;billableOperations=hu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[...hs(this.payload.config.model),`parallel`]}estimateBillableOperations(e){return[...ws(e,{model:this.payload.config.model,prefix:pu,inputTokens:2e4,outputTokens:1500}),{billableOperation:`agent-run-v1-search-parallel`,quantity:e.count*4},{billableOperation:`agent-run-v1-extract-parallel`,quantity:e.count*1}]}getInputRequirement(){return nu([this.payload.config.prompt.template])}getSecretRequirements(){return H([this.payload.config.prompt.template])}getConstantRequirements(){return ru([this.payload.config.prompt.template])}getRawOutputFields(){let e=this.payload.config.prompt.template,t=this.payload.config.prompt.json_schemas??{},n={},r;try{r=Oo(e)}catch{return n}for(let e of r.outputs){let r=e.type;if(r===`json`){let i=e.schemaRef?t[e.schemaRef]:void 0;n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:{zodSchema:i,exampleValue:null},format:null,isCatalogFIeld:!1,isPrimaryOutput:!1}}else n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:null,format:e.format??null,isCatalogFIeld:!1,isPrimaryOutput:!1}}return n}getConnectionsRequirements(){return[...gs(this.payload.config.model),{provider:`parallel`,rateLimitRatio:4,rateLimitOperation:`parallel_search_base`,allowManagedConnection:!0},{provider:`parallel`,rateLimitRatio:1,rateLimitOperation:`parallel_extract`,allowManagedConnection:!0}]}},vu=gu,yu={pipeId:fu,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(fu),label:`AI agent`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,description:`Runs an AI research agent with web tools and structured output fields.`,guide:`AI agent with tools. Like prompt:run@1, inputs and outputs are fully dynamic — defined by the tags in the prompt template — but the agent can call tools before answering. The agent type decides the toolset: web_researcher gets web search and URL extraction, for questions model knowledge alone can't answer ('has {{ company_name }} ever raised money?', 'find the general counsel of {{ company_name }}'). Every tool call is billed on top of tokens, so when no live research is needed, use prompt:run@1 instead. Fields the agent cannot ground in evidence come back as no_result, not a guess.`,tags:[U.AI],keywords:[`research`,`web search`,`llm`,`gpt`,`chatgpt`,`browse`,`tools`],docPath:G(fu),defaultInputRequirement:null,billableOperations:hu,allowedUserConnectionProviders:[..._s(),`parallel`],managedProviders:[..._s(),`parallel`],deprecatedProviders:[],defaultPayload:{pipe_id:fu,connector:null,run_if:null,config:{agent_type:`web_researcher`,model:`google-low`,prompt:{template:``,json_schemas:{}}}}};function q(e,...t){return t.map(t=>({billableOperation:t,quantity:e.count}))}function bu(e,t){return n=>{let r=e[n];if(!r)throw Error(`Missing billableOperation def for "${n}"`);return!r.allowManagedConnection||t?.(r.provider)?0:r.credits.default}}function xu(e,t,n=`sum`){let r=e.map(e=>e.quantity*t(e.billableOperation));return r.length===0?0:n===`max`?Math.max(...r):r.reduce((e,t)=>e+t,0)}const Su=r.array(r.object({field_name:r.string(),entry_field:r.string().optional()})).check(e=>{let t=new Set;e.value.forEach((n,r)=>{n.field_name.length<1&&e.issues.push({code:`custom`,input:n.field_name,path:[r,`field_name`],message:`Map every bucket field to a row column.`});let i=n.entry_field?.trim()||n.field_name;i&&t.has(i)&&e.issues.push({code:`custom`,input:i,path:[r,`entry_field`],message:`Duplicate bucket field "${i}".`}),i&&t.add(i)})}).check(e=>{e.value.length<1&&e.issues.push({code:`custom`,input:e.value,message:`Map at least one field.`})}),Cu=()=>r.string().nullable().default(``),wu=e=>({requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see bucket suggestions`),options:async({query:t,client:n})=>n?(await n.buckets.list({query:t,type:e})).map(e=>({label:e.name&&e.name!==e.slug?`${e.name} (${e.slug})`:e.slug,value:e.slug,data:{contract:e.contract,type:e.type}})):[],widgets:{provider_logo:{provider:`pipe0`}}}),Tu=e=>{let t=r.union([r.string(),r.array(r.string())]).check(e=>{(e.value===``||Array.isArray(e.value)&&e.value.length===0)&&e.issues.push({code:`custom`,input:e.value,message:`Required`})}),n={type:`context_select_input`,label:`Bucket`,info:`Pick an existing bucket (its identifying fields appear below for mapping), or type a new slug and choose Create — the new bucket's schema is built from the columns you pick and written on first run (requires 'Allow bucket creation').`,groupPath:`config.general`,sectionKey:`general`,path:`config.bucket`,required:!0,allowCreate:!0,placeholder:`Select or create a bucket…`,optionsDef:wu(e),options:[],mappingPath:`config.entry_fields`,contractPath:`config.contract`,keyLabel:`Bucket field`},i=e=>{let t=e.validationContext,r=t?Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}})):[];return{...n,fieldOptions:r}};return i.staticMeta=n,_.add(t,i),t},Eu={on_own_entry:[{value:`proceed`,label:`Proceed (at-least-once)`},{value:`block`,label:`Block (at-most-once)`}],on_missing:[{value:`proceed`,label:`Treat as part of the entry`},{value:`block`,label:`Skip the row`}]},Du=()=>Hc({label:`New bucket: name`,path:`config.new_bucket_name`,groupPath:`config.bucket_creation`,sectionKey:`general`,inputType:`text`,placeholder:`CRM contacts`,maxLength:120}).nullable().default(``),Ou=()=>({new_bucket_name:Du(),new_bucket_ttl_in_seconds:qc({label:`New bucket: TTL (seconds)`,description:`Claims expire after this many seconds. Empty = never.`,path:`config.new_bucket_ttl_in_seconds`,groupPath:`config.bucket_creation`,sectionKey:`general`,min:1}).nullable().default(null),new_bucket_own_entry_behavior:Wc({label:`New bucket: own entry re-claimed`,description:`What happens when a row re-claims an entry it already wrote.`,path:`config.new_bucket_own_entry_behavior`,groupPath:`config.bucket_creation`,sectionKey:`general`,required:!1,options:Eu.on_own_entry}).default(`block`),new_bucket_missing_value_behavior:Wc({label:`New bucket: missing values`,description:`Proceed treats missing values as part of the entry; Block skips the row.`,path:`config.new_bucket_missing_value_behavior`,groupPath:`config.bucket_creation`,sectionKey:`general`,required:!1,options:Eu.on_missing}).default(`proceed`)}),ku=()=>({new_bucket_name:Du(),new_bucket_start:qc({label:`New bucket: start`,description:`First number the counter assigns.`,path:`config.new_bucket_start`,groupPath:`config.bucket_creation`,sectionKey:`general`}).nullable().default(1),new_bucket_step:qc({label:`New bucket: step`,description:`Increment between assigned numbers.`,path:`config.new_bucket_step`,groupPath:`config.bucket_creation`,sectionKey:`general`,min:1}).nullable().default(1)}),Au={provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0};function ju(e){let t=ot(e.contract),n=e.entry_fields??[],r=[nu([$e(e.bucket)],{expectedType:`string`,expectedFormat:`text`})],i=n.map(e=>{let{column:n,bucketField:r}=Ze(e),i=t?.input_fields[r]?.type;return R({name:n,resolvedName:n,label:``,description:``,type:i?()=>i:e=>tu(e,n)?.type||`unknown`,format:null})});return i.length>0&&r.push(Ul(...i)),z(...r)}function Mu(e){return H([$e(e.bucket)])}function Nu(e){return ru([$e(e.bucket)])}const Pu=`bucket:check@1`,Fu=h(`found_in_bucket`),Iu=r.object({pipe_id:r.literal(Pu),connector:x(),run_if:b(),config:r.object({bucket:Tu(`claim`),entry_fields:Su,contract:Cu(),output_fields:P(r.object({[Fu.name]:D({fieldName:Fu.name})}))})}),Lu={"bucket-check-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Ru=class extends B{pipeId=Pu;payload;payloadSchema=Iu;billableOperations=Lu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-check-v1-pipe0`)}getInputRequirement(){return ju(this.payload.config)}getSecretRequirements(){return Mu(this.payload.config)}getConstantRequirements(){return Nu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`claim`,schema:ot(this.payload.config.contract),allowCreation:!1}]}getRawOutputFields(){return{[Fu.name]:this.catalogOutput(Fu)}}getConnectionsRequirements(){return[Au]}},zu=Iu,Bu={pipeId:Pu,basePipe:W(Pu),label:`Check`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Look up an entry in an existing claim bucket WITHOUT writing. Present → no_result (e.g. suppressed); absent → completed. For suppression / do-not-contact / already-seen gates.`,guide:`Consult a claim bucket read-only before an action — the canonical suppression / do-not-contact gate. Map the identifying field(s) via entry_fields. If the entry is PRESENT (and live) the pipe resolves no_result, skipping downstream pipes (the send/append is suppressed); if ABSENT it completes and downstream runs. Unlike bucket:claim@1 this NEVER writes or creates — the list is curated elsewhere (a bucket:claim@1 writer, an import, or the Assets tab), so readers can't corrupt it. Missing values follow the bucket's on_missing policy: 'proceed' looks up the entry with those values stored as empty (the mirror of what bucket:claim@1 wrote for a row missing the same fields); 'block' resolves no_result; a row where EVERY identifying value is missing is always skipped. Requires an existing claim bucket. FREE pipe0 operation; requires a pipe0 connection.`,docPath:G(Pu),tags:[U.FIELDS],keywords:[`suppression`,`do not contact`,`blocklist`,`lookup`,`exclude`,`gate`,`dedupe`],billableOperations:Lu,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Pu,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,output_fields:{found_in_bucket:{alias:``,enabled:!0}}}}},Vu=`bucket:claim@1`,Hu=h(`is_claim_successful`),Uu=r.object({pipe_id:r.literal(Vu),connector:x(),run_if:b(),config:r.object({bucket:Tu(`claim`),entry_fields:Su,contract:Cu(),...Ou(),allow_bucket_creation:E({label:`Allow bucket creation`,description:`Create the bucket (typed as a claim bucket from this pipe's fields) on first write if it does not already exist. Off by default.`,defaultValue:!1,groupPath:`config.general`,path:`config.allow_bucket_creation`,sectionKey:`general`}),output_fields:P(r.object({[Hu.name]:D({fieldName:Hu.name})}))})}),Wu={"bucket-claim-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Gu=class extends B{pipeId=Vu;payload;payloadSchema=Uu;billableOperations=Wu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-claim-v1-pipe0`)}getInputRequirement(){return ju(this.payload.config)}getSecretRequirements(){return Mu(this.payload.config)}getConstantRequirements(){return Nu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`claim`,schema:ot(this.payload.config.contract),allowCreation:this.payload.config.allow_bucket_creation??!1}]}getRawOutputFields(){return{[Hu.name]:this.catalogOutput(Hu)}}getConnectionsRequirements(){return[Au]}},Ku=Uu,qu={pipeId:Vu,basePipe:W(Vu),label:`Claim`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Claim an entry in a bucket (write-if-absent). Wins (is_claim_successful: true) or finds the entry already taken (no_result). Put this before a write pipe to guard against duplicates across sheets, runs, and time.`,guide:`Claim an identity in a claim bucket before an irreversible action (an append, a send). Map the identifying field(s) via entry_fields (bucket field → row column alias); the bucket's slug is org-unique. If is_claim_successful:true this row is the first to write this entry — let the guarded pipe run on it. If the entry already exists the pipe resolves no_result, which SKIPS every downstream pipe depending on this output — so a duplicate never reaches the writer. Dedup (no TTL), time gates (bucket TTL), suppression (populate here, consult with bucket:check@1) and idempotent writes are all this one op. Behavior lives on the bucket, not the pipe: ttl_seconds (an expired entry can be claimed again — a frequency gate), on_own_entry ('proceed' = the row that wrote an entry re-claims it successfully on re-runs, at-least-once; 'block' = it can't, at-most-once — the default), and on_missing. Missing values follow on_missing: 'proceed' stores them as empty (null) parts of the entry, so rows missing the same fields dedupe against each other while ('Tom','t@t.com') stays distinct from (null,'t@t.com'); 'block' resolves no_result; a row where EVERY identifying value is missing is always skipped. allow_bucket_creation (default off) creates the bucket, typed from the mapped fields, on first write; the new_bucket_* settings (name, TTL, own-entry, missing-value policy) configure ONLY that newly created bucket and are ignored when it already exists — an existing bucket's policy is edited in the dash, not from a pipe. FREE pipe0 operation; requires a pipe0 connection (list_connections).`,docPath:G(Vu),tags:[U.FIELDS],keywords:[`dedupe`,`deduplicate`,`duplicate`,`guard`,`reserve`,`idempotent`,`lock`],billableOperations:Wu,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Vu,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,new_bucket_name:``,new_bucket_ttl_in_seconds:null,new_bucket_own_entry_behavior:`block`,new_bucket_missing_value_behavior:`proceed`,allow_bucket_creation:!1,output_fields:{is_claim_successful:{alias:``,enabled:!0}}}}},Ju=`bucket:count@1`,Yu=h(`bucket_counter`),Xu=r.object({pipe_id:r.literal(Ju),connector:x(),run_if:b(),config:r.object({bucket:Tu(`counter`),entry_fields:Su,contract:Cu(),...ku(),allow_bucket_creation:E({label:`Allow bucket creation`,description:`Create the bucket (typed as a counter bucket from this pipe's fields) on first write if it does not already exist. Off by default.`,defaultValue:!1,groupPath:`config.general`,path:`config.allow_bucket_creation`,sectionKey:`general`}),output_fields:P(r.object({[Yu.name]:D({fieldName:Yu.name})}))})}),Zu={"bucket-count-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Qu=class extends B{pipeId=Ju;payload;payloadSchema=Xu;billableOperations=Zu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-count-v1-pipe0`)}getInputRequirement(){return ju(this.payload.config)}getSecretRequirements(){return Mu(this.payload.config)}getConstantRequirements(){return Nu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`counter`,schema:ot(this.payload.config.contract),allowCreation:this.payload.config.allow_bucket_creation??!1}]}getRawOutputFields(){return{[Yu.name]:this.catalogOutput(Yu)}}getConnectionsRequirements(){return[Au]}},$u=Xu,ed={pipeId:Ju,basePipe:W(Ju),label:`Count`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Assign the next sequence number to an entry in a counter bucket, exactly once (a re-run returns the same number). The building block for round-robin lead routing.`,guide:`Give each unique entry its own stable number from a counter bucket. Map the identifying field(s) via entry_fields (bucket field → row column alias). A NEW entry takes the next number (bucket.start, then +step); an entry that already has a number returns that SAME number on every re-run — so assignments are stable and re-run-safe. Compose round-robin routing: a sellers sheet + this counter + (seller_index = (value - 1) mod seller_count) + a row lookup by that ordinal. Behavior (start, step) lives on the bucket. A row with ANY missing identifying value gets no number (no_result) — counters have no missing-value policy. allow_bucket_creation (default off) creates the counter bucket on first write; new_bucket_start/new_bucket_step configure ONLY that newly created bucket and are ignored when it already exists. FREE pipe0 operation; requires a pipe0 connection.`,docPath:G(Ju),tags:[U.FIELDS],keywords:[`counter`,`sequence`,`increment`,`numbering`,`bucket`],billableOperations:Zu,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Ju,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,new_bucket_name:``,new_bucket_start:1,new_bucket_step:1,allow_bucket_creation:!1,output_fields:{bucket_counter:{alias:``,enabled:!0}}}}},td=`company:domain:workemail@1`,nd=h(`company_domain`),rd=h(`work_email`),id=r.object({pipe_id:r.literal(td),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[rd.name]:w({fieldName:rd.name})})),output_fields:P(r.object({[nd.name]:D({fieldName:nd.name})}))}).optional()}),ad=e=>R(K(rd,e)),od={"company-domain-workemail-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,mode:`always`,provider:`pipe0`}},sd=class extends B{pipeId=td;payload;payloadSchema=id;billableOperations=od;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-domain-workemail-v1-pipe0`)}getInputRequirement(){return ad(this.payload.config)}getRawOutputFields(){return{[nd.name]:this.catalogOutput(nd)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},cd=id,ld={pipeId:td,basePipe:W(td),inputFieldMode:`static`,outputFieldMode:`static`,label:`Website from email`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Extract the company website URL from a work email address.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WEBSITE],keywords:[`url`,`extract`,`site`,`web address`],docPath:G(td),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:od,defaultInputRequirement:ad(null),defaultPayload:{pipe_id:td,connector:null,run_if:null,config:{input_fields:{[rd.name]:{alias:``}},output_fields:{[nd.name]:{alias:``,enabled:!0}}}}},ud=`company:funding:leadmagic@2`,dd=h(`company_name`),fd=h(`company_domain`),pd=h(`funding_history`),md=h(`funding_total_usd`),hd=h(`leadmagic_competitor_list`),gd=h(`leadmagic_acquisition_history`),_d=h(`leadmagic_company_news_list`),vd=r.object({pipe_id:r.literal(ud),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[dd.name]:w({fieldName:dd.name}),[fd.name]:w({fieldName:fd.name})})),output_fields:P(r.object({[pd.name]:D({fieldName:pd.name}),[md.name]:D({fieldName:md.name}),[hd.name]:D({fieldName:hd.name}),[gd.name]:D({fieldName:gd.name}),[_d.name]:D({fieldName:_d.name})}))}).optional()}),yd=e=>Ul(K(dd,e),K(fd,e)),bd={"company-funding-leadmagic-v2-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},xd=class extends B{pipeId=ud;payload;payloadSchema=vd;billableOperations=bd;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`leadmagic`]}estimateBillableOperations(e){return q(e,`company-funding-leadmagic-v2-leadmagic`)}getInputRequirement(){return yd(this.payload.config)}getRawOutputFields(){return{[pd.name]:this.catalogOutput(pd),[md.name]:this.catalogOutput(md),[gd.name]:this.catalogOutput(gd),[_d.name]:this.catalogOutput(_d),[hd.name]:this.catalogOutput(hd)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitRatio:1,rateLimitOperation:`leadmagic_company_funding`,allowManagedConnection:!0}]}},Sd=vd,Cd={pipeId:ud,basePipe:W(ud),label:`Funding history`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Information on funding rounds, acquisition, competitors, and investors.`,tags:[U.FINANCIAL_DATA],keywords:[`investors`,`rounds`,`raised`,`acquisition`,`venture`,`series`,`capital`],docPath:G(ud),billableOperations:bd,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`leadmagic`],managedProviders:[`leadmagic`],deprecatedProviders:[],defaultInputRequirement:yd(null),defaultPayload:{pipe_id:ud,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``},company_domain:{alias:``}},output_fields:{funding_history:{enabled:!0,alias:``},funding_total_usd:{enabled:!0,alias:``},leadmagic_acquisition_history:{enabled:!1,alias:``},leadmagic_company_news_list:{enabled:!1,alias:``},leadmagic_competitor_list:{enabled:!1,alias:``}}}}};function wd(e){return(e.widgets||{}).display_value?.label}function Td(e){console.dir(e,{depth:100})}function Ed(e){return typeof e==`object`&&e?JSON.stringify(e):e}function J(e){return e===0?1:e===1?.3:e===2?.2:.1}function Dd(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;let t={};return Object.keys(e).sort().forEach(n=>{t[n]=Dd(e[n])}),t}const Od={string:[`address_line_1`,`email`,`url`,`website_url`,`markdown`,`zip_code`,`date`,`datetime`,`phone`,`text`,`profile_url`],json:[`json_object`,`json_list`],number:[`int`,`decimal`],boolean:[],unknown:[]};function Y(e,t){let n=Object.entries(t).filter(([t,n])=>n.provider===e);if(n.length!==1)throw Error(`Found ${n.length} billing operations for provider ${e}. This is not allowed. There must be exactly 1 billing operation per provider.`);let[r,i]=n[0];return{billableOperation:r,billableOperationDef:i}}const kd=`company:funding:waterfall@1`,Ad=h(`company_name`),jd=h(`company_domain`),Md=h(`funding_history`),Nd=h(`funding_total_usd`),Pd=[`amplemarket`,`leadmagic`],Fd=[{provider:`amplemarket`},{provider:`leadmagic`}],Id={"company-funding-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:1.5},mode:`onSuccess`},"company-funding-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},Ld=r.object({pipe_id:r.literal(kd),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:Pd,defaultProviders:Fd,sectionKey:`general`,providerCredits:iu(Id,Pd)}),input_fields:F(r.object({[Ad.name]:w({fieldName:Ad.name}),[jd.name]:w({fieldName:jd.name})})),output_fields:P(r.object({[Md.name]:D({fieldName:Md.name}),[Nd.name]:D({fieldName:Nd.name})}))}).optional()}),Rd=e=>Ul(K(Ad,e),K(jd,e)),zd=class extends B{pipeId=kd;payload;payloadSchema=Ld;billableOperations=Id;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Rd(this.payload.config)}getRawOutputFields(){return{[Md.name]:this.catalogOutput(Md,{isPrimaryOutput:!0}),[Nd.name]:this.catalogOutput(Nd)}}getConnectionsRequirements(){let e={amplemarket:`amplemarket_generic`,leadmagic:`leadmagic_company_funding`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Bd=Ld,Vd={pipeId:kd,basePipe:W(kd),label:`Funding history`,executionMode:`waterfall`,categories:[`company_data`],lifecycle:null,description:`Funding rounds, investors, and total funding in a waterfall motion.`,tags:[U.FINANCIAL_DATA,U.WATERFALL],keywords:[`investors`,`rounds`,`raised`,`venture`,`series`,`capital`,`fallback`],docPath:G(kd),managedProviders:Pd,deprecatedProviders:[],allowedUserConnectionProviders:Pd,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Id,defaultInputRequirement:Rd(null),defaultPayload:{pipe_id:kd,connector:null,run_if:null,config:{providers:Fd,input_fields:{company_name:{alias:``},company_domain:{alias:``}},output_fields:{funding_history:{alias:``,enabled:!0},funding_total_usd:{alias:``,enabled:!0}}}}},Hd=h(`company_name`),Ud=h(`company_profile_url`),Wd=h(`company_domain`),Gd=h(`cleaned_company_name`),Kd=`company:identity@3`,qd=r.object({pipe_id:r.literal(Kd),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Hd.name]:w({fieldName:Hd.name})})),output_fields:P(r.object({[Ud.name]:D({fieldName:Ud.name}),[Gd.name]:D({fieldName:Gd.name}),[Wd.name]:D({fieldName:Wd.name})}))}).optional()}),Jd=e=>R(K(Hd,e)),Yd={"company-identity-v3-pipe0":{allowManagedConnection:!0,credits:{default:.3,level1:{credits:.2,weight:1}},mode:`always`,provider:`pipe0`}},Xd=class extends B{pipeId=Kd;payload;payloadSchema=qd;billableOperations=Yd;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v3-pipe0`)}getInputRequirement(){return Jd(this.payload.config)}getRawOutputFields(){return{[Ud.name]:this.catalogOutput(Ud),[Wd.name]:this.catalogOutput(Wd),[Gd.name]:this.catalogOutput(Gd)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},Zd=qd,Qd={pipeId:Kd,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Kd),label:`Company identity`,executionMode:`mix`,categories:[`company_data`],lifecycle:null,description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`website`,`linkedin`,`url`,`domain`,`resolve`,`normalize`],docPath:G(Kd),billableOperations:Yd,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:Jd(null),defaultPayload:{pipe_id:Kd,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_domain:{alias:``,enabled:!0}}}}},$d=h(`company_domain`),ef=h(`company_name`),tf=h(`crustdata_company_identity_matches`),nf=`company:identity:crustdata@1`,rf=r.object({pipe_id:r.literal(nf),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[$d.name]:w({fieldName:$d.name}),[ef.name]:w({fieldName:ef.name})})),output_fields:P(r.object({[tf.name]:D({fieldName:tf.name})}))}).optional()}),af=e=>Ul(K($d,e),K(ef,e)),of={"company-identity-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:.001},mode:`onSuccess`,provider:`crustdata`}},sf=class extends B{pipeId=nf;payload;payloadSchema=rf;billableOperations=of;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-identity-crustdata-v1-crustdata`)}getInputRequirement(){return af(this.payload.config)}getRawOutputFields(){return{[tf.name]:this.catalogOutput(tf)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_identify`,allowManagedConnection:!0}]}},cf=rf,lf={pipeId:nf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(nf),label:`Company identity`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Resolve a company to Crustdata's matching candidates by domain or name. Returns the full list of matches.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`website`,`linkedin`,`url`,`domain`,`resolve`,`match`,`candidates`],docPath:G(nf),billableOperations:of,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:af(null),defaultPayload:{pipe_id:nf,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``},company_name:{alias:``}},output_fields:{crustdata_company_identity_matches:{alias:``,enabled:!0}}}}},uf=h(`company_domain`),df=h(`companyenrich_matches`),ff=`company:lookalikes:companyenrich@2`,pf=r.object({pipe_id:r.literal(ff),run_if:b(),connector:S(),config:r.object({limit:qc({groupPath:`config.general`,max:50,min:1,path:`config.limit`,sectionKey:`general`,info:`Define how many lookalikes you want to find.`,label:`Limit`}),input_fields:F(r.object({[uf.name]:w({fieldName:uf.name})})),output_fields:P(r.object({[df.name]:D({fieldName:df.name})}))}).optional()}),mf=e=>R(K(uf,e)),hf={"company-lookalikes-companyenrich-v2-companyenrich":{allowManagedConnection:!0,credits:{default:.2,level1:{credits:.1,weight:1}},mode:`onSuccess`,note:`One billing event per result.`,provider:`companyenrich`}},gf=class extends B{pipeId=ff;payload;payloadSchema=pf;billableOperations=hf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`companyenrich`]}estimateBillableOperations(e){return[{billableOperation:`company-lookalikes-companyenrich-v2-companyenrich`,quantity:e.count*5}]}getInputRequirement(){return mf(this.payload.config)}getRawOutputFields(){return{[df.name]:this.catalogOutput(df)}}getConnectionsRequirements(){return[{provider:`companyenrich`,rateLimitRatio:1,rateLimitOperation:`company_enrich_generic`,allowManagedConnection:!0}]}},_f=pf,vf={pipeId:ff,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(ff),label:`Find company lookalikes`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find companies similar to the company you provide as input.`,tags:[U.COMPANY_PROFILES],keywords:[`similar`,`competitors`,`comparable`,`peers`,`alike`,`related`],docPath:G(ff),billableOperations:hf,allowedUserConnectionProviders:[`companyenrich`],managedProviders:[`companyenrich`],deprecatedProviders:[],defaultInputRequirement:mf(null),defaultPayload:{pipe_id:ff,connector:null,run_if:null,config:{limit:20,input_fields:{company_domain:{alias:``}},output_fields:{companyenrich_matches:{alias:``,enabled:!0}}}}},yf=h(`company_domain`),bf=h(`crustdata_companyenrich_match`),xf=`company:match:crustdata@2`,Sf=r.object({pipe_id:r.literal(xf),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[yf.name]:w({fieldName:yf.name})})),output_fields:P(r.object({[bf.name]:D({fieldName:bf.name})}))}).optional()}),Cf=e=>R(K(yf,e)),wf={"company-match-crustdata-v2-crustdata":{allowManagedConnection:!0,credits:{default:2.5,level1:{credits:1.2,weight:1}},mode:`onSuccess`,provider:`crustdata`}},Tf=class extends B{pipeId=xf;payload;payloadSchema=Sf;billableOperations=wf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-match-crustdata-v2-crustdata`)}getInputRequirement(){return Cf(this.payload.config)}getRawOutputFields(){return{[bf.name]:this.catalogOutput(bf)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_enrich`,allowManagedConnection:!0}]}},Ef=Sf,Df={pipeId:xf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(xf),label:`Company match`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Company data like headcount distribution, LinkedIn URLs etc. via the Crustdata API.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`enrich`,`headcount`,`employees`,`linkedin`,`firmographics`,`profile`],docPath:G(xf),billableOperations:wf,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:Cf(null),defaultPayload:{pipe_id:xf,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{crustdata_companyenrich_match:{alias:``,enabled:!0}}}}},X={MissingSecretError:class extends Error{constructor({providerName:e}){super(`Missing secret for ${e}`)}},HttpError:class extends Error{constructor({msg:e}){super(e)}}},Of=[{label:`Contact`,value:`0-1`},{label:`Company`,value:`0-2`},{label:`Deal`,value:`0-3`},{label:`Ticket`,value:`0-5`}];async function kf(e,t){let n=await fetch(`https://api.hubapi.com${t}`,{headers:{Authorization:`Bearer ${e}`},signal:AbortSignal.timeout(1e4)});if(!n.ok)throw new X.HttpError({msg:await n.text()});return await n.json()}function Af(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(n))}const jf=e=>({requires:{connection:`hubspot`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · Sales pipeline`,value:`sandbox-pipeline-1`},{label:`Demo · Renewals`,value:`sandbox-pipeline-2`}];if(!n)throw new X.MissingSecretError({providerName:`hubspot`});return Af((await kf(n,`/crm/v3/pipelines/${encodeURIComponent(e)}`)).results.map(e=>({label:e.label,value:e.id})),t)},widgets:{provider_logo:{provider:`hubspot`}}}),Mf={requires:{connection:`hubspot`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return Af([...Of,{label:`Demo · Domain map (custom)`,value:`2-000001`}],e);if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let r=[];try{r=(await kf(t,`/crm-object-schemas/v3/schemas`)).results.map(e=>({label:`${e.labels?.singular||e.name} (custom)`,value:e.objectTypeId}))}catch{r=[]}return Af([...Of,...r],e)},widgets:{provider_logo:{provider:`hubspot`}}},Nf={requires:{connection:`hubspot`,fields:[`config.from_object_type`,`config.to_object_type`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`Primary`,value:`1`},{label:`Demo · Decision maker`,value:`35`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let i=n?.config,a=i?.from_object_type,o=i?.to_object_type;return!a||!o?[]:Af((await kf(t,`/crm/v4/associations/${encodeURIComponent(a)}/${encodeURIComponent(o)}/labels`)).results.map(e=>({label:e.label||`Unlabeled (${e.category.toLowerCase().replace(`_`,` `)})`,value:String(e.typeId)})),e)},widgets:{provider_logo:{provider:`hubspot`}}},Pf={requires:{connection:`hubspot`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Ada Lovelace (ada@example.com)`,value:`1001`},{label:`Demo · Alan Turing (alan@example.com)`,value:`1002`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});return Af((await kf(t,`/crm/v3/owners?limit=500`)).results.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `)+(e.email?` (${e.email})`:``),value:e.id})),e)},widgets:{provider_logo:{provider:`hubspot`}}},Ff=(e,t)=>({requires:{connection:`hubspot`},options:async({query:n,secret:r,environment:i})=>{if(i===`sandbox`)return[{label:`Demo · Lead`,value:`lead`},{label:`Demo · Customer`,value:`customer`},{label:`Demo · Custom stage`,value:`12345678`}];if(!r)throw new X.MissingSecretError({providerName:`hubspot`});return Af(((await kf(r,`/crm/v3/properties/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).options??[]).filter(e=>!e.hidden).map(e=>({label:e.label,value:e.value})),n)},widgets:{provider_logo:{provider:`hubspot`}}}),If={requires:{connection:`hubspot`,fields:[`config.filters.pipeline`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · Qualified (Sales pipeline)`,value:`qualifiedtobuy`},{label:`Demo · Closed won (Sales pipeline)`,value:`closedwon`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let i=(n?.config)?.filters?.pipeline,a=Array.isArray(i)?i[0]:i,o=await kf(t,`/crm/v3/pipelines/deals`);return Af((a?o.results.filter(e=>e.id===a):o.results).flatMap(e=>e.stages.map(t=>({label:`${t.label} (${e.label})`,value:t.id}))),e)},widgets:{provider_logo:{provider:`hubspot`}}};async function Lf(e,{objectTypes:t,includePipelinesFor:n=[],writableOnly:r=!1}){if(e.environment===`sandbox`)return{summary:[`Sandbox HubSpot portal (demo data — property names below are examples, real portals differ):`,`- contacts: email, firstname, lastname, lifecyclestage (options: subscriber, lead, customer, demo_stage_1), hubspot_owner_id, custom_score`,`- companies: name, domain, industry, numberofemployees, hubspot_owner_id`,`- deals: dealname, pipeline, dealstage, amount, closedate`,`Call this tool against a production connection to get the portal's real properties.`].join(`
69
- `)};let i=e.connectionSecrets.hubspot;if(!i)return null;let a={},o=[];for(let[e,n]of t){let t=(await kf(i,`/crm/v3/properties/${encodeURIComponent(n)}`)).results.filter(e=>!r||!(e.calculated||e.modificationMetadata?.readOnlyValue)).map(e=>({name:e.name,label:e.label,type:e.type,options:e.options?.filter(e=>!e.hidden).slice(0,50).map(e=>({label:e.label,value:e.value}))??void 0,read_only:!!(e.calculated||e.modificationMetadata?.readOnlyValue)}));a[e]=t;let s=t.filter(e=>e.options?.length);o.push(`${e} (${n}): ${t.length} properties${r?` (writable only)`:``}. Enumerations with portal-specific option values: ${s.map(e=>e.name).join(`, `)||`none`}.`)}let s={};for(let e of n){let t=await kf(i,`/crm/v3/pipelines/${encodeURIComponent(e)}`);s[e]=t.results.map(e=>({id:e.id,label:e.label,stages:e.stages.map(e=>({id:e.id,label:e.label}))})),o.push(`Pipelines for ${e}: ${t.results.map(e=>`${e.label} (${e.id}) with stages ${e.stages.map(e=>`${e.label}=${e.id}`).join(`, `)}`).join(`; `)}.`)}return n.length>0&&(a.pipelines=s),o.push(`Use internal property names and enumeration option VALUES verbatim (labels differ). Values in filters are case-sensitive.`),{summary:o.join(`
70
- `),data:a}}const Rf=h(`company_domain`),zf=h(`hubspot_companies_found_count`),Bf=h(`hubspot_object_id`),Vf=h(`hubspot_company_matches`),Hf=`company:match:hubspot@1`,Uf=r.object({pipe_id:r.literal(Hf),run_if:b(),connector:x(),config:r.object({check_additional_domains:E({sectionKey:`general`,defaultValue:!0,label:`Also match secondary domains`,groupPath:`config.general`,path:`config.check_additional_domains`,info:"Also match companies whose `hs_additional_domains` contains the domain (primary-domain matches still rank first)."}),custom_properties:Nc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`industry`,info:"Added to the match JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),input_fields:F(r.object({[Rf.name]:w({fieldName:Rf.name})})),output_fields:P(r.object({[zf.name]:D({fieldName:zf.name}),[Bf.name]:D({fieldName:Bf.name}),[Vf.name]:D({fieldName:Vf.name})}))}).optional()}),Wf=e=>R(K(Rf,e)),Gf={"company-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},Kf=class extends B{pipeId=Hf;payload;payloadSchema=Uf;billableOperations=Gf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`company-match-hubspot-v1-hubspot`)}getInputRequirement(){return Wf(this.payload.config)}getRawOutputFields(){return{[zf.name]:this.catalogOutput(zf),[Bf.name]:this.catalogOutput(Bf),[Vf.name]:this.catalogOutput(Vf)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Lf(e,{objectTypes:[[`companies`,`0-2`]]})}},qf=Uf,Jf={pipeId:Hf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Hf),label:`HubSpot company match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a company exists in your HubSpot portal by domain. Domain is HubSpot's dedupe key but not unique — 0..N matches are normal; the primary match is the oldest record.`,tags:[U.WEBSITE],keywords:[`crm`,`lookup`,`exists`,`dedupe`,`record`,`account`],docPath:G(Hf),guide:`Domain matching uses the HubSpot Search API — records created in the last few moments may not be indexed yet. Multiple matches are normal (branches, franchises); the count output tells you. found_count = 0 is a successful result — gate follow-ups with run_if. Chain the id output into deal:match, object:update, or object:associations pipes.`,billableOperations:Gf,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Wf(null),defaultPayload:{pipe_id:Hf,connector:{strategy:`first`,connections:[]},run_if:null,config:{check_additional_domains:!0,custom_properties:[],input_fields:{company_domain:{alias:``}},output_fields:{hubspot_companies_found_count:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_company_matches:{alias:``,enabled:!0}}}}},Yf=h(`company_domain`),Xf=h(`company_name`),Zf=h(`company_profile_url`),Qf=h(`logodev_describe_match`),$f=h(`logo_url`),ep=`company:match:logodev@2`,tp=r.object({pipe_id:r.literal(ep),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[Yf.name]:w({fieldName:Yf.name})})),output_fields:P(r.object({[Zf.name]:D({fieldName:Zf.name}),[$f.name]:D({fieldName:$f.name}),[Xf.name]:D({fieldName:Xf.name}),[Qf.name]:D({fieldName:Qf.name})}))}).optional()}),np=e=>R(K(Yf,e)),rp={"company-match-logodev-v2-logodev":{allowManagedConnection:!0,credits:{default:.1},mode:`onSuccess`,provider:`logodev`}},ip=class extends B{pipeId=ep;payload;payloadSchema=tp;billableOperations=rp;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`logodev`]}estimateBillableOperations(e){return q(e,`company-match-logodev-v2-logodev`)}getInputRequirement(){return np(this.payload.config)}getRawOutputFields(){return{[Zf.name]:this.catalogOutput(Zf),[Xf.name]:this.catalogOutput(Xf),[$f.name]:this.catalogOutput($f),[Qf.name]:this.catalogOutput(Qf)}}getConnectionsRequirements(){return[{provider:`logodev`,rateLimitRatio:1,rateLimitOperation:`logodev_describe`,allowManagedConnection:!0}]}},ap=tp,op={pipeId:ep,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(ep),label:`Company match`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find brand data like logos, colors, and social links via the Logo.dev API.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`logo`,`brand`,`branding`,`colors`,`social`,`icon`],docPath:G(ep),billableOperations:rp,allowedUserConnectionProviders:[`logodev`],managedProviders:[`logodev`],deprecatedProviders:[],defaultInputRequirement:np(null),defaultPayload:{pipe_id:ep,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{company_profile_url:{alias:``,enabled:!0},logo_url:{alias:``,enabled:!0},logodev_describe_match:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},sp=`company:newssummary:domain@1`,cp=h(`company_news_summary`),lp=h(`company_domain`),up=r.object({pipe_id:r.literal(sp),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[lp.name]:w({fieldName:lp.name})})),output_fields:P(r.object({[cp.name]:D({fieldName:cp.name})}))}).optional()}),dp=e=>R(K(lp,e)),fp={"company-newssummary-domain-v1-pipe0":{allowManagedConnection:!0,credits:{default:2},mode:`always`,provider:`pipe0`}},pp=class extends B{pipeId=sp;payloadSchema=up;billableOperations=fp;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-newssummary-domain-v1-pipe0`)}getInputRequirement(){return dp(this.payload.config)}getRawOutputFields(){return{[cp.name]:this.catalogOutput(cp)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitRatio:4,rateLimitOperation:`parallel_search_base`,allowManagedConnection:!0},{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0}]}},mp=up,hp={pipeId:sp,basePipe:W(sp),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company news`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find recent company news by performing a search and scrape.`,tags:[U.NEWS],keywords:[`press`,`articles`,`headlines`,`media`,`summary`,`updates`],docPath:G(sp),billableOperations:fp,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:dp(null),defaultPayload:{pipe_id:sp,run_if:null,connector:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{company_news_summary:{alias:``,enabled:!0}}}}},gp=h(`company_domain`),_p=h(`company_profile_url`),vp=h(`company_description`),yp=h(`company_industry`),bp=h(`company_region`),xp=h(`headcount`),Sp=h(`estimated_revenue`),Cp=h(`founded_year`),wp=h(`company_name`),Tp=`company:overview@3`,Ep=r.object({pipe_id:r.literal(Tp),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[gp.name]:w({fieldName:gp.name}),[_p.name]:w({fieldName:_p.name})})),output_fields:P(r.object({[vp.name]:D({fieldName:vp.name}),[yp.name]:D({fieldName:yp.name}),[bp.name]:D({fieldName:bp.name}),[xp.name]:D({fieldName:xp.name}),[Sp.name]:D({fieldName:Sp.name}),[Cp.name]:D({fieldName:Cp.name}),[wp.name]:D({fieldName:wp.name})}))}).optional()}),Dp=e=>Ul(K(gp,e),K(_p,e)),Op={"company-overview-v3-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`always`}},kp=class extends B{pipeId=Tp;payloadSchema=Ep;billableOperations=Op;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v3-pipe0`)}getInputRequirement(){return Dp(this.payload.config)}getRawOutputFields(){return{[vp.name]:this.catalogOutput(vp),[yp.name]:this.catalogOutput(yp),[bp.name]:this.catalogOutput(bp),[xp.name]:this.catalogOutput(xp),[Sp.name]:this.catalogOutput(Sp),[Cp.name]:this.catalogOutput(Cp),[wp.name]:this.catalogOutput(wp)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},Ap=Ep,jp={pipeId:Tp,basePipe:W(Tp),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`company_data`],lifecycle:null,description:`Business description, industry, and financial information.`,docPath:G(Tp),tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA],keywords:[`enrich`,`firmographics`,`industry`,`profile`,`about`,`financials`,`revenue`],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:Op,defaultInputRequirement:Dp(null),defaultPayload:{pipe_id:Tp,run_if:null,connector:void 0,config:{input_fields:{company_profile_url:{alias:``},company_domain:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},Mp=h(`company_domain`),Np=h(`technology_list`),Pp=h(`spending_trend`),Fp=h(`technology_match_builtwith`),Ip=`company:techstack:builtwith@2`,Lp=r.object({pipe_id:r.literal(Ip),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[Mp.name]:w({fieldName:Mp.name})})),output_fields:P(r.object({[Np.name]:D({fieldName:Np.name}),[Fp.name]:D({fieldName:Fp.name}),[Pp.name]:D({fieldName:Pp.name})}))}).optional()}),Rp=e=>R(K(Mp,e)),zp={"company-techstack-builtwith-v2-builtwith":{provider:`builtwith`,allowManagedConnection:!0,credits:{default:2},mode:`always`}},Bp=class extends B{pipeId=Ip;payload;payloadSchema=Lp;billableOperations=zp;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`builtwith`]}estimateBillableOperations(e){return q(e,`company-techstack-builtwith-v2-builtwith`)}getInputRequirement(){return Rp(this.payload.config)}getRawOutputFields(){return{[Np.name]:this.catalogOutput(Np),[Fp.name]:this.catalogOutput(Fp),[Pp.name]:this.catalogOutput(Pp)}}getConnectionsRequirements(){return[{provider:`builtwith`,rateLimitRatio:1,rateLimitOperation:`builtwith_generic`,allowManagedConnection:!0}]}},Vp=Lp,Hp={pipeId:Ip,basePipe:W(Ip),managedProviders:[`builtwith`],deprecatedProviders:[],allowedUserConnectionProviders:[`builtwith`],label:`Tech stack`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`All technologies and frameworks powering a given website.`,tags:[U.WEBSITE],keywords:[`technologies`,`technographics`,`software`,`frameworks`,`website`,`tools`],inputFieldMode:`static`,outputFieldMode:`static`,docPath:G(Ip),billableOperations:zp,defaultInputRequirement:Rp(null),defaultPayload:{pipe_id:Ip,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{technology_list:{alias:``,enabled:!0},technology_match_builtwith:{alias:``,enabled:!0},spending_trend:{alias:``,enabled:!0}}}}},Up=`contact:create:resend@1`,Wp={"contact-create-resend-v1-resend":{allowManagedConnection:!1,provider:`resend`,credits:null,mode:null}},Gp=h(`email`),Kp=h(`name`),qp=h(`resend_contact_id`),Jp=[{label:`Demo subscribers`,value:`sandbox-segment-1`},{label:`Demo product updates`,value:`sandbox-segment-2`}],Yp=r.object({pipe_id:r.literal(Up),connector:x(),run_if:b(),config:r.object({segment_id:Xc({sectionKey:`general`,required:!0,label:`Segment`,groupPath:`config.general`,path:`config.segment_id`,info:``,enabledIf:g(`resend`),optionsDef:{requires:{connection:`resend`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return Jp;if(!t)throw new X.MissingSecretError({providerName:`resend`});let r=await fetch(`https://api.resend.com/segments?limit=100`,{headers:{Authorization:`Bearer ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=(await r.json()).data.map(e=>({label:e.name,value:e.id}));return e?i.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):i}}}),add_as_subscribed:E({sectionKey:`general`,defaultValue:!0,label:`Add as subscribed`,groupPath:`config.general`,path:`config.add_as_subscribed`,info:``}),input_fields:F(r.object({[Kp.name]:w({fieldName:Kp.name}),[Gp.name]:w({fieldName:Gp.name})})),output_fields:P(r.object({[qp.name]:D({fieldName:qp.name})}))})}),Xp=e=>z(R(K(Gp,e)),R(K(Kp,e))),Zp=class extends B{pipeId=Up;payload;payloadSchema=Yp;billableOperations=Wp;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`resend`]}estimateBillableOperations(e){return q(e,`contact-create-resend-v1-resend`)}getInputRequirement(){return Xp(this.payload.config)}getRawOutputFields(){return{[qp.name]:this.catalogOutput(qp)}}getConnectionsRequirements(){return[{provider:`resend`,rateLimitRatio:1,rateLimitOperation:`resend_generic`,allowManagedConnection:!1}]}},Qp=Yp,$p={pipeId:Up,basePipe:W(Up),label:`Create Contact`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Create a contact inside a Resend audience.`,tags:[U.EMAIL],keywords:[`audience`,`subscriber`,`add`,`mailing list`,`newsletter`,`email list`],docPath:G(Up),billableOperations:Wp,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`resend`],defaultInputRequirement:Xp(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:Up,connector:{strategy:`first`,connections:[]},run_if:null,config:{segment_id:``,add_as_subscribed:!0,input_fields:{name:{alias:``},email:{alias:``}},output_fields:{resend_contact_id:{alias:``,enabled:!0}}}}},em=h(`email`),tm=h(`hubspot_contact_found`),nm=h(`hubspot_object_id`),rm=h(`hubspot_contact_match`),im=`contact:match:hubspot@1`,am=r.object({pipe_id:r.literal(im),run_if:b(),connector:x(),config:r.object({check_additional_emails:E({sectionKey:`general`,defaultValue:!0,label:`Also match secondary emails`,groupPath:`config.general`,path:`config.check_additional_emails`,info:"When the primary-email lookup misses, also search `hs_additional_emails`. Uses the portal's shared 5 req/s search budget."}),custom_properties:Nc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`lifecyclestage`,info:'HubSpot internal property names to include in the match output (e.g. `lifecyclestage`, not "Lifecycle Stage"). Custom properties work too and nest under `custom_properties`. Empty = a standard identity set.'}),input_fields:F(r.object({[em.name]:w({fieldName:em.name})})),output_fields:P(r.object({[tm.name]:D({fieldName:tm.name}),[nm.name]:D({fieldName:nm.name}),[rm.name]:D({fieldName:rm.name})}))}).optional()}),om=e=>R(K(em,e)),sm={"contact-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},cm=class extends B{pipeId=im;payload;payloadSchema=am;billableOperations=sm;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`contact-match-hubspot-v1-hubspot`)}getInputRequirement(){return om(this.payload.config)}getRawOutputFields(){return{[tm.name]:this.catalogOutput(tm),[nm.name]:this.catalogOutput(nm),[rm.name]:this.catalogOutput(rm)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Lf(e,{objectTypes:[[`contacts`,`0-1`]]})}},lm=am,um={pipeId:im,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(im),label:`HubSpot contact match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a contact exists in your HubSpot portal by email. Matches the primary email exactly (and optionally secondary emails); a clean miss completes with found = false.`,tags:[U.EMAIL],keywords:[`crm`,`lookup`,`exists`,`dedupe`,`record`,`person`],docPath:G(im),guide:"Call get_provider_context first to discover this portal's properties; use internal property names verbatim (e.g. `lifecyclestage`). The match by email is exact (HubSpot's own contact dedupe key). found = false is a successful result — gate follow-up pipes with run_if on it. Chain the id output into object:update:hubspot@1 or object:associations:hubspot@1.",billableOperations:sm,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:om(null),defaultPayload:{pipe_id:im,connector:{strategy:`first`,connections:[]},run_if:null,config:{check_additional_emails:!0,custom_properties:[],input_fields:{email:{alias:``}},output_fields:{hubspot_contact_found:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_contact_match:{alias:``,enabled:!0}}}}},dm=h(`company_domain`),fm=h(`email`),pm=h(`hubspot_deals_found_count`),mm=h(`hubspot_object_id`),hm=h(`hubspot_deal_matches`),gm=`deal:match:hubspot@1`,_m=r.object({pipe_id:r.literal(gm),run_if:b(),connector:x(),config:r.object({pipeline:Xc({sectionKey:`general`,required:!1,label:`Pipeline`,groupPath:`config.general`,path:`config.pipeline`,info:`Only match deals in this pipeline. Empty = all pipelines.`,enabledIf:g(`hubspot`),optionsDef:jf(`deals`)}),status:Wc({sectionKey:`general`,required:!1,label:`Deal status`,groupPath:`config.general`,path:`config.status`,description:`Filters on HubSpot's computed hs_is_closed / hs_is_closed_won — portal-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),custom_properties:Nc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`amount`,info:"Added to the match JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),input_fields:F(r.object({[dm.name]:w({fieldName:dm.name}),[fm.name]:w({fieldName:fm.name})})),output_fields:P(r.object({[pm.name]:D({fieldName:pm.name}),[mm.name]:D({fieldName:mm.name}),[hm.name]:D({fieldName:hm.name})}))}).optional()}),vm=e=>Ul(R(K(dm,e)),R(K(fm,e))),ym={"deal-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},bm=class extends B{pipeId=gm;payload;payloadSchema=_m;billableOperations=ym;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`deal-match-hubspot-v1-hubspot`)}getInputRequirement(){return vm(this.payload.config)}getRawOutputFields(){return{[pm.name]:this.catalogOutput(pm),[mm.name]:this.catalogOutput(mm),[hm.name]:this.catalogOutput(hm)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Lf(e,{objectTypes:[[`deals`,`0-3`]],includePipelinesFor:[`deals`]})}},xm=_m,Sm={pipeId:gm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(gm),label:`HubSpot deal match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find deals in your HubSpot portal for a company (by domain) or contact (by email) via HubSpot's association graph — deals have no natural key of their own.`,tags:[U.WEBSITE,U.EMAIL],keywords:[`crm`,`opportunity`,`lookup`,`exists`,`association`,`pipeline`],docPath:G(gm),guide:`Deals are found via associations from the matched company (preferred when both inputs are present) or contact — never by dealname. Stage ids outside the default pipeline are numeric; call get_provider_context for this portal's pipelines and stage ids. found_count = 0 is a successful result.`,billableOperations:ym,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:vm(null),defaultPayload:{pipe_id:gm,connector:{strategy:`first`,connections:[]},run_if:null,config:{pipeline:``,status:`any`,custom_properties:[],input_fields:{company_domain:{alias:``},email:{alias:``}},output_fields:{hubspot_deals_found_count:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_deal_matches:{alias:``,enabled:!0}}}}},Cm=`company:funding:leadmagic@1`,wm=h(`company_name`),Tm=h(`company_website_url`),Em=h(`funding_history`),Dm=h(`funding_total_usd`),Om=h(`leadmagic_competitor_list`),km=h(`leadmagic_acquisition_history`),Am=h(`leadmagic_company_news_list`),jm=r.object({pipe_id:r.literal(Cm),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[wm.name]:w({fieldName:wm.name}),[Tm.name]:w({fieldName:Tm.name})})),output_fields:P(r.object({[Em.name]:D({fieldName:Em.name}),[Dm.name]:D({fieldName:Dm.name}),[Om.name]:D({fieldName:Om.name}),[km.name]:D({fieldName:km.name}),[Am.name]:D({fieldName:Am.name})}))}).optional()}),Mm=e=>Ul(K(wm,e),K(Tm,e)),Nm={"company-funding-leadmagic-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},Pm=class extends B{pipeId=Cm;payload;payloadSchema=jm;billableOperations=Nm;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`leadmagic`]}estimateBillableOperations(e){return q(e,`company-funding-leadmagic-v1-leadmagic`)}getInputRequirement(){return Mm(this.payload.config)}getRawOutputFields(){return{[Em.name]:this.catalogOutput(Em),[Dm.name]:this.catalogOutput(Dm)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitRatio:1,rateLimitOperation:`leadmagic_company_funding`,allowManagedConnection:!0}]}},Fm=jm,Im={pipeId:Cm,basePipe:W(Cm),label:`Funding history`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:funding:leadmagic@2`},description:`Information on funding rounds, acquisition, competitors, and investors.`,tags:[U.FINANCIAL_DATA],docPath:G(Cm),billableOperations:Nm,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`leadmagic`],managedProviders:[`leadmagic`],deprecatedProviders:[],defaultInputRequirement:Mm(null),defaultPayload:{pipe_id:Cm,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``},company_website_url:{alias:``}},output_fields:{funding_history:{enabled:!0,alias:``},funding_total_usd:{enabled:!0,alias:``},leadmagic_acquisition_history:{enabled:!1,alias:``},leadmagic_company_news_list:{enabled:!1,alias:``},leadmagic_competitor_list:{enabled:!1,alias:``}}}}},Lm=h(`company_name`),Rm=h(`company_social_url`),zm=h(`company_website_url`),Bm=h(`cleaned_company_name`),Vm=`company:identity@1`,Hm=r.object({pipe_id:r.literal(Vm),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Lm.name]:w({fieldName:Lm.name})})),output_fields:P(r.object({[Rm.name]:D({fieldName:Rm.name}),[Bm.name]:D({fieldName:Bm.name}),[zm.name]:D({fieldName:zm.name})}))}).optional()}),Um=e=>R(K(Lm,e)),Wm={"company-identity-v1-pipe0":{allowManagedConnection:!0,credits:{default:.3},mode:`always`,provider:`pipe0`}},Gm=class extends B{pipeId=Vm;payload;payloadSchema=Hm;billableOperations=Wm;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v1-pipe0`)}getInputRequirement(){return Um(this.payload.config)}getRawOutputFields(){return{[Rm.name]:this.catalogOutput(Rm),[zm.name]:this.catalogOutput(zm),[Bm.name]:this.catalogOutput(Bm)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},Km=Hm,qm={pipeId:Vm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Vm),label:`Company identity`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@2`},description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:`/resources/pipe-catalog/company:identity/1`,billableOperations:Wm,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:Um(null),defaultPayload:{pipe_id:Vm,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_social_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},Jm=h(`company_name`),Ym=h(`company_profile_url`),Xm=h(`company_website_url`),Zm=h(`cleaned_company_name`),Qm=`company:identity@2`,$m=r.object({pipe_id:r.literal(Qm),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Jm.name]:w({fieldName:Jm.name})})),output_fields:P(r.object({[Ym.name]:D({fieldName:Ym.name}),[Zm.name]:D({fieldName:Zm.name}),[Xm.name]:D({fieldName:Xm.name})}))}).optional()}),eh=e=>R(K(Jm,e)),th={"company-identity-v2-pipe0":{allowManagedConnection:!0,credits:{default:.3},mode:`always`,provider:`pipe0`}},nh=class extends B{pipeId=Qm;payload;payloadSchema=$m;billableOperations=th;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v2-pipe0`)}getInputRequirement(){return eh(this.payload.config)}getRawOutputFields(){return{[Ym.name]:this.catalogOutput(Ym),[Xm.name]:this.catalogOutput(Xm),[Zm.name]:this.catalogOutput(Zm)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},rh=$m,ih={pipeId:Qm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Qm),label:`Company identity`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@3`},description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(Qm),billableOperations:th,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:eh(null),defaultPayload:{pipe_id:Qm,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},ah=h(`company_website_url`),oh=h(`companyenrich_matches`),sh=`company:lookalikes:companyenrich@1`,ch=r.object({pipe_id:r.literal(sh),run_if:b(),connector:S(),config:r.object({limit:qc({groupPath:`config.general`,max:50,min:1,path:`config.limit`,sectionKey:`general`,info:`Define how many lookalikes you want to find.`,label:`Limit`}),input_fields:F(r.object({[ah.name]:w({fieldName:ah.name})})),output_fields:P(r.object({[oh.name]:D({fieldName:oh.name})}))}).optional()}),lh=e=>R(K(ah,e)),uh={"company-lookalikes-companyenrich-v1-companyenrich":{allowManagedConnection:!0,credits:{default:.2},mode:`onSuccess`,note:`One billing event per result.`,provider:`companyenrich`}},dh=class extends B{pipeId=sh;payload;payloadSchema=ch;billableOperations=uh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`companyenrich`]}estimateBillableOperations(e){return[{billableOperation:`company-lookalikes-companyenrich-v1-companyenrich`,quantity:e.count*5}]}getInputRequirement(){return lh(this.payload.config)}getRawOutputFields(){return{[oh.name]:this.catalogOutput(oh)}}getConnectionsRequirements(){return[{provider:`companyenrich`,rateLimitRatio:1,rateLimitOperation:`company_enrich_generic`,allowManagedConnection:!0}]}},fh=ch,ph={pipeId:sh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(sh),label:`Find company lookalikes`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:lookalikes:companyenrich@2`},description:`Find companies similar to the company you provide as input.`,tags:[U.COMPANY_PROFILES],docPath:G(sh),billableOperations:uh,allowedUserConnectionProviders:[`companyenrich`],managedProviders:[`companyenrich`],deprecatedProviders:[],defaultInputRequirement:lh(null),defaultPayload:{pipe_id:sh,connector:null,run_if:null,config:{limit:20,input_fields:{company_website_url:{alias:``}},output_fields:{companyenrich_matches:{alias:``,enabled:!0}}}}},mh=h(`company_website_url`),hh=h(`crustdata_companyenrich_match`),gh=`company:match:crustdata@1`,_h=r.object({pipe_id:r.literal(gh),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[mh.name]:w({fieldName:mh.name})})),output_fields:P(r.object({[hh.name]:D({fieldName:hh.name})}))}).optional()}),vh=e=>R(K(mh,e)),yh={"company-match-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`,provider:`crustdata`}},bh=class extends B{pipeId=gh;payload;payloadSchema=_h;billableOperations=yh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-match-crustdata-v1-crustdata`)}getInputRequirement(){return vh(this.payload.config)}getRawOutputFields(){return{[hh.name]:this.catalogOutput(hh)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_enrich`,allowManagedConnection:!0}]}},xh=_h,Sh={pipeId:gh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(gh),label:`Company match`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:match:crustdata@2`},description:`Company data like headcount distribution, LinkedIn URLs etc. via the Crustdata API.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(gh),billableOperations:yh,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:vh(null),defaultPayload:{pipe_id:gh,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{crustdata_companyenrich_match:{alias:``,enabled:!0}}}}},Ch=h(`company_website_url`),wh=h(`company_name`),Th=h(`company_profile_url`),Eh=h(`logodev_describe_match`),Dh=h(`logo_url`),Oh=`company:match:logodev@1`,kh=r.object({pipe_id:r.literal(Oh),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[Ch.name]:w({fieldName:Ch.name})})),output_fields:P(r.object({[Th.name]:D({fieldName:Th.name}),[Dh.name]:D({fieldName:Dh.name}),[wh.name]:D({fieldName:wh.name}),[Eh.name]:D({fieldName:Eh.name})}))}).optional()}),Ah=e=>R(K(Ch,e)),jh={"company-match-logodev-v1-logodev":{allowManagedConnection:!0,credits:{default:.1},mode:`onSuccess`,provider:`logodev`}},Mh=class extends B{pipeId=Oh;payload;payloadSchema=kh;billableOperations=jh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`logodev`]}estimateBillableOperations(e){return q(e,`company-match-logodev-v1-logodev`)}getInputRequirement(){return Ah(this.payload.config)}getRawOutputFields(){return{[Th.name]:this.catalogOutput(Th),[wh.name]:this.catalogOutput(wh),[Dh.name]:this.catalogOutput(Dh),[Eh.name]:this.catalogOutput(Eh)}}getConnectionsRequirements(){return[{provider:`logodev`,rateLimitRatio:1,rateLimitOperation:`logodev_describe`,allowManagedConnection:!0}]}},Nh=kh,Ph={pipeId:Oh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Oh),label:`Company match`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:match:logodev@2`},description:`Find brand data like logos, colors, and social links via the Logo.dev API.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(Oh),billableOperations:jh,allowedUserConnectionProviders:[`logodev`],managedProviders:[`logodev`],deprecatedProviders:[],defaultInputRequirement:Ah(null),defaultPayload:{pipe_id:Oh,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{company_profile_url:{alias:``,enabled:!0},logo_url:{alias:``,enabled:!0},logodev_describe_match:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},Fh=`company:newssummary:website@1`,Ih=h(`company_news_summary`),Lh=h(`company_website_url`),Rh=r.object({pipe_id:r.literal(Fh),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[Lh.name]:w({fieldName:Lh.name})})),output_fields:P(r.object({[Ih.name]:D({fieldName:Ih.name})}))}).optional()}),zh=e=>R(K(Lh,e)),Bh={"company-newssummary-website-v1-pipe0":{allowManagedConnection:!0,credits:{default:1},mode:`always`,provider:`pipe0`}},Vh=class extends B{pipeId=Fh;payloadSchema=Rh;billableOperations=Bh;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-newssummary-website-v1-pipe0`)}getInputRequirement(){return zh(this.payload.config)}getRawOutputFields(){return{[Ih.name]:this.catalogOutput(Ih)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0}]}},Hh=Rh,Uh={pipeId:Fh,basePipe:W(Fh),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company news`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:newssummary:domain@1`},description:`Find recent company news by performing a search and scrape.`,tags:[U.NEWS],docPath:G(Fh),billableOperations:Bh,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:zh(null),defaultPayload:{pipe_id:Fh,run_if:null,connector:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{company_news_summary:{alias:``,enabled:!0}}}}},Wh=h(`company_website_url`),Gh=h(`company_social_url`),Kh=h(`company_description`),qh=h(`company_industry`),Jh=h(`company_region`),Yh=h(`headcount`),Xh=h(`estimated_revenue`),Zh=h(`founded_year`),Qh=`company:overview@1`,$h=r.object({pipe_id:r.literal(Qh),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Wh.name]:w({fieldName:Wh.name}),[Gh.name]:w({fieldName:Gh.name})})),output_fields:P(r.object({[Kh.name]:D({fieldName:Kh.name}),[qh.name]:D({fieldName:qh.name}),[Jh.name]:D({fieldName:Jh.name}),[Yh.name]:D({fieldName:Yh.name}),[Xh.name]:D({fieldName:Xh.name}),[Zh.name]:D({fieldName:Zh.name})}))}).optional()}),eg=e=>Ul(K(Wh,e),K(Gh,e)),tg={"company-overview-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1},mode:`always`}},ng=class extends B{pipeId=Qh;payloadSchema=$h;billableOperations=tg;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v1-pipe0`)}getInputRequirement(){return eg(this.payload.config)}getRawOutputFields(){return{[Kh.name]:this.catalogOutput(Kh),[qh.name]:this.catalogOutput(qh),[Jh.name]:this.catalogOutput(Jh),[Yh.name]:this.catalogOutput(Yh),[Xh.name]:this.catalogOutput(Xh),[Zh.name]:this.catalogOutput(Zh)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},rg=$h,ig={pipeId:Qh,basePipe:W(Qh),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@2`},description:`Find high-level business and financial information like company description, estimated revenue, and headcount.`,docPath:`/resources/pipe-catalog/company:overview/1`,tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA,U.DEPRECATED],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:tg,defaultInputRequirement:eg(null),defaultPayload:{pipe_id:Qh,run_if:null,connector:void 0,config:{input_fields:{company_social_url:{alias:``},company_website_url:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0}}}}},ag=h(`company_website_url`),og=h(`company_profile_url`),sg=h(`company_description`),cg=h(`company_industry`),lg=h(`company_region`),ug=h(`headcount`),dg=h(`estimated_revenue`),fg=h(`founded_year`),pg=h(`company_name`),mg=`company:overview@2`,hg=r.object({pipe_id:r.literal(mg),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[ag.name]:w({fieldName:ag.name}),[og.name]:w({fieldName:og.name})})),output_fields:P(r.object({[sg.name]:D({fieldName:sg.name}),[cg.name]:D({fieldName:cg.name}),[lg.name]:D({fieldName:lg.name}),[ug.name]:D({fieldName:ug.name}),[dg.name]:D({fieldName:dg.name}),[fg.name]:D({fieldName:fg.name}),[pg.name]:D({fieldName:pg.name})}))}).optional()}),gg=e=>Ul(K(ag,e),K(og,e)),_g={"company-overview-v2-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1},mode:`always`}},vg=class extends B{pipeId=mg;payloadSchema=hg;billableOperations=_g;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v2-pipe0`)}getInputRequirement(){return gg(this.payload.config)}getRawOutputFields(){return{[sg.name]:this.catalogOutput(sg),[cg.name]:this.catalogOutput(cg),[lg.name]:this.catalogOutput(lg),[ug.name]:this.catalogOutput(ug),[dg.name]:this.catalogOutput(dg),[fg.name]:this.catalogOutput(fg),[pg.name]:this.catalogOutput(pg)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},yg=hg,bg={pipeId:mg,basePipe:W(mg),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:overview@3`},description:`Business description, industry, and financial information.`,docPath:G(mg),tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:_g,defaultInputRequirement:gg(null),defaultPayload:{pipe_id:mg,run_if:null,connector:void 0,config:{input_fields:{company_profile_url:{alias:``},company_website_url:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},xg=h(`company_website_url`),Sg=h(`technology_list`),Cg=h(`spending_trend`),wg=h(`technology_match_builtwith`),Tg=`company:techstack:builtwith@1`,Eg=r.object({pipe_id:r.literal(Tg),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[xg.name]:w({fieldName:xg.name})})),output_fields:P(r.object({[Sg.name]:D({fieldName:Sg.name}),[wg.name]:D({fieldName:wg.name}),[Cg.name]:D({fieldName:Cg.name})}))}).optional()}),Dg=e=>R(K(xg,e)),Og={"company-techstack-builtwith-v1-builtwith":{provider:`builtwith`,allowManagedConnection:!0,credits:{default:2},mode:`always`}},kg=class extends B{pipeId=Tg;payload;payloadSchema=Eg;billableOperations=Og;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`builtwith`]}estimateBillableOperations(e){return q(e,`company-techstack-builtwith-v1-builtwith`)}getInputRequirement(){return Dg(this.payload.config)}getRawOutputFields(){return{[Sg.name]:this.catalogOutput(Sg),[wg.name]:this.catalogOutput(wg),[Cg.name]:this.catalogOutput(Cg)}}getConnectionsRequirements(){return[{provider:`builtwith`,rateLimitRatio:1,rateLimitOperation:`builtwith_generic`,allowManagedConnection:!0}]}},Ag=Eg,jg={pipeId:Tg,basePipe:W(Tg),managedProviders:[`builtwith`],deprecatedProviders:[],allowedUserConnectionProviders:[`builtwith`],label:`Tech stack`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:techstack:builtwith@2`},description:`All technologies and frameworks powering a given website.`,tags:[U.WEBSITE],inputFieldMode:`static`,outputFieldMode:`static`,docPath:G(Tg),billableOperations:Og,defaultInputRequirement:Dg(null),defaultPayload:{pipe_id:Tg,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{technology_list:{alias:``,enabled:!0},technology_match_builtwith:{alias:``,enabled:!0},spending_trend:{alias:``,enabled:!0}}}}},Mg=`company:websiteurl:email@1`,Ng=h(`company_website_url`),Pg=h(`email`),Fg=r.object({pipe_id:r.literal(Mg),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Pg.name]:w({fieldName:Pg.name})})),output_fields:P(r.object({[Ng.name]:D({fieldName:Ng.name})}))}).optional()}),Ig=e=>R(K(Pg,e)),Lg={"company-websiteurl-email-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,mode:`always`,provider:`pipe0`}},Rg=class extends B{pipeId=Mg;payload;payloadSchema=Fg;billableOperations=Lg;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-websiteurl-email-v1-pipe0`)}getInputRequirement(){return Ig(this.payload.config)}getRawOutputFields(){return{[Ng.name]:this.catalogOutput(Ng)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},zg=Fg,Bg={pipeId:Mg,basePipe:W(Mg),inputFieldMode:`static`,outputFieldMode:`static`,label:`Website from email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:domain:workemail@1`},description:`Extract the company website URL from a work email address.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WEBSITE],docPath:G(Mg),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:Lg,defaultInputRequirement:Ig(null),defaultPayload:{pipe_id:Mg,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{company_website_url:{alias:``,enabled:!0}}}}},Vg=`people:email:iswork@1`,Hg=h(`is_work_email`),Ug=h(`email`),Wg=r.object({pipe_id:r.literal(Vg),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Ug.name]:w({fieldName:Ug.name})})),output_fields:P(r.object({[Hg.name]:D({fieldName:Hg.name})}))}).optional()}),Gg=e=>R(K(Ug,e)),Kg={"people-email-iswork-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},qg=class extends B{pipeId=Vg;payload;payloadSchema=Wg;billableOperations=Kg;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-email-iswork-v1-pipe0`)}getInputRequirement(){return Gg(this.payload.config)}getRawOutputFields(){return{[Hg.name]:this.catalogOutput(Hg)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},Jg=Wg,Yg={pipeId:Vg,label:`Work email checker`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`email:iswork@1`},description:`Check if a given email address is personal or professional.`,tags:[U.EMAIL,U.WORK_EMAIL],docPath:G(Vg),billableOperations:Kg,basePipe:W(Vg),allowedUserConnectionProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:Gg(null),defaultPayload:{pipe_id:Vg,run_if:null,connector:null,config:{input_fields:{email:{alias:``}},output_fields:{is_work_email:{alias:``,enabled:!0}}}}},Xg=`people:email:validate:zerobounce@1`,Zg=h(`work_email`),Qg=h(`is_email_valid`),$g=r.object({pipe_id:r.literal(Xg),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[Zg.name]:w({fieldName:Zg.name})})),output_fields:P(r.object({[Qg.name]:D({fieldName:Qg.name})}))}).optional()}),e_=e=>R(K(Zg,e)),t_={"people-email-validate-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.3},mode:`always`}},n_=class extends B{pipeId=Xg;payload;payloadSchema=$g;billableOperations=t_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-email-validate-zerobounce-v1-zerobounce`)}getInputRequirement(){return e_(this.payload.config)}getRawOutputFields(){return{[Qg.name]:this.catalogOutput(Qg)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},r_=$g,i_={pipeId:Xg,basePipe:W(Xg),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:email:validate:zerobounce@2`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:`/resources/pipe-catalog/people:email:validate:zerobounce/1`,billableOperations:t_,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:e_(null),defaultPayload:{pipe_id:Xg,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{is_email_valid:{alias:``,enabled:!0}}}}},a_=`people:email:validate:zerobounce@2`,o_=h(`email`),s_=h(`zerobounce_validation_status`),c_=h(`zerobounce_validation_match`),l_=r.object({pipe_id:r.literal(a_),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[o_.name]:w({fieldName:o_.name})})),output_fields:P(r.object({[c_.name]:D({fieldName:c_.name}),[s_.name]:D({fieldName:s_.name})}))}).optional()}),u_=e=>R(K(o_,e)),d_={"people-email-validate-zerobounce-v2-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.3},mode:`always`}},f_=class extends B{pipeId=a_;payload;payloadSchema=l_;billableOperations=d_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-email-validate-zerobounce-v2-zerobounce`)}getInputRequirement(){return u_(this.payload.config)}getRawOutputFields(){return{[s_.name]:this.catalogOutput(s_),[c_.name]:this.catalogOutput(c_)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},p_=l_,m_={pipeId:a_,basePipe:W(a_),label:`Validate email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`email:validate:zerobounce@1`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:G(a_),billableOperations:d_,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:u_(null),defaultPayload:{pipe_id:a_,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{zerobounce_validation_status:{alias:``,enabled:!0},zerobounce_validation_match:{alias:``,enabled:!0}}}}},h_=`people:identity:email:waterfall@1`,g_=h(`email`),__=h(`company_website_url`),v_=h(`name`),y_=h(`job_title`),b_=h(`profile_url`),x_=h(`company_profile_url`),S_=h(`company_name`),C_=[`findymail`,`hunter`,`crustdata`],w_=[{provider:`findymail`},{provider:`hunter`},{provider:`crustdata`}],T_=r.object({pipe_id:r.literal(h_),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:C_,defaultProviders:w_,sectionKey:`general`}),input_fields:F(r.object({[g_.name]:w({fieldName:g_.name})})),output_fields:P(r.object({[v_.name]:D({fieldName:v_.name}),[b_.name]:D({fieldName:b_.name}),[y_.name]:D({fieldName:y_.name}),[__.name]:D({fieldName:__.name}),[S_.name]:D({fieldName:S_.name}),[x_.name]:D({fieldName:x_.name})}))}).optional()}),E_=e=>R(K(g_,e)),D_={"people-identity-email-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-identity-email-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-identity-email-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},O_=class extends B{pipeId=h_;payload;payloadSchema=T_;billableOperations=D_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return E_(this.payload.config)}getRawOutputFields(){return{[v_.name]:this.catalogOutput(v_,{isPrimaryOutput:!0}),[b_.name]:this.catalogOutput(b_,{isPrimaryOutput:!0}),[y_.name]:this.catalogOutput(y_,{isPrimaryOutput:!0}),[S_.name]:this.catalogOutput(S_,{isPrimaryOutput:!0}),[x_.name]:this.catalogOutput(x_,{isPrimaryOutput:!0}),[__.name]:this.catalogOutput(__,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={hunter:`prospeo_email_lookup`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},k_=T_,A_={pipeId:h_,basePipe:W(h_),label:`Person identity from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:identity:email:waterfall@1`},description:`Find identity of a person from their email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],docPath:G(h_),managedProviders:C_,deprecatedProviders:[],allowedUserConnectionProviders:C_,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:D_,defaultInputRequirement:E_(null),defaultPayload:{pipe_id:h_,connector:null,run_if:null,config:{providers:w_,input_fields:{email:{alias:``}},output_fields:{name:{alias:``,enabled:!0},profile_url:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},j_=`people:match:role:waterfall@1`,M_=h(`company_website_url`),N_=h(`role_finder_match`),P_=[`leadmagic`],F_=[{provider:`leadmagic`}],I_=r.object({pipe_id:r.literal(j_),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:F_,availableProviders:P_}),roles:Pc({sectionKey:`general`,groupPath:`config.general`,label:`Roles`,path:`config.roles`,info:`Company roles to include`,maxItems:3,minItems:1}),input_fields:F(r.object({[M_.name]:w({fieldName:M_.name})})),output_fields:P(r.object({[N_.name]:D({fieldName:N_.name})}))})}),L_=e=>Ul(K(M_,e)),R_={"people-match-role-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},z_=class extends B{pipeId=j_;payload;payloadSchema=I_;billableOperations=R_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return L_(this.payload.config)}getRawOutputFields(){return{[N_.name]:this.catalogOutput(N_,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_role_finder`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},B_=I_,V_={pipeId:j_,basePipe:W(j_),managedProviders:P_,deprecatedProviders:[],allowedUserConnectionProviders:P_,label:`Role finder`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:match:role:waterfall@1`},description:`Find role matches for a given companies like "CEO" or "CFO".`,tags:[U.PEOPLE_PROFILES],docPath:G(j_),billableOperations:R_,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:L_(null),defaultPayload:{pipe_id:j_,run_if:null,connector:null,config:{roles:[],providers:F_,input_fields:{company_website_url:{alias:``}},output_fields:{role_finder_match:{alias:``,enabled:!0}}}}},H_=`people:mobilenumber:professionalprofile:waterfall@1`,U_=h(`professional_profile_url`),W_=h(`mobile_number`),G_=[`leadmagic`,`prospeo`],K_=[{provider:`leadmagic`},{provider:`prospeo`}],q_=r.object({pipe_id:r.literal(H_),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:K_,availableProviders:G_}),input_fields:F(r.object({[U_.name]:w({fieldName:U_.name})})),output_fields:P(r.object({[W_.name]:D({fieldName:W_.name})}))}).optional()}),J_=e=>R(K(U_,e)),Y_={"people-mobilenumber-professionalprofile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-mobilenumber-professionalprofile-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},X_=class extends B{pipeId=H_;payload;payloadSchema=q_;billableOperations=Y_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return J_(this.payload.config)}getRawOutputFields(){return{[W_.name]:this.catalogOutput(W_)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Z_=q_,Q_={pipeId:H_,basePipe:W(H_),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:phone:profile:waterfall@1`},description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:`/resources/pipe-catalog/people:mobilenumber:professionalprofile:waterfall/1`,tags:[U.PHONE,U.WATERFALL],billableOperations:Y_,defaultInputRequirement:J_(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:G_,deprecatedProviders:[],allowedUserConnectionProviders:G_,defaultPayload:{pipe_id:H_,connector:null,run_if:null,config:{providers:K_,input_fields:{professional_profile_url:{alias:``}},output_fields:{mobile_number:{alias:``,enabled:!0}}}}},$_=`people:mobilenumber:workemail:waterfall@1`,ev=h(`work_email`),tv=h(`mobile_number`),nv=[`leadmagic`],rv=[{provider:`leadmagic`}],iv=r.object({pipe_id:r.literal($_),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:nv,defaultProviders:rv}),input_fields:F(r.object({[ev.name]:w({fieldName:ev.name})})),output_fields:P(r.object({[tv.name]:D({fieldName:tv.name})}))}).optional()}),av=e=>R(K(ev,e)),ov={"people-mobilenumber-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},sv=class extends B{pipeId=$_;payload;payloadSchema=iv;billableOperations=ov;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers?.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return av(this.payload.config)}getRawOutputFields(){return{[tv.name]:this.catalogOutput(tv)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},cv=iv,lv={pipeId:$_,basePipe:W($_),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:phone:workemail:waterfall@1`},description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],docPath:`/resources/pipe-catalog/people:mobilenumber:workemail:waterfall/1`,billableOperations:ov,defaultInputRequirement:av(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:nv,managedProviders:nv,deprecatedProviders:[],defaultPayload:{pipe_id:$_,connector:null,run_if:null,config:{providers:rv,input_fields:{work_email:{alias:``}},output_fields:{mobile_number:{alias:``,enabled:!0}}}}},uv=`people:name:split@1`,dv=h(`name`),fv=h(`first_name`),pv=h(`last_name`),mv=r.object({pipe_id:r.literal(uv),connector:vc(),run_if:b(),config:r.object({input_fields:F(r.object({[dv.name]:w({fieldName:dv.name})})),output_fields:P(r.object({[fv.name]:D({fieldName:fv.name}),[pv.name]:D({fieldName:pv.name})}))}).optional()}),hv=e=>R(K(dv,e)),gv={"people-name-split-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},_v=class extends B{pipeId=uv;payload;payloadSchema=mv;billableOperations=gv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-name-split-v1-pipe0`)}getInputRequirement(){return hv(this.payload.config)}getRawOutputFields(){return{[fv.name]:this.catalogOutput(fv),[pv.name]:this.catalogOutput(pv)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},vv=mv,yv={pipeId:uv,basePipe:W(uv),label:`Split name`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:name:split@1`},description:`Split a full name into first and last name.`,tags:[U.NAMES],docPath:G(uv),billableOperations:gv,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:hv(null),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:uv,run_if:null,connector:void 0,config:{input_fields:{name:{alias:``}},output_fields:{first_name:{alias:``,enabled:!0},last_name:{alias:``,enabled:!0}}}}},bv=`people:personalemail:profile:waterfall@1`,xv=h(`profile_url`),Sv=h(`personal_email`),Cv=h(`alternate_personal_emails`),wv=[`clado`,`leadmagic`,`mixrank`],Tv=[{provider:`leadmagic`},{provider:`mixrank`}],Ev=r.object({pipe_id:r.literal(bv),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:wv,defaultProviders:Tv}),input_fields:F(r.object({[xv.name]:w({fieldName:xv.name})})),output_fields:P(r.object({[Sv.name]:D({fieldName:Sv.name}),[Cv.name]:D({fieldName:Cv.name})}))}).optional()}),Dv=e=>R(K(xv,e)),Ov={"people-personalemail-profile-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:2},mode:`always`},"people-personalemail-profile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-personalemail-profile-waterfall-v1-mixrank":{provider:`mixrank`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},kv=class extends B{pipeId=bv;payload;payloadSchema=Ev;billableOperations=Ov;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Dv(this.payload.config)}getRawOutputFields(){return{[Sv.name]:this.catalogOutput(Sv,{isPrimaryOutput:!0}),[Cv.name]:this.catalogOutput(Cv)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_personal_email_finder`,clado:`clado_contact_information`,mixrank:`mixrank-person-match`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Av=Ev,jv={pipeId:bv,basePipe:W(bv),allowedUserConnectionProviders:wv,managedProviders:wv,deprecatedProviders:[`clado`],label:`Personal email from LinkedIn`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:personalemail:profileurl:waterfall@1`},description:`Find the personal email address of a prospect by using a professional profile URL as input.`,tags:[U.EMAIL,U.PERSONAL_EMAIL],docPath:G(bv),billableOperations:Ov,defaultInputRequirement:Dv(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:bv,connector:null,run_if:null,config:{providers:Tv,input_fields:{profile_url:{alias:``}},output_fields:{personal_email:{alias:``,enabled:!0},alternate_personal_emails:{alias:``,enabled:!0}}}}},Mv=`people:phone:profile:waterfall@1`,Nv=h(`profile_url`),Pv=h(`mobile`),Fv=[`leadmagic`,`prospeo`,`amplemarket`,`findymail`,`clado`],Iv=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`findymail`}],Lv=r.object({pipe_id:r.literal(Mv),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:Iv,availableProviders:Fv}),input_fields:F(r.object({[Nv.name]:w({fieldName:Nv.name})})),output_fields:P(r.object({[Pv.name]:D({fieldName:Pv.name})}))}).optional()}),Rv=e=>R(K(Nv,e)),zv={"people-phone-profile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-phone-profile-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`},"people-phone-profile-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`},"people-phone-profile-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:6},mode:`onSuccess`},"people-phone-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4},mode:`onSuccess`}},Bv=class extends B{pipeId=Mv;payload;payloadSchema=Lv;billableOperations=zv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Rv(this.payload.config)}getRawOutputFields(){return{[Pv.name]:this.catalogOutput(Pv,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`,findymail:`findymail_phone_lookup`,clado:`clado_contact_information`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Vv=Lv,Hv={pipeId:Mv,basePipe:W(Mv),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:mobile:profileurl:waterfall@1`},description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:G(Mv),tags:[U.PHONE,U.WATERFALL],billableOperations:zv,defaultInputRequirement:Rv(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:Fv,allowedUserConnectionProviders:Fv,deprecatedProviders:[`clado`],defaultPayload:{pipe_id:Mv,connector:null,run_if:null,config:{providers:Iv,input_fields:{profile_url:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},Uv=`people:phone:workemail:waterfall@1`,Wv=h(`work_email`),Gv=h(`mobile`),Kv=[`leadmagic`,`amplemarket`],qv=[{provider:`leadmagic`},{provider:`amplemarket`}],Jv=r.object({pipe_id:r.literal(Uv),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:Kv,defaultProviders:qv}),input_fields:F(r.object({[Wv.name]:w({fieldName:Wv.name})})),output_fields:P(r.object({[Gv.name]:D({fieldName:Gv.name})}))}).optional()}),Yv=e=>R(K(Wv,e)),Xv={"people-phone-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-phone-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4},mode:`onSuccess`}},Zv=class extends B{pipeId=Uv;payload;payloadSchema=Jv;billableOperations=Xv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Yv(this.payload.config)}getRawOutputFields(){return{[Gv.name]:this.catalogOutput(Gv,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Qv=Jv,$v={pipeId:Uv,basePipe:W(Uv),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:mobile:workemail:waterfall@1`},description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],docPath:G(Uv),billableOperations:Xv,defaultInputRequirement:Yv(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:Kv,managedProviders:Kv,deprecatedProviders:[],defaultPayload:{pipe_id:Uv,connector:null,run_if:null,config:{providers:qv,input_fields:{work_email:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},ey=`people:professionalprofile:waterfall@1`,ty=h(`professional_profile`),ny=h(`professional_profile_url`),ry=[`prospeo`,`icypeas`],iy=[{provider:`prospeo`},{provider:`icypeas`}],ay=r.object({pipe_id:r.literal(ey),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:ry,defaultProviders:iy}),input_fields:F(r.object({[ny.name]:w({fieldName:ny.name})})),output_fields:P(r.object({[ty.name]:D({fieldName:ty.name})}))}).optional()}),oy=e=>R(K(ny,e)),sy={"people-professionalprofile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-professionalprofile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0}},cy=class extends B{pipeId=ey;payload;payloadSchema=ay;billableOperations=sy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return oy(this.payload.config)}getRawOutputFields(){return{[ty.name]:this.catalogOutput(ty)}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},ly=ay,uy={pipeId:ey,basePipe:W(ey),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profile:waterfall@1`},description:`Find a JSON representation of a LinkedIn profile.`,docPath:`/resources/pipe-catalog/people:professionalprofile:waterfall/1`,tags:[U.LINKEDIN,U.WATERFALL],managedProviders:ry,deprecatedProviders:[],allowedUserConnectionProviders:ry,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:sy,defaultInputRequirement:oy(null),defaultPayload:{pipe_id:ey,run_if:null,connector:null,config:{providers:iy,input_fields:{professional_profile_url:{alias:``}},output_fields:{professional_profile:{alias:``,enabled:!0}}}}},dy=`people:professionalprofileurl:email:waterfall@1`,fy=h(`email`),py=h(`work_email`),my=h(`professional_profile_url`),hy=[`leadmagic`],gy=[{provider:`leadmagic`}],_y=r.object({pipe_id:r.literal(dy),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:gy,availableProviders:hy}),input_fields:F(r.object({[fy.name]:w({fieldName:fy.name}),[py.name]:w({fieldName:py.name})})),output_fields:P(r.object({[my.name]:D({fieldName:my.name})}))}).optional()}),vy=e=>Ul(K(fy,e),K(py,e)),yy={"people-professionalprofileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},by=class extends B{pipeId=dy;payload;payloadSchema=_y;billableOperations=yy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return vy(this.payload.config)}getRawOutputFields(){return{[my.name]:this.catalogOutput(my)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},xy=_y,Sy={pipeId:dy,basePipe:W(dy),managedProviders:hy,deprecatedProviders:[],allowedUserConnectionProviders:hy,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profileurl:email:waterfall@1`},description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],docPath:`/resources/pipe-catalog/people:professionalprofileurl:email:waterfall/1`,billableOperations:yy,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:vy(null),defaultPayload:{pipe_id:dy,run_if:null,connector:null,config:{providers:gy,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{professional_profile_url:{alias:``,enabled:!0}}}}},Cy=`people:professionalprofileurl:name@1`,wy=h(`name`),Ty=h(`company_name`),Ey=h(`location_hint`),Dy=h(`professional_profile_url`),Oy=r.object({pipe_id:r.literal(Cy),connector:vc(),run_if:b(),config:r.object({input_fields:F(r.object({[wy.name]:w({fieldName:wy.name}),[Ty.name]:w({fieldName:Ty.name}),[Ey.name]:w({fieldName:Ey.name})})),output_fields:P(r.object({[Dy.name]:D({fieldName:Dy.name})}))}).optional()}),ky=e=>z(R(K(wy,e)),R(K(Ty,e)),Wl(K(Ey,e))),Ay={"people-professionalprofileurl-name-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.6},mode:`always`}},jy=class extends B{pipeId=Cy;payload;payloadSchema=Oy;billableOperations=Ay;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-professionalprofileurl-name-v1-pipe0`)}getInputRequirement(){return ky(this.payload.config)}getRawOutputFields(){return{[Dy.name]:this.catalogOutput(Dy)}}getConnectionsRequirements(){return[{provider:`serper`,rateLimitRatio:1,rateLimitOperation:`serper_search`,allowManagedConnection:!0}]}},My=Oy,Ny={pipeId:Cy,basePipe:W(Cy),label:`LinkedIn URL from name`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profileurl:name@1`},allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],description:`Find the LinkedIn profile URL by using the prospect's name as input.`,docPath:`/resources/pipe-catalog/people:professionalprofileurl:name/1`,tags:[U.LINKEDIN],billableOperations:Ay,defaultInputRequirement:ky(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:Cy,connector:void 0,run_if:null,config:{input_fields:{company_name:{alias:``},location_hint:{alias:``},name:{alias:``}},output_fields:{professional_profile_url:{alias:``,enabled:!0}}}}},Py=`people:profile:waterfall@1`,Fy=h(`profile`),Iy=h(`profile_url`),Ly=[`prospeo`,`icypeas`,`amplemarket`,`clado`],Ry=[{provider:`amplemarket`},{provider:`prospeo`},{provider:`icypeas`}],zy=r.object({pipe_id:r.literal(Py),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:Ly,defaultProviders:Ry}),input_fields:F(r.object({[Iy.name]:w({fieldName:Iy.name})})),output_fields:P(r.object({[Fy.name]:D({fieldName:Fy.name})}))}).optional()}),By=e=>R(K(Iy,e)),Vy={"people-profile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-clado":{provider:`clado`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0}},Hy=class extends B{pipeId=Py;payload;payloadSchema=zy;billableOperations=Vy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return By(this.payload.config)}getRawOutputFields(){return{[Fy.name]:this.catalogOutput(Fy,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`,clado:`clado_social_profile_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Uy=zy,Wy={pipeId:Py,basePipe:W(Py),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profile:waterfall@1`},description:`Find a JSON representation of a LinkedIn profile.`,docPath:G(Py),tags:[U.LINKEDIN,U.WATERFALL],managedProviders:Ly,deprecatedProviders:[`clado`],allowedUserConnectionProviders:Ly,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Vy,defaultInputRequirement:By(null),defaultPayload:{pipe_id:Py,run_if:null,connector:null,config:{providers:Ry,input_fields:{profile_url:{alias:``}},output_fields:{profile:{alias:``,enabled:!0}}}}},Gy=h(`work_email`),Ky=h(`crustdata_person_match`),qy=h(`crustdata_profile_match_score`),Jy=`people:profile:workemail:crustdata@1`,Yy=r.object({pipe_id:r.literal(Jy),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[Gy.name]:w({fieldName:Gy.name})})),output_fields:P(r.object({[Ky.name]:D({fieldName:Ky.name}),[qy.name]:D({fieldName:qy.name})}))}).optional()}),Xy=e=>R(K(Gy,e)),Zy={"people-profile-workemail-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`,provider:`crustdata`}},Qy=class extends B{pipeId=Jy;payload;payloadSchema=Yy;billableOperations=Zy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`people-profile-workemail-crustdata-v1-crustdata`)}getInputRequirement(){return Xy(this.payload.config)}getRawOutputFields(){return{[Ky.name]:this.catalogOutput(Ky),[qy.name]:this.catalogOutput(qy)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_person_enrich`,allowManagedConnection:!0}]}},$y=Yy,eb={pipeId:Jy,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Jy),label:`Profile from work email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profile:workemail:crustdata@1`},description:`Find person profile by their work email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],docPath:G(Jy),billableOperations:Zy,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:Xy(null),defaultPayload:{pipe_id:Jy,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{crustdata_person_match:{alias:``,enabled:!0},crustdata_profile_match_score:{alias:``,enabled:!0}}}}},tb=`people:profileurl:email:waterfall@1`,nb=h(`email`),rb=h(`work_email`),ib=h(`profile_url`),ab=[`leadmagic`],ob=[{provider:`leadmagic`}],sb=r.object({pipe_id:r.literal(tb),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:ob,availableProviders:ab}),input_fields:F(r.object({[nb.name]:w({fieldName:nb.name}),[rb.name]:w({fieldName:rb.name})})),output_fields:P(r.object({[ib.name]:D({fieldName:ib.name})}))}).optional()}),cb=e=>Ul(K(nb,e),K(rb,e)),lb={"people-profileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},ub=class extends B{pipeId=tb;payload;payloadSchema=sb;billableOperations=lb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return cb(this.payload.config)}getRawOutputFields(){return{[ib.name]:this.catalogOutput(ib,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},db=sb,fb={pipeId:tb,basePipe:W(tb),managedProviders:ab,deprecatedProviders:[],allowedUserConnectionProviders:ab,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profileurl:email:waterfall@1`},description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],docPath:G(tb),billableOperations:lb,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:cb(null),defaultPayload:{pipe_id:tb,run_if:null,connector:null,config:{providers:ob,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},pb=`people:validate:email:zerobounce@1`,mb=h(`work_email`),hb=h(`ip_address`),gb=h(`is_email_valid`),_b=r.object({pipe_id:r.literal(pb),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[mb.name]:w({fieldName:mb.name}),[hb.name]:w({fieldName:hb.name})})),output_fields:P(r.object({[gb.name]:D({fieldName:gb.name})}))}).optional()}),vb=e=>z(R(K(mb,e)),Wl(K(hb,e))),yb={"people-validate-email-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.5},mode:`always`}},bb=class extends B{pipeId=pb;payload;payloadSchema=_b;billableOperations=yb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-validate-email-zerobounce-v1-zerobounce`)}getInputRequirement(){return vb(this.payload.config)}getRawOutputFields(){return{[gb.name]:this.catalogOutput(gb)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},xb=_b,Sb={pipeId:pb,basePipe:W(pb),label:`Validate email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:email:validate:zerobounce@1`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:`/resources/pipe-catalog/people:validate:email:zerobounce/1`,billableOperations:yb,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:vb(null),defaultPayload:{pipe_id:pb,connector:null,run_if:null,config:{input_fields:{ip_address:{alias:``},work_email:{alias:``}},output_fields:{is_email_valid:{alias:``,enabled:!0}}}}},Cb=`people:workemail:profileurl:waterfall@1`,wb=h(`profile_url`),Tb=h(`work_email`),Eb=h(`email_validation_status`),Db=[`hunter`,`amplemarket`,`findymail`,`leadmagic`,`crustdata`,`clado`],Ob=[`clado`],kb=[{provider:`hunter`},{provider:`amplemarket`},{provider:`leadmagic`},{provider:`findymail`},{provider:`crustdata`}],Ab=r.object({pipe_id:r.literal(Cb),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:Db,defaultProviders:kb,sectionKey:`general`}),allow_catch_all_emails:E({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:``,label:`Allow catch-all emails`}),allow_risky_emails:E({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Higher chance of bouncing or being marked as spam.`,label:`Allow risky emails`}),input_fields:F(r.object({[wb.name]:w({fieldName:wb.name})})),output_fields:P(r.object({[Tb.name]:D({fieldName:Tb.name}),[Eb.name]:D({fieldName:Eb.name})}))}).optional()}),jb=e=>R(K(wb,e)),Mb={"people-workemail-profileurl-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:3},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5},mode:`onSuccess`}},Nb=class extends B{pipeId=Cb;payload;payloadSchema=Ab;billableOperations=Mb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return jb(this.payload.config)}getRawOutputFields(){return{[Tb.name]:this.catalogOutput(Tb,{isPrimaryOutput:!0}),[Eb.name]:this.catalogOutput(Eb,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_b2b_lookup`,hunter:`prospeo_email_lookup`,amplemarket:`amplemarket-person-reveal`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`,clado:`clado_contact_information`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Pb=Ab,Fb={pipeId:Cb,basePipe:W(Cb),label:`Work email from LinkedIn URL`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:workemail:profileurl:waterfall@1`},description:`Find work email addresses from B2B profile.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],docPath:G(Cb),managedProviders:Db,allowedUserConnectionProviders:Db,deprecatedProviders:Ob,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Mb,defaultInputRequirement:jb(null),defaultPayload:{pipe_id:Cb,connector:null,run_if:null,config:{providers:kb,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{profile_url:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!0}}}}},Ib=`people:workemail:waterfall@1`,Lb=h(`name`),Rb=h(`company_website_url`),zb=h(`company_name`),Bb=h(`work_email`),Vb=h(`email_validation_status`),Hb=[`leadmagic`,`prospeo`,`amplemarket`,`hunter`,`icypeas`,`findymail`],Ub=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`hunter`},{provider:`icypeas`},{provider:`findymail`}],Wb=r.object({pipe_id:r.literal(Ib),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:Hb,defaultProviders:Ub,sectionKey:`general`}),allow_catch_all_emails:E({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,description:`Catch-alls appear valid but remain undeliverable-risk.`,label:`Allow catch-all emails`}),allow_risky_emails:E({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,description:`DNS configuration and spam reputation may flag emails as high-risk.`,label:`Allow risky emails`}),input_fields:F(r.object({[Lb.name]:w({fieldName:Lb.name}),[Rb.name]:w({fieldName:Rb.name}),[zb.name]:w({fieldName:zb.name})})),output_fields:P(r.object({[Bb.name]:D({fieldName:Bb.name}),[Vb.name]:D({fieldName:Vb.name})}))}).optional()}),Gb=e=>z(R(K(Lb,e)),Ul(K(Rb,e),K(zb,e))),Kb={"people-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:.5},mode:`onSuccess`},"people-workemail-waterfall-v1-icypeas":{provider:`icypeas`,allowManagedConnection:!0,credits:{default:.5},mode:`onSuccess`},"people-workemail-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`},"people-workemail-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5},mode:`onSuccess`}},qb=class extends B{pipeId=Ib;payload;payloadSchema=Wb;billableOperations=Kb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Gb(this.payload.config)}getRawOutputFields(){return{[Bb.name]:this.catalogOutput(Bb,{isPrimaryOutput:!0}),[Vb.name]:this.catalogOutput(Vb,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_email_lookup`,icypeas:`icypeas_email_lookup`,findymail:`findymail_email_lookup`,hunter:`hunter_email_finder`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Jb=Wb,Yb={pipeId:Ib,basePipe:W(Ib),label:`Work email from name`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:workemail:waterfall@1`},description:`Find work email addresses in a waterfall motion.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],docPath:G(Ib),managedProviders:Hb,deprecatedProviders:[],allowedUserConnectionProviders:Hb,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Kb,defaultInputRequirement:Gb(null),defaultPayload:{pipe_id:Ib,connector:null,run_if:null,config:{providers:Ub,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{company_name:{alias:``},company_website_url:{alias:``},name:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},Xb=`email:iswork@1`,Zb=h(`is_work_email`),Qb=h(`email`),$b=r.object({pipe_id:r.literal(Xb),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Qb.name]:w({fieldName:Qb.name})})),output_fields:P(r.object({[Zb.name]:D({fieldName:Zb.name})}))}).optional()}),ex=e=>R(K(Qb,e)),tx={"email-iswork-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},nx=class extends B{pipeId=Xb;payload;payloadSchema=$b;billableOperations=tx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`email-iswork-v1-pipe0`)}getInputRequirement(){return ex(this.payload.config)}getRawOutputFields(){return{[Zb.name]:this.catalogOutput(Zb)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},rx=$b,ix={pipeId:Xb,label:`Work email checker`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Check if a given email address is personal or professional.`,tags:[U.EMAIL,U.WORK_EMAIL],keywords:[`personal`,`professional`,`business`,`corporate`,`classify`,`detect`],docPath:G(Xb),billableOperations:tx,basePipe:W(Xb),allowedUserConnectionProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:ex(null),defaultPayload:{pipe_id:Xb,run_if:null,connector:null,config:{input_fields:{email:{alias:``}},output_fields:{is_work_email:{alias:``,enabled:!0}}}}},ax=`email:send:gmail@1`,ox=h(`gmail_email_success`),sx=r.object({pipe_id:r.literal(ax),connector:x(),run_if:b(),config:r.object({to:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.to`,label:`To`,info:"Recipient address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`{{ email }}`,inputType:`email`,minLength:1,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),reply_to:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.reply_to`,label:`Reply-To`,info:"Optional address recipients can reply to. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`support@example.com`,inputType:`email`,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}).nullable(),subject:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.subject`,label:`Subject`,info:"Email subject line. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }}`,inputType:`text`,minLength:1,maxLength:998,expectedTagType:`string`,expectedTagFormat:`text`}),body:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Email body in markdown. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }},
67
+ How do you...`]}},crustdata_post_list:{label:`Crustdata Post list`,type:`json`,format:`json_list_string`,description:`Rich JSON post list`,jsonMeta:{zodSchema:gn,exampleValue:_n}},role_finder_match:{label:`Role finder match`,type:`json`,format:`json_object`,description:`Result of a role finder operation`,jsonMeta:{zodSchema:ei,exampleValue:ti}},post_text:{label:`Post text`,description:`Raw text content of a social media post`,format:`text`,type:`string`,jsonMeta:null},post_id:{label:`Post ID`,description:`Stable identifier of the post (its LinkedIn share URN)`,format:`text`,type:`string`,jsonMeta:null},amplemarket_person_match:{label:`Person match`,type:`json`,format:`json_object`,description:`Person match object as returned by Amplemarket`,jsonMeta:{zodSchema:Rt,exampleValue:zt}},amplemarket_company_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Company match object as returned by Amplemarket`,jsonMeta:{zodSchema:It,exampleValue:Lt}},companyenrich_matches:{label:`CompanyEnrich matches`,type:`json`,format:`json_object`,description:`CompanyEnrich response list.`,jsonMeta:{zodSchema:r.array(on),exampleValue:[sn]}},logo_url:{label:`Logo URL`,type:`string`,format:`text`,description:`Company or organization logo`,jsonMeta:null},logodev_describe_match:{label:`Company match`,type:`json`,format:`json_object`,description:`Get company logos & brand data`,jsonMeta:{exampleValue:cr,zodSchema:sr}},mobile_number:{label:`Mobile`,type:`string`,description:`Mobile telephone number of a person.`,jsonMeta:null,format:`phone`},company_social_url:{label:`Company Social URL`,type:`string`,description:`Social Media URL for a given company (e.g. LinkedIn profile URL).`,jsonMeta:null,format:`profile_url`},professional_profile:{label:`Professional profile (LinkedIn)`,type:`json`,description:`A standardized format for returning LinkedIn profile data.`,jsonMeta:{zodSchema:Qr,exampleValue:$r},format:`json_object`},hubspot_contact_found:{label:`HubSpot contact found`,type:`boolean`,description:`Whether a HubSpot contact matched the email (a clean miss is not an error).`,jsonMeta:null,format:null},hubspot_contact_match:{order:90,label:`HubSpot contact`,type:`json`,format:`json_object`,description:`One HubSpot contact record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties. Match-pipe output also carries matched_by.`,jsonMeta:{zodSchema:kn,exampleValue:An}},hubspot_companies_found_count:{label:`HubSpot companies found`,type:`number`,format:`int`,description:`Number of HubSpot companies matching the domain. Domain is HubSpot's dedupe key but not unique — multiple matches are normal.`,jsonMeta:null},hubspot_company_match:{order:90,label:`HubSpot company`,type:`json`,format:`json_object`,description:`One HubSpot company record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties.`,jsonMeta:{zodSchema:jn,exampleValue:Mn}},hubspot_company_matches:{order:90,label:`HubSpot company matches`,type:`json`,format:`json_list`,description:`All HubSpot companies matching the domain, each with id, url, matched_by, and the selected properties.`,jsonMeta:{zodSchema:Ln,exampleValue:Rn}},hubspot_deals_found_count:{label:`HubSpot deals found`,type:`number`,format:`int`,description:`Number of HubSpot deals associated with the matched company or contact.`,jsonMeta:null},hubspot_deal_match:{order:90,label:`HubSpot deal`,type:`json`,format:`json_object`,description:`One HubSpot deal record: id, url, and the standard property set as flat keys; picked custom properties nest under custom_properties.`,jsonMeta:{zodSchema:Nn,exampleValue:Pn}},hubspot_deal_matches:{order:90,label:`HubSpot deal matches`,type:`json`,format:`json_list`,description:`Matched HubSpot deals (sorted by close date, newest first), each with id, url, and the selected properties.`,jsonMeta:{zodSchema:zn,exampleValue:Bn}},hubspot_object_id:{order:10,label:`HubSpot object ID`,type:`string`,description:`Record ID (hs_object_id) of the HubSpot record — the identifier to write back to it (object:update, object:associations).`,jsonMeta:null,format:`text`},hubspot_owner_id:{order:12,label:`HubSpot owner ID`,type:`string`,description:"ID of the HubSpot owner (user) — the value stored in `hubspot_owner_id` properties on contacts, companies, and deals.",jsonMeta:null,format:`text`},hubspot_owned_count:{order:50,label:`Owned records`,type:`number`,format:`int`,description:`Number of records of the selected object type owned by this HubSpot owner (only when ownership counts are enabled).`,jsonMeta:null},hubspot_owner_match:{order:90,label:`HubSpot owner`,type:`json`,format:`json_object`,description:`The HubSpot owner record: id, email, name, archived flag, and team memberships.`,jsonMeta:{zodSchema:Fn,exampleValue:In}},hubspot_update_result:{label:`HubSpot update result`,type:`json`,format:`json_object`,description:`Result of the HubSpot update: id, url, object type, and updated property names.`,jsonMeta:{zodSchema:Vn,exampleValue:Hn}},hubspot_associated_count:{label:`HubSpot associations found`,type:`number`,format:`int`,description:`Number of associated HubSpot objects found for the source record.`,jsonMeta:null},hubspot_associated_objects:{order:90,label:`HubSpot associated objects`,type:`json`,format:`json_list`,description:`Associated HubSpot objects, each with id, url, association labels, and the selected properties under properties.`,jsonMeta:{zodSchema:Un,exampleValue:Wn}},hubspot_activity_result:{label:`HubSpot activity result`,type:`json`,format:`json_object`,description:`Result of logging a HubSpot engagement: id, url, the engagement type, and the record it was associated to.`,jsonMeta:{zodSchema:Gn,exampleValue:Kn}},salesforce_record_id:{order:10,label:`Salesforce record ID`,type:`string`,description:`18-character ID of the Salesforce record — the identifier to write back to it (record:update, record:lookup). Every Salesforce surface emits this same column, so it chains regardless of source.`,jsonMeta:null,format:`text`},salesforce_owned_count:{order:50,label:`Owned records`,type:`number`,format:`int`,description:`Number of records of the selected object type owned by this Salesforce user (only when ownership counts are enabled).`,jsonMeta:null},salesforce_person_found:{label:`Salesforce person found`,type:`boolean`,description:`Whether the email matched a Salesforce Contact, Lead, or Person Account (a clean miss is not an error).`,jsonMeta:null,format:null},salesforce_accounts_found_count:{label:`Salesforce accounts found`,type:`number`,format:`int`,description:`Number of Salesforce accounts matching the domain. Accounts have no unique domain key — multiple matches are normal.`,jsonMeta:null},salesforce_opportunities_found_count:{label:`Salesforce opportunities found`,type:`number`,format:`int`,description:`Number of Salesforce opportunities reached via the matched account or contact role.`,jsonMeta:null},salesforce_record_found:{label:`Salesforce record found`,type:`boolean`,description:`Whether the record ID resolved to a live Salesforce record (deleted/missing is a clean miss, not an error).`,jsonMeta:null,format:null},salesforce_record_created:{label:`Salesforce record created`,type:`boolean`,description:`Whether the assert created a new record (true) or updated an existing one matched by the external ID (false).`,jsonMeta:null,format:null},salesforce_contact_match:{order:90,label:`Salesforce contact`,type:`json`,format:`json_object`,description:`One Salesforce contact record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:pi,exampleValue:mi}},salesforce_lead_match:{order:90,label:`Salesforce lead`,type:`json`,format:`json_object`,description:`One Salesforce lead record: id, url, and the standard field set as flat typed keys (including IsConverted/ConvertedContactId); picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:hi,exampleValue:gi}},salesforce_account_match:{order:90,label:`Salesforce account`,type:`json`,format:`json_object`,description:`One Salesforce account record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:_i,exampleValue:vi}},salesforce_account_matches:{order:90,label:`Salesforce account matches`,type:`json`,format:`json_list`,description:`All Salesforce accounts matching the domain (oldest first), each with id, url, matched_variant, and the selected fields.`,jsonMeta:{zodSchema:Ei,exampleValue:Di}},salesforce_opportunity_match:{order:90,label:`Salesforce opportunity`,type:`json`,format:`json_object`,description:`One Salesforce opportunity record: id, url, and the standard field set as flat typed keys (IsClosed/IsWon carry the org-invariant status); picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:yi,exampleValue:bi}},salesforce_opportunity_matches:{order:90,label:`Salesforce opportunity matches`,type:`json`,format:`json_list`,description:`Matched Salesforce opportunities (newest close date first), each with id, url, contact_roles edge metadata, and the selected fields.`,jsonMeta:{zodSchema:Oi,exampleValue:ki}},salesforce_user_match:{order:90,label:`Salesforce user`,type:`json`,format:`json_object`,description:`One Salesforce user record: id, url, and the standard field set as flat typed keys; picked custom fields nest under custom_properties.`,jsonMeta:{zodSchema:xi,exampleValue:Si}},salesforce_person_match:{order:90,label:`Salesforce person`,type:`json`,format:`json_object`,description:`The matched Salesforce person across Contact, Lead, and Person Account shapes: object_type says which; keys foreign to the matched shape are null. Carries matched_by and is_converted_redirect.`,jsonMeta:{zodSchema:wi,exampleValue:Ti}},salesforce_record_match:{order:90,label:`Salesforce record`,type:`json`,format:`json_object`,description:`A generic Salesforce record (any object): id, url, object_type, and ALL fields visible to the connected user nested under record.`,jsonMeta:{zodSchema:Ai,exampleValue:ji}},salesforce_update_result:{label:`Salesforce update result`,type:`json`,format:`json_object`,description:`Result of the Salesforce update: id, url, object type, updated field names, and the fresh post-write record (formulas/triggers may rewrite values after save).`,jsonMeta:{zodSchema:Mi,exampleValue:Ni}},salesforce_activities_found_count:{label:`Salesforce activities found`,type:`number`,format:`int`,description:`Total tasks and events on the record's timeline matching the filters — the true total before the display limit.`,jsonMeta:null},salesforce_last_activity_date:{label:`Salesforce last activity date`,type:`string`,format:`date`,description:`Most recent activity date across the record's tasks and events (null when the timeline is empty) — chain a run_if on it to gate stale records.`,jsonMeta:null},salesforce_activities:{order:90,label:`Salesforce activities`,type:`json`,format:`json_list`,description:`The record's activity timeline (tasks and events, newest first), each with id, url, object_type, subject, status, activity_date, subtype, who_id/what_id anchors, and picked custom fields under custom_properties.`,jsonMeta:{zodSchema:Fi,exampleValue:Ii}},salesforce_activity_result:{label:`Salesforce activity result`,type:`json`,format:`json_object`,description:`Result of logging a Salesforce activity: id, url, subject, subtype, the who_id/what_id anchors, and created (false only when an idempotency key matched an existing record).`,jsonMeta:{zodSchema:Li,exampleValue:Ri}},professional_profile_url:{label:`LinkedIn Profile URL`,type:`string`,format:`profile_url`,description:`A person's LinkedIn profile URL.`,jsonMeta:null}},oa={is_claim_successful:{},bucket_counter:{},found_in_bucket:{},company_description:{},cleaned_company_name:{},company_industry:{},icypeas_person_match:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.firstname} ${t.lastname} profile`}}}},icypeas_company_match:{getStaticWidgets(e){return e?{display_value:{label:`${e.name} profile`}}:{}}},person_profile_match:{},company_region:{getStaticWidgets:e=>{let t={},n=na(e);return n&&(t.location_indicator={emoji:n}),t}},location_hint:{},estimated_revenue:{},founded_year:{},technology_list:{},spending_trend:{getStaticWidgets(e){let t=e;return{display_value:{label:`${t>3?`🔼🔼🔼`:t>1?`🔼🔼`:t>0?`🔼`:t<-3?`🔽🔽🔽`:t<-1?`🔽🔽`:t<0?`🔽`:``} ${Math.round(t*100)}%`}}}},technology_match_builtwith:{getStaticWidgets(e){return{display_value:{label:`Technology profile`}}}},number_of_social_followers:{},email:{},personal_email:{},alternate_personal_emails:{},company_news_summary:{},work_email:{},headcount:{},company_website_url:{},company_domain:{getStaticWidgets(e){return typeof e==`string`?{entity_logo:{entity:e,image_url:Dt(e)}}:{}}},company_name:{},first_name:{},addressee_name:{},address_line_1:{},address_line_2:{},job_title:{getStaticWidgets(e){return typeof e==`string`?{emoji:{value:qr(e)}}:{}}},job_description:{},profile_headline:{},address_city:{},address_country:{},address_state:{},zip_code:{},last_name:{},is_work_email:{},name:{getStaticWidgets(e){return typeof e==`string`?{avatar:{image_url:``,name:e}}:{}}},ip_address:{},skills:{},avatar_url:{},string_input:{},domain:{},url_input:{},slugified:{},http_response_status:{},http_response_body:{},http_response_headers:{},luma_id:{},registered_at:{},luma_event_guest_match:{getStaticWidgets(){return{display_value:{label:`Guest`}}}},estimated_salary:{},scrape_list_response:{},clado_person_match:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} profile`}}:{}}},clado_person_match_v2:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} profile`}}:{}}},company_social_url:{getStaticWidgets(e){let t=ia(e);return{display_value:t?{label:t}:void 0}}},crustdata_profile_match_score:{},is_email_valid:{},amplemarket_person_match:{getStaticWidgets(){return{display_value:{label:`Person match`}}}},amplemarket_company_match:{getStaticWidgets(){return{display_value:{label:`Company match`}}}},profile_url:{getStaticWidgets(e){let t=ia(e);return{display_value:t?{label:t}:void 0,icon:{key:`linkedin`}}}},company_profile_url:{getStaticWidgets(e){let t=ia(e);return{display_value:t?{label:t}:void 0,icon:{key:`linkedin`}}}},developer_profile_url:{},alternative_developer_profile_urls:{},profile_posts:{getStaticWidgets(){return{display_value:{label:`LinkedIn posts`}}}},profile:{getStaticWidgets(e){return e?{display_value:{label:`${e.name||`Person`} LinkedIn profile`}}:{}}},clado_person_profile:{getStaticWidgets(e){return e?{display_value:{label:`${e.profile?.name||`Person`} match`}}:{}}},email_subject:{},message:{},slack_message_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}},resend_email_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}},email_body:{},mobile:{},landline:{},phone:{},funding_history:{},funding_total_usd:{},deal_name:{},deal_amount:{},leadmagic_competitor_list:{getStaticWidgets(e){return e?{display_value:{label:e.map(e=>e.company_name).slice(0,4).join(`, `)}}:{}}},leadmagic_acquisition_history:{getStaticWidgets(e){return e?{display_value:{label:e.map(e=>e.company_name).slice(0,4).join(`, `)}}:{}}},leadmagic_company_news_list:{getStaticWidgets(e){return e?{display_value:{label:`${e.length} news sources`}}:{}}},merge_result:{},website_markdown:{getStaticWidgets(e){return e?{display_value:{label:`📝 Markdown result`}}:{}}},urls:{},website_html:{},website_url:{},website_links:{},mapped_links:{},firecrawl_extract_result:{getStaticWidgets(){return{display_value:{label:`Extract result`}}}},parallel_extract_result:{getStaticWidgets(){return{display_value:{label:`Extract result`}}}},exa_match_evaluation:{getStaticWidgets(){return{display_value:{label:`Exa match`}}}},email_validation_status:{},million_validation_match:{getStaticWidgets(){return{display_value:{label:`Validation result`}}}},post_list_string:{getStaticWidgets(e){return{entity_logo:{entity:`LinkedIn`,image_url:Et.linkedin}}}},crustdata_post_list:{getStaticWidgets(e){return{entity_logo:{entity:`LinkedIn`,image_url:Et.linkedin}}}},crustdata_company_match:{},crustdata_company_identity_matches:{},crustdata_person_match:{},parallel_person_entity_match:{},parallel_company_entity_match:{},resend_contact_id:{},lemlist_lead_id:{},hubspot_contact_found:{},hubspot_contact_match:{},hubspot_companies_found_count:{},hubspot_company_match:{},hubspot_company_matches:{},hubspot_deals_found_count:{},hubspot_deal_match:{},hubspot_object_id:{getStaticWidgets(){return{entity_logo:{entity:`Hubspot`,image_url:Ft(`hubspot`).logoUrl}}}},hubspot_owner_id:{getStaticWidgets(){return{entity_logo:{entity:`Hubspot`,image_url:Ft(`hubspot`).logoUrl}}}},hubspot_owned_count:{},hubspot_owner_match:{},hubspot_deal_matches:{},hubspot_update_result:{},hubspot_associated_count:{},hubspot_associated_objects:{},hubspot_activity_result:{},salesforce_record_id:{getStaticWidgets(){return{entity_logo:{entity:`Salesforce`,image_url:Ft(`salesforce`).logoUrl}}}},salesforce_owned_count:{},salesforce_person_found:{},salesforce_accounts_found_count:{},salesforce_opportunities_found_count:{},salesforce_record_found:{},salesforce_record_created:{},salesforce_contact_match:{},salesforce_lead_match:{},salesforce_account_match:{},salesforce_account_matches:{},salesforce_opportunity_match:{},salesforce_opportunity_matches:{},salesforce_user_match:{},salesforce_person_match:{},salesforce_record_match:{},salesforce_update_result:{},salesforce_activities_found_count:{},salesforce_last_activity_date:{},salesforce_activities:{},salesforce_activity_result:{},lemlist_enrollment_result:{getStaticWidgets(e){return e?{display_value:{label:`Enrolled`}}:{}}},amplemarket_sequence_id:{},sheet_record_id:{},sheet_record_ids:{},sheet_rows_found_count:{},sheet_found_rows:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.length} row${t.length===1?``:`s`}`}}}},sheet_found_row_ids:{},db_rows_found_count:{},db_found_rows:{getStaticWidgets(e){if(!e)return{};let t=e;return{display_value:{label:`${t.length} row${t.length===1?``:`s`}`}}}},companyenrich_match:{},companyenrich_matches:{},input_objects:{},role_finder_match:{},sheet:{},logodev_describe_match:{getStaticWidgets(){return{display_value:{label:`Match`}}}},logo_url:{getStaticWidgets(){return{display_value:{label:`Logo URL`}}}},post_match:{},post_text:{},post_id:{},mobile_number:{},created_sheet:{},professional_profile:{},professional_profile_url:{},crustdata_companyenrich_match:{},template_output:{},zerobounce_validation_match:{},zerobounce_validation_status:{getStaticWidgets(e){return{display_value:{label:e===`valid`?`✅ Valid`:e===`invalid`?`❌ Invalid`:e===`catch-all`?`⚾️ Catch All`:e===`abuse`?`⚠️ Abuse`:e===`do_not_mail`?`❌❌ Do not mail`:e===`spamtrap`?`❌❌❌ Spam Trap`:e}}}},gmail_email_success:{getStaticWidgets(e){return{display_value:{label:e?`✅ Sent`:`❌ Not sent`}}}}};function h(e){return{...aa[e],name:e}}function sa(e,t){if(ua(e,t))return oa[e]}function ca(e){return e in aa}function la(e){return ca(e)?aa[e].order??null:null}function ua(e,t){return e in aa?aa[e].format===t:!1}function da(e,t,n){if(!t.added_by||t.added_by.ref===`input`||t.added_by.pipe_index==null)throw Error(`Tried to find output field info for field not generated by pipe: ${e}, added_by: ${t.added_by}`);let r=n.orderedPipeInstances[t.added_by.pipe_index];if(!r)throw Error(`Unable to find pipe instance at index ${t.added_by.pipe_index} for resolved field ${e}`);let i=Object.entries(r.getOutputFields()).find(([t,n])=>n.resolvedName===e);if(!i)throw Error(`Resolved pipe output field '${e}' not found for pipe ${t.added_by.ref}`);let[a,o]=i;return{fieldName:a,...o}}const fa=r.enum(`company_description.cleaned_company_name.company_industry.company_region.location_hint.estimated_revenue.founded_year.technology_list.spending_trend.technology_match_builtwith.number_of_social_followers.email.personal_email.alternate_personal_emails.company_news_summary.work_email.headcount.company_website_url.company_domain.company_name.first_name.addressee_name.address_line_1.address_line_2.job_title.job_description.profile_headline.address_city.address_country.address_state.zip_code.last_name.is_work_email.companyenrich_match.companyenrich_matches.name.ip_address.skills.avatar_url.estimated_salary.is_email_valid.profile_url.developer_profile_url.alternative_developer_profile_urls.company_profile_url.profile_posts.clado_person_match.clado_person_match_v2.icypeas_person_match.icypeas_company_match.clado_person_profile.resend_email_success.email_body.email_subject.profile.mobile.landline.phone.message.slack_message_success.funding_history.funding_total_usd.deal_name.deal_amount.template_output.gmail_email_success.zerobounce_validation_status.zerobounce_validation_match.leadmagic_competitor_list.leadmagic_acquisition_history.leadmagic_company_news_list.merge_result.mapped_links.website_markdown.website_html.website_url.urls.website_links.firecrawl_extract_result.parallel_extract_result.exa_match_evaluation.email_validation_status.million_validation_match.scrape_list_response.resend_contact_id.sheet_record_id.sheet_record_ids.sheet_rows_found_count.sheet_found_rows.sheet_found_row_ids.db_rows_found_count.db_found_rows.input_objects.role_finder_match.logodev_describe_match.logo_url.crustdata_company_match.crustdata_companyenrich_match.crustdata_company_identity_matches.crustdata_person_match.person_profile_match.parallel_person_entity_match.parallel_company_entity_match.post_list_string.crustdata_post_list.crustdata_profile_match_score.amplemarket_person_match.amplemarket_company_match.created_sheet.sheet.string_input.domain.url_input.slugified.http_response_status.http_response_body.http_response_headers.luma_id.registered_at.luma_event_guest_match.post_match.post_text.post_id.lemlist_lead_id.lemlist_enrollment_result.amplemarket_sequence_id.is_claim_successful.bucket_counter.found_in_bucket.hubspot_contact_found.hubspot_contact_match.hubspot_companies_found_count.hubspot_company_match.hubspot_company_matches.hubspot_deals_found_count.hubspot_deal_match.hubspot_deal_matches.hubspot_owner_id.hubspot_owned_count.hubspot_owner_match.hubspot_object_id.hubspot_update_result.hubspot_associated_count.hubspot_associated_objects.hubspot_activity_result.salesforce_record_id.salesforce_owned_count.salesforce_person_found.salesforce_accounts_found_count.salesforce_opportunities_found_count.salesforce_record_found.salesforce_record_created.salesforce_contact_match.salesforce_lead_match.salesforce_account_match.salesforce_account_matches.salesforce_opportunity_match.salesforce_opportunity_matches.salesforce_user_match.salesforce_person_match.salesforce_record_match.salesforce_update_result.salesforce_activities.salesforce_activities_found_count.salesforce_last_activity_date.salesforce_activity_result.professional_profile_url.professional_profile.company_social_url.mobile_number`.split(`.`)),pa=r.enum(`pipe0.findymail.crustdata.hunter.zerobounce.millionverifier.googlemaps.gemini.anthropic.leadmagic.mixrank.builtwith.perplexity.serper.icypeas.prospeo.clado.resend.slack.gmail.firecrawl.exa.openai.companyenrich.logodev.amplemarket.parallel.luma.postgres.databricks.lemlist.hubspot.salesforce`.split(`.`)),ma=r.enum([`production`,`sandbox`]),ha=`prompt:run@1.agent:run@1.company:newssummary:website@1.company:newssummary:domain@1.company:techstack:builtwith@1.company:techstack:builtwith@2.company:websiteurl:email@1.company:domain:workemail@1.company:funding:leadmagic@1.company:funding:leadmagic@2.company:funding:waterfall@1.people:workemail:waterfall@1.person:workemail:waterfall@1.people:email:iswork@1.email:iswork@1.people:name:split@1.person:name:split@1.person:name:join@1.people:validate:email:zerobounce@1.people:email:validate:zerobounce@2.email:validate:zerobounce@1.people:mobilenumber:workemail:waterfall@1.company:overview@1.company:overview@2.company:overview@3.json:extract:multi@1.email:write@1.message:write@1.email:send:resend@1.email:send:gmail@1.message:send:slack@1.template:fill@1.contact:create:resend@1.lead:enroll:lemlist@1.contact:match:hubspot@1.company:match:hubspot@1.deal:match:hubspot@1.object:update:hubspot@1.object:associations:hubspot@1.activity:log:hubspot@1.person:match:salesforce@1.account:match:salesforce@1.opportunity:match:salesforce@1.record:lookup:salesforce@1.record:update:salesforce@1.record:assert:salesforce@1.activities:find:salesforce@1.activity:log:salesforce@1.lead:enroll:amplemarket@1.people:match:role:waterfall@1.person:match:role:waterfall@1.person:identity:amplemarket@1.company:identity@2.company:identity@3.company:identity:crustdata@1.person:match:amplemarket@1.people:phone:profile:waterfall@1.person:mobile:profileurl:waterfall@1.people:personalemail:profile:waterfall@1.person:personalemail:profileurl:waterfall@1.people:profile:waterfall@1.person:profile:waterfall@1.people:profileurl:email:waterfall@1.person:profileurl:email:waterfall@1.person:profileurl:name@1.people:email:validate:zerobounce@1.person:email:validate:millionverifier@1.people:phone:workemail:waterfall@1.person:mobile:workemail:waterfall@1.fields:merge@1.field:slugify@1.field:domainify@1.website:scrape:firecrawl@1.website:scrapelist:firecrawl@1.website:extract:firecrawl@1.website:extract:parallel@1.website:maplinks:firecrawl@1.row:append:sheet@1.row:expandappend:sheet@1.row:roundrobin:sheet@1.bucket:claim@1.bucket:count@1.bucket:check@1.rows:find:sheet@1.rows:find:postgres@1.rows:find:databricks@1.company:lookalikes:companyenrich@1.company:lookalikes:companyenrich@2.company:match:logodev@1.company:match:logodev@2.person:posts:content:crustdata@1.company:match:crustdata@1.company:match:crustdata@2.people:profile:workemail:crustdata@1.person:profile:workemail:crustdata@1.people:workemail:profileurl:waterfall@1.person:workemail:profileurl:waterfall@1.people:identity:email:waterfall@1.person:identity:email:waterfall@1.person:devprofileurl:profileurl:waterfall@1.http:request@1.company:identity@1.people:professionalprofile:waterfall@1.people:professionalprofileurl:name@1.people:professionalprofileurl:email:waterfall@1.people:mobilenumber:professionalprofile:waterfall@1`.split(`.`),ga=r.enum(ha),_a=[`string`,`number`,`boolean`,`json`,`unknown`],va=r.enum(_a),ya=r.union([r.number(),r.string()]),ba=r.union([r.literal(`completed`),r.literal(`failed`),r.literal(`pending`),r.literal(`queued`),r.literal(`processing`),r.literal(`no_result`),r.literal(`skipped`)]),xa=r.union([r.string().min(1),r.number(),r.boolean(),r.null(),r.record(r.string(),r.unknown()),r.array(r.unknown())]),Sa=r.object({example_value:r.any().nullable(),schema:r.any().nullable()}),Ca=r.object({type:r.literal(`static`).optional()}),wa=Ca.extend({image_url:r.url().describe(`URL to the provider's logo image.`),entity:r.string().describe(`The name of the entity.`)}),Ta=Ca.extend({emoji:r.string().describe(`Country flag emoji.`)}),Ea=Ca.extend({image_url:r.url().describe(`URL to the provider's logo image.`),name:r.string().describe(`The name of the avatar owner.`)}),Da=Ca.extend({attempted_providers:r.array(r.object({provider:pa})),available_providers:r.array(pa),successful_provider:pa.optional()}),Oa=r.enum([`linkedin`,`job`]),ka=Ca.extend({key:Oa}).optional(),Aa=Ca.extend({result_status:r.enum([`completed`,`failed`])}).optional(),ja=Ca.extend({list:r.array(r.object({source:r.string(),description:r.string().optional(),url:r.string()}))}).optional(),Ma=Ca.extend({numeric:r.int().min(1).max(5)}).optional(),Na=Ca.extend({value:r.string().min(1)}).optional(),Pa=r.object({display_value:Ca.extend({label:r.string().optional()}),entity_logo:wa.optional(),location_indicator:Ta.optional(),avatar:Ea.optional(),waterfall:Da.optional(),icon:ka,action_summary:Aa,sources:ja,confidence:Ma,emoji:Na}).partial().describe(`A map of widgets associated with this field for UI display, keyed by widget type.`),Fa=r.object({code:r.string(),message:r.string(),path:r.string().optional()}),Ia=r.object({code:r.string(),summary:r.string(),message:r.string()}),La=[`json_object`,`json_list`,`json_list_string`,`url`,`website_url`,`profile_url`,`email`,`datetime`,`currency`,`date`,`phone`,`markdown`,`text`,`int`,`decimal`,`address_line_1`,`zip_code`,`percent`],Ra=r.enum(La);Ra.nullable();const za=r.object({type:va,label:r.string().nullable().optional(),format:Ra.nullable().optional(),json_metadata:Sa.nullable().optional()}),Ba=r.record(r.string(),za),Va=r.enum([...ha,`input`]).nullable(),Ha=r.enum([...ha,`input`,`system`]).nullable(),Ua=r.object({ref:Va,config_hash:r.string().nullable()}),Wa=r.object({ref:Ha,environment:ma.nullable(),config_hash:r.string().nullable(),input_hash:r.string().nullable()}),Ga=r.object({value:xa,status:ba,type:va,reason:Ia.nullable(),claimed_by:Ua,resolved_by:Wa.nullable(),widgets:Pa.optional(),format:Ra.nullable()}),Ka=r.object({value:xa,status:ba,reason:Ia.nullable().optional(),type:va.optional(),format:Ra.nullable().optional(),claimed_by:Ua.optional(),resolved_by:Wa.nullable().optional(),widgets:Pa.optional()}),qa=r.record(r.string(),r.union([xa,Ka])).openapi(`PipesInput`),Ja=r.object({id:ya,fields:r.record(ya,Ga)}),Ya=r.object({type:r.literal(`catalog`),fieldName:r.string().min(1)}),Xa=r.object({type:va,label:r.string(),added_by:r.object({ref:r.union([ga,r.literal(`input`)]),config_hash:r.string().nullable(),pipe_index:r.number().nullable()}),format:Ra.nullable(),is_primary_output:r.boolean(),order:r.number().nullable().optional()}),Za=r.record(r.string(),Xa),Qa=r.object({field_name:r.string().min(1),extractions:r.array(r.object({path:r.string().min(1),output_field:r.object({name:r.string().min(1),format:Ra.nullable().default(null),label:r.string().optional(),type:va})})).min(1).check(e=>{let t=new Set;Object.values(e.value).forEach(n=>{t.has(n.output_field.name)?e.issues.push({code:`custom`,message:`Output field names must be unique. The name ${n.output_field.name} exists more than once in your config.`,input:e.value}):t.add(n.output_field.name)})})}),$a=r.enum([`eq`,`neq`,`gt`,`gte`,`lt`,`lte`,`contains`,`matches`]),eo={eq:`equals`,neq:`not equals`,gt:`greater than`,gte:`greater than or equal`,lt:`less than`,lte:`less than or equal`,contains:`contains`,matches:`matches regex`},to=[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`,`contains`,`matches`],no=[`eq`,`neq`],ro=r.object({type:r.literal(`vault`),connection:r.string().refine(e=>{let t=e.split(`_`)[0];return t!=null&&pa.safeParse(t).success},{message:`Invalid vault connection string: expected the full provider-prefixed value (e.g. "slack_my-workspace") where the segment before the first "_" is a known provider name. Copy the string exactly as the vault lists it — never strip the prefix.`})}),io=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(ro)}).nullable().optional(),ao=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(ro).min(1,{message:`Provide your own credentials to use this object.`})},{error:`Provide your own credentials to use this object.`}),oo=r.object({strategy:r.enum([`first`]).default(`first`),connections:r.array(r.object({type:r.literal(`vault`),connection:r.string()})).max(0,{message:`This pipe does not support custom connectors.`})}).optional().nullable(),so=r.enum(to),co=r.enum(no),lo=r.enum([`failed`,`no_result`,`completed`,`skipped`]),uo=r.object({property:r.literal(`value`).describe(`Compare the actual field value. Use operators: eq, neq, gt, gte, lt, lte, contains, matches.`),field_name:r.string().min(1,{message:`Provide a target field for the condition.`}).describe(`Name of a field from input data or produced by an earlier pipe in the workflow.`),operator:so.describe(`Comparison operator: "eq", "neq", "gt", "gte", "lt", "lte", "contains", "matches" (regex).`),value:r.union([r.number(),r.string(),r.boolean(),r.null()]).describe(`The value to compare the field against. Must be a primitive (string, number, boolean, or null).`).check(e=>{(e.value===void 0||e.value===``)&&e.issues.push({code:`custom`,input:e.value,message:`Provide a value to compare against.`}),typeof e.value==`object`&&e.value!==null&&e.issues.push({code:`custom`,input:e.value,message:`Conditions can only be defined on primitive fields. To apply a condition on a JSON value, expand it into an object first.`})})}),fo=r.object({property:r.literal(`status`).describe(`Compare the field resolution status instead of its value. Use operators: eq, neq.`),field_name:r.string().min(1).describe(`Name of a field from input data or produced by an earlier pipe in the workflow.`),operator:co.describe(`Status comparison operator: "eq" or "neq".`),value:lo.describe(`Field status to compare against: "completed", "no_result", "failed", or "skipped".`)}),po=r.object({logic:r.enum([`and`,`or`]).describe(`"and" = all conditions must match. "or" = any condition matches.`),conditions:r.array(r.discriminatedUnion(`property`,[uo,fo])).min(1).describe(`Array of conditions to evaluate. Each condition checks either a field value or its resolution status.`)}).describe(`Condition block. All conditions are combined with the chosen logic (and/or).`),mo=r.object({logic:r.enum([`and`,`or`]).describe(`"and" = all conditions must match. "or" = any condition matches.`),conditions:r.array(uo).min(1).describe(`Array of value conditions to evaluate.`)}).describe(`Condition block. All conditions are combined with the chosen logic (and/or).`),ho=r.object({action:r.enum([`run`]).default(`run`).describe(`What to do when conditions match. Defaults to "run" (run the pipe only on matching records). Reserved for future extension.`),when:po}).describe(`Run-if gate for a pipe. When set, the pipe only runs on records matching the conditions. Example: { "when": { "logic": "and", "conditions": [{ "property": "status", "field_name": "work_email", "operator": "neq", "value": "no_result" }] } }`),go=[`if`,`elsif`,`else`,`endif`,`unless`,`endunless`,`for`,`endfor`,`break`,`continue`,`output`],_o=[`json`,`escape`,`escape_once`,`default`,`upcase`,`downcase`,`size`,`join`,`first`,`last`,`replace`,`truncate`,`strip`,`newline_to_br`,`url_encode`],vo=/^[A-Z][A-Z0-9_]*$/,yo=/^[A-Z][A-Z0-9_]*$/,bo=/^[a-zA-Z_][a-zA-Z0-9_]*$/,xo=`SECRETS`,So=`CONSTANTS`,Co=new Set(go),wo=new Set(_o),To=e=>`{${e}}`;var Eo=class extends i{constructor(e){super(),this.values=e}liquidMethodMissing(e){let t=String(e);if(!vo.test(t))throw Error(`Secret key "${t}" must be uppercase letters, digits, and underscores (e.g. SECRETS.API_KEY).`);if(!(t in this.values))throw Error(`Missing secret: SECRETS.${t}`);return this.values[t]}},Do=class extends i{constructor(e){super(),this.values=e}liquidMethodMissing(e){let t=String(e);if(!yo.test(t))throw Error(`Constant key "${t}" must be uppercase letters, digits, and underscores (e.g. CONSTANTS.PROMO).`);if(!(t in this.values))throw Error(`Missing constant: CONSTANTS.${t}`);return this.values[t]}};function Oo(e){let t=e.trim();if(!t)throw Error(`Empty {% output %} tag — expected at least a name (e.g. {% output rec, type: "string", description: "..." %}).`);let n=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*(?:,|$)/);if(!n||!n[1])throw Error(`Invalid {% output %} tag — expected a name as the first argument, got: ${t}`);let r=n[1];if(!bo.test(r))throw Error(`Invalid {% output %} tag name "${r}" — must start with a letter or underscore and contain only letters, digits, and underscores.`);let i=t.slice(n[0].length).trim(),a={},o=/([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|(true|false))\s*(?:,|$)/g,s=0,c;for(;(c=o.exec(i))!==null;){s=c.index+c[0].length;let e=c[1],t=c[2]??c[3]??c[4];c[4]===void 0?a[e]=t:a[e]=t===`true`}if(i&&s<i.length)throw Error(`Invalid {% output %} tag — could not parse arguments after "${i.slice(s)}". Expected key: "value" pairs.`);let l=a.type;if(typeof l!=`string`||!l)throw Error(`{% output ${r} %} tag is missing required "type" argument (e.g. type: "string").`);let u=a.description;if(typeof u!=`string`||!u)throw Error(`{% output ${r} %} tag is missing required "description" argument (e.g. description: "What this means.").`);return{name:r,type:l,description:u,required:typeof a.required==`boolean`?a.required:!0,format:typeof a.format==`string`?a.format:null,schemaRef:typeof a.schema==`string`?a.schema:null}}function ko(){let e=new a({strictVariables:!1,strictFilters:!0,jsTruthy:!0,greedy:!1,catchAllErrors:!1,ownPropertyOnly:!0});e.registerTag(`output`,{parse(e,t){let n=Oo(e.args);this.outputDecl=n},render(e,t){let n=this.outputDecl;if(!(e.globals&&e.globals.__outputAllowed))throw Error(`{% output %} is not allowed in this template (referenced output "${n.name}").`);t.write(To(n.name))}});for(let t of Object.keys(e.tags))Co.has(t)||delete e.tags[t];for(let t of Object.keys(e.filters))wo.has(t)||delete e.filters[t];return e}let Ao=null;function jo(){return Ao||=ko(),Ao}async function Mo(e,t,n={}){let r=jo(),i=n.renderLimitMs??250,a={...t.inputs??{},[xo]:new Eo(t.secrets??{}),[So]:new Do(t.constants??{})},o={globals:{__outputAllowed:n.outputAllowed===!0},renderLimit:i},s=await Promise.race([r.parseAndRender(e,a,o),new Promise((e,t)=>setTimeout(()=>t(Error(`Liquid render exceeded ${i}ms.`)),i))]);return String(s)}function No(e,t,n={}){let r=jo(),i=n.renderLimitMs??250,a={...t.inputs??{},[xo]:new Eo(t.secrets??{}),[So]:new Do(t.constants??{})},o=r.parseAndRenderSync(e,a,{globals:{__outputAllowed:n.outputAllowed===!0},renderLimit:i});return String(o)}function Po(e){return jo().parse(e)}function Fo(e){let t=jo().parse(e),n={scopeStack:[],guardStack:[],inputs:new Map,secrets:new Set,constants:new Set,outputs:[],forDepth:0};Io(t,n);let r={};for(let[e,t]of n.inputs)r[e]={required:t.unguardedRefs>0};return{inputs:r,secrets:[...n.secrets],constants:[...n.constants],outputs:n.outputs}}function Io(e,t){for(let n of e)Lo(n,t)}function Lo(e,t){let n=e;if(n.value&&typeof n.value==`object`&&`filters`in n.value&&`initial`in n.value){Ho(n.value,t,!1);return}if(typeof n.name==`string`){Ro(n,t);return}}function Ro(e,t){switch(e.name){case`for`:zo(e,t);return;case`if`:case`unless`:Bo(e,t);return;case`output`:Vo(e,t);return;case`break`:case`continue`:return;default:throw Error(`Unhandled liquid tag in analyzer: ${e.name}`)}}function zo(e,t){if(t.forDepth+=1,t.forDepth>3)throw Error(`Liquid template exceeds maximum nested {% for %} depth of 3.`);e.collection!==void 0&&e.collection!==null&&Uo(e.collection,t,!1);let n=typeof e.variable==`string`?e.variable:null;n&&t.scopeStack.push(n),Io(Array.isArray(e.templates)?e.templates:[],t),n&&t.scopeStack.pop(),Io(Array.isArray(e.elseTemplates)?e.elseTemplates:[],t),--t.forDepth}function Bo(e,t){let n=Array.isArray(e.branches)?e.branches:[];e.name;for(let e=0;e<n.length;e++){let r=n[e],i=r.value,a=null;e===0&&i&&typeof i==`object`&&(a=Ko(i.initial)),a&&t.guardStack.push(a),i&&typeof i==`object`&&Ho(i,t,!1),Io(r.templates,t),a&&t.guardStack.pop()}Io(Array.isArray(e.elseTemplates)?e.elseTemplates:[],t)}function Vo(e,t){let n=e.outputDecl;if(!n){let t=e.token?.args;typeof t==`string`&&(n=Oo(t))}if(!n)throw Error(`Internal: {% output %} tag missing parsed declaration.`);t.outputs.push({name:n.name,type:n.type,description:n.description,required:n.required,format:n.format,schemaRef:n.schemaRef??void 0})}function Ho(e,t,n){let r=e.filters.some(e=>e.name===`default`),i=n||r;for(let n of e.initial.postfix)qo(n)&&Go(n,t,i);for(let n of e.filters)for(let e of n.args)Wo(e,t)}function Uo(e,t,n){qo(e)&&Go(e,t,n)}function Wo(e,t){if(Array.isArray(e)){let n=e[1];n&&Uo(n,t,!1)}else Uo(e,t,!1)}function Go(e,t,n){let r=e.props;if(r.length===0)return;let i=r[0];if(!i||!Jo(i))return;let a=i.content;if(t.scopeStack.includes(a))return;if(a===`SECRETS`){let e=r[1];if(!e||!Jo(e))throw Error(`Invalid SECRETS reference — expected SECRETS.KEY (got ${Zo(r)}).`);let n=e.content;if(!vo.test(n))throw Error(`Invalid SECRETS key "${n}" — must be uppercase letters, digits, and underscores (e.g. SECRETS.API_KEY).`);t.secrets.add(n);return}if(a===`CONSTANTS`){let e=r[1];if(!e||!Jo(e))throw Error(`Invalid CONSTANTS reference — expected CONSTANTS.KEY (got ${Zo(r)}).`);let n=e.content;if(!yo.test(n))throw Error(`Invalid CONSTANTS key "${n}" — must be uppercase letters, digits, and underscores (e.g. CONSTANTS.PROMO).`);t.constants.add(n);return}let o=n||t.guardStack.includes(a),s=t.inputs.get(a)??{unguardedRefs:0,guardedRefs:0};o?s.guardedRefs+=1:s.unguardedRefs+=1,t.inputs.set(a,s)}function Ko(e){if(e.postfix.length===1){let t=e.postfix[0];if(t&&qo(t)&&t.props.length===1){let e=t.props[0];if(e&&Jo(e))return e.content}}if(e.postfix.length===3){let[t,n,r]=e.postfix;if(t&&n&&r&&qo(t)&&t.props.length===1){let e=t.props[0];if(e&&Jo(e)&&Yo(n)&&Xo(r,[`==`,`!=`]))return e.content}}return null}function qo(e){return e.kind===o.PropertyAccess}function Jo(e){return!!e&&typeof e==`object`&&e.kind===o.Word}function Yo(e){if(e.kind!==o.Literal)return!1;let t=e.literal;return t===`nil`||t===`null`}function Xo(e,t){return e.kind===o.Operator?t.includes(e.operator):!1}function Zo(e){let t=[];for(let n of e)n&&Jo(n)?t.push(n.content):t.push(`?`);return t.join(`.`)}const Qo=`default`,$o=`pipe0_default`;function es(e){let t=e.split(`_`),n=t[0],r=t.slice(1).join(`_`);if(!n)throw Error(`connection string of invalid format`);try{return{provider:pa.parse(n),id:r}}catch{throw Error(`Connection string ${e}: Failed to parse provider name.`)}}function ts(e){return`${e.provider}_${e.id}`}const ns=new s;function rs(e){return ns.validateSchema(e)}function is(e){let t=!1;return c(e,{},e=>{e.type&&[`string`,`number`,`boolean`,`integer`,`null`].includes(e.type)&&(t=!0),e.type===`object`&&e.properties&&Object.keys(e.properties).length>0&&(t=!0),e.type===`array`&&e.items&&(t=!0)}),!t}function as(e){try{return JSON.parse(e)}catch{}return JSON.parse(us(e))}function os(e){try{return as(e)}catch{return}}const ss=/[A-Za-z_$]/,cs=/[\w$]/,ls=/\s/;function us(e){let t=``,n=0,r=e.length;for(;n<r;){let i=e[n];if(i===`"`||i===`'`){let a=i,o=``;for(n++;n<r&&e[n]!==a;){if(e[n]===`\\`){o+=`\\${e[n+1]??``}`,n+=2;continue}o+=e[n],n++}n++,t+=JSON.stringify(ds(o));continue}if(ss.test(i)){let i=n;for(;i<r&&cs.test(e[i]);)i++;let a=e.slice(n,i),o=i;for(;o<r&&ls.test(e[o]);)o++;t+=e[o]===`:`?JSON.stringify(a):a,n=i;continue}if(i===`,`){let t=n+1;for(;t<r&&ls.test(e[t]);)t++;if(e[t]===`}`||e[t]===`]`){n++;continue}}t+=i,n++}return t}function ds(e){let t=``;for(let n=0;n<e.length;n++){if(e[n]!==`\\`){t+=e[n];continue}let r=e[++n];switch(r){case`n`:t+=`
68
+ `;break;case`t`:t+=` `;break;case`r`:t+=`\r`;break;case`b`:t+=`\b`;break;case`f`:t+=`\f`;break;case`v`:t+=`\v`;break;case`0`:t+=`\0`;break;case`u`:{let r=e.slice(n+1,n+5);/^[0-9a-fA-F]{4}$/.test(r)?(t+=String.fromCharCode(Number.parseInt(r,16)),n+=4):t+=`u`;break}default:t+=r??``;break}}return t}const g=(e,t=`Add a ${e} connection to enable this field`)=>n=>(n.connector?.connections??[]).some(t=>t?.connection?.startsWith(`${e}_`))?{disabled:!1}:{disabled:!0,message:t},fs=(e,t)=>n=>{let r=e(n);return r!=null&&r!==``?{disabled:!1}:{disabled:!0,message:t}},ps=(...e)=>t=>{for(let n of e){let e=n(t);if(e.disabled)return e}return{disabled:!1}},ms=(...e)=>t=>{let n={disabled:!0,message:`No condition matched`};for(let r of e){let e=r(t);if(!e.disabled)return e;n=e}return n},hs=[`google-low`,`openai-high`,`anthropic-high`],gs={"google-low":{label:`Gemini 3.5 Flash`,provider:`gemini`,rateLimitOperation:`gemini_35_flash`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`},"openai-high":{label:`GPT-5.5`,provider:`openai`,rateLimitOperation:`openai_gpt-5`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`},"anthropic-high":{label:`Claude Opus 4.8`,provider:`anthropic`,rateLimitOperation:`anthropic_opus`,rateLimitRatio:1,allowManagedConnection:!0,billingMode:`always`}},_s=.03,vs=.3,ys=100,bs=100,xs={"google-low":{inputPer1M:1.5,outputPer1M:9},"openai-high":{inputPer1M:5,outputPer1M:30},"anthropic-high":{inputPer1M:5,outputPer1M:25}};function Ss(e){let t=gs[e];if(!t)throw Error(`Unknown AI model: ${e}`);return[t.provider]}function Cs(e){let t=gs[e];if(!t)throw Error(`Unknown AI model: ${e}`);return[{provider:t.provider,rateLimitRatio:t.rateLimitRatio,rateLimitOperation:t.rateLimitOperation,allowManagedConnection:t.allowManagedConnection}]}function ws(){let e=new Set;for(let t of hs)e.add(gs[t].provider);return[...e]}function Ts(e){return Object.keys(e).some(e=>hs.some(t=>e.endsWith(`-in-${t}`)||e.endsWith(`-out-${t}`)))}function Es(e,t){return e/1e6*(1+vs)/_s*t}function Ds(e){let t=xs[e];if(!t)throw Error(`Unknown AI model: ${e}`);return{in:Es(t.inputPer1M,100),out:Es(t.outputPer1M,100)}}function Os(e,t){let n=Math.round(vs*100);return`Billed per 100 ${e} tokens at ${Number(t.toPrecision(4))} credits/block (managed keys include a ${n}% margin over provider cost).`}function ks(e){let t={};for(let n of hs){let r=gs[n],i=Ds(n);t[`${e}-in-${n}`]={credits:{default:i.in},allowManagedConnection:!0,provider:r.provider,mode:r.billingMode,note:Os(`input`,i.in)},t[`${e}-out-${n}`]={credits:{default:i.out},allowManagedConnection:!0,provider:r.provider,mode:r.billingMode,note:Os(`output`,i.out)}}return t}function As(e,t){return{input:`${t}-in-${e}`,output:`${t}-out-${e}`}}function js(e,t){let n=As(t.model,t.prefix);return[{billableOperation:n.input,quantity:e.count*Math.ceil(t.inputTokens/100)},{billableOperation:n.output,quantity:e.count*Math.ceil(t.outputTokens/100)}]}var Ms=class{carriedInput=0;carriedOutput=0;addUsage(e){this.carriedInput+=Math.max(0,e.inputTokens),this.carriedOutput+=Math.max(0,e.outputTokens)}drainBlocks(){let e=Math.floor(this.carriedInput/100),t=Math.floor(this.carriedOutput/100);return this.carriedInput-=e*100,this.carriedOutput-=t*100,{inBlocks:e,outBlocks:t}}flush(){let e=+(this.carriedInput>0),t=+(this.carriedOutput>0);return this.carriedInput=0,this.carriedOutput=0,{inBlocks:e,outBlocks:t}}};function Ns(e){if(!e?.requires)return;let t=[];e.requires.connection&&t.push(g(e.requires.connection));for(let n of e.requires.fields??[])t.push(fs(e=>n.split(`.`).reduce((e,t)=>e==null?e:e[t],e),`Set ${n} first`));if(t.length!==0)return t.length===1?t[0]:ps(...t)}function Ps(e,t,n){let i={exampleValue:null,jsonSchema:null},a=t.fieldAnnotations.annotations[e];if(a?.json_metadata?.example_value&&(i.exampleValue=a.json_metadata.example_value||null),a?.json_metadata?.schema&&(i.jsonSchema=a.json_metadata.schema||null),i.exampleValue&&i.jsonSchema||!t.resolvedFieldNames[e])return i;let o=da(e,n,t),s=ca(o.fieldName)?h(o.fieldName):null;return s?.jsonMeta?{jsonSchema:s.jsonMeta.zodSchema?r.toJSONSchema(s.jsonMeta.zodSchema):null,exampleValue:s.jsonMeta.exampleValue||null}:i}const _=r.registry();{let e=_._map,t=_.get.bind(_);_.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const v=r.registry();{let e=v._map,t=v.get.bind(v);v.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const Fs=r.registry();{let e=Fs._map,t=Fs.get.bind(Fs);Fs.get=n=>{let r=n;for(;r;){let t=e.get(r);if(typeof t==`function`)return t;r=r?._zod?.parent}return t(n)}}const Is=e=>e,y={text_input:r.coerce.string(),textarea_input:r.string(),prompt_input:r.object({template:r.string(),json_schemas:r.record(r.string(),r.record(r.string(),r.unknown()))}),template_input:r.string(),tagged_text_input:r.coerce.string(),boolean_input:r.boolean(),nullable_boolean_input:r.boolean().nullable(),select_input:r.string(),multi_select_input:r.array(r.string()),async_multi_select_input:r.array(r.string()),int_input:r.coerce.number().int(),number_input:r.coerce.number(),min_max_int_input:r.object({min:r.number().nullable().default(null),max:r.number().nullable().default(null)}),include_exclude_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),include_exclude_select_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),async_include_exclude_select_input:r.object({include:r.array(r.string()).default([]),exclude:r.array(r.string()).default([])}),exact_range_input:r.record(r.string(),r.number().nullable()),range_input:r.object({from:r.number().nullable(),to:r.number().nullable()}),date_range_input:r.record(r.string(),r.string()),multi_create_input:r.array(r.string()),property_list_input:r.array(r.object({property:r.string().min(1)})),ordered_multi_create_input:r.array(r.string()),tagged_ordered_multi_create_input:r.array(r.string()),loose_object_input:r.record(r.string(),r.string()),connector_input:r.object({connections:r.array(r.object({type:r.string(),connection:r.string()}))}).nullable(),providers_input:r.array(r.object({provider:r.string()})),json_extraction_input:r.record(r.string(),r.unknown()),pipes_run_if_input:r.record(r.string(),r.unknown()).nullable(),condition_block_input:r.record(r.string(),r.unknown()).nullable(),fields_select_input:r.array(r.object({field_name:r.string()})),typed_fields_select_input:r.array(r.object({field_name:r.string(),type:r.enum(_a),format:r.enum(La).nullable().optional()})),field_select_input:r.object({field_name:r.string()}),output_field_input:r.object({alias:r.string(),enabled:r.boolean()}),json_schema_input:r.record(r.string(),r.unknown()),cursor_pagination_metadata:r.object({limit:r.number()}),context_select_input:r.union([r.string(),r.array(r.string())]),search_payload_input:r.looseObject({search_id:r.string()})},Ls=(e,t,n)=>{let r=[t.description||n,t.guide].filter(Boolean).join(` `);return r?e.describe(r):e.check(()=>{})},Rs=(e,t)=>{let n=y.multi_create_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`multi_create_input`,...e}),n},zs=(e,t)=>{let n=y.property_list_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`property_list_input`,...e}),n},Bs=(e,t)=>{let n=y.ordered_multi_create_input;return e.maxItems&&(n=n.max(e.maxItems)),n=e.minItems?n.min(e.minItems):n.default([]),t.add(n,{type:`ordered_multi_create_input`,...e}),n},Vs=/^\s*\{\{\s*[a-zA-Z_][a-zA-Z0-9_.]*(?:\s*\|\s*[^}]+)?\s*\}\}\s*$/,Hs=/\{\{|\{%/,Us=(e,t)=>{let n=y.tagged_ordered_multi_create_input;e.maxItems&&(n=n.max(e.maxItems)),n=n.check(e=>{let t=e;(t.value??[]).forEach((e,n)=>{let r=Vs.test(e),i=Hs.test(e);!r&&i&&t.issues.push({code:`custom`,input:e,path:[n],message:`Each entry must be either plain text or a single field reference — not mixed.`})})}),n=e.minItems?n.min(e.minItems):n.default([]);let r={type:`tagged_ordered_multi_create_input`,...e};if(t===_){let i=t=>{let n=t.validationContext,i=n?Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).filter(([t,n])=>!e.expectedTagType||n.type===e.expectedTagType).map(([e,t])=>({...t,resolvedName:e})):[];return{...r,inputFields:i}};return i.staticMeta={...r,inputFields:[]},t.add(n,i),n}return t.add(n,r),n},Ws=(e,t)=>{let n=y.loose_object_input;n=n.check(t=>{let n=t,r=Object.entries(n.value??{});e.minKeys!=null&&r.length<e.minKeys&&n.issues.push({code:`custom`,input:n.value,message:`Add at least ${e.minKeys} ${e.keyLabel?.toLowerCase()??`entr`}${e.keyLabel?`s`:`ies`}.`}),e.maxKeys!=null&&r.length>e.maxKeys&&n.issues.push({code:`custom`,input:n.value,message:`Use at most ${e.maxKeys} ${e.keyLabel?.toLowerCase()??`entr`}${e.keyLabel?`s`:`ies`}.`}),r.forEach(([e,t])=>{bc({value:t,issues:n.issues},!1,[e])})}),n=n.default({});let r={type:`loose_object_input`,...e},i=e=>{let t=e.validationContext,n=t?Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e.hash).map(([e,t])=>({...t,resolvedName:e})):[];return{...r,inputFields:n}};return i.staticMeta={...r,inputFields:[]},t.add(n,i),n},Gs=(e,t)=>{let n=e.maxItems||200,r=Ls(y.include_exclude_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})}),e);return t.add(r,{type:`include_exclude_input`,...e}),r},Ks=()=>{let e=Qa;return _.add(e,e=>{let t=e.validationContext;return{label:``,description:``,type:`json_extraction_input`,fields:Object.entries(t.fieldDefinitions).filter(([e,t])=>e.toLowerCase()!==`id`&&t.type===`json`).map(([e,n])=>{let{jsonSchema:r,exampleValue:i}=Ps(e,t,n)||{};return{fieldName:e,fieldLabel:n.label,schema:r||null,exampleValue:i||null}}),path:`config.json_extraction`,groupPath:`config.json_extraction`,sectionKey:`general`}}),e},qs=(e,t)=>{let n=r.array(r.object({provider:r.enum(e.availableProviders)})).max(e.maxItems||99).min(1).default(e.defaultProviders),i=e.availableProviders.map(t=>{let n=e.providerCredits?.[t];return{value:t,label:Pt[t].label,widgets:{provider_logo:{provider:t},...typeof n==`number`?{pricing:{credits:n}}:{}}}});return t.add(n,{label:`Provider sequence`,description:``,path:`config.providers`,groupPath:`config.providers`,type:`providers_input`,options:i,defaultProviders:e.defaultProviders,maxItems:e.maxItems,sectionKey:e.sectionKey}),n},Js=(e,t)=>{let n=e.maxItems||200,r=Ls(y.include_exclude_select_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})}),e);return t.add(r,{type:`include_exclude_select_input`,...e}),r},Ys=(e,t)=>{let n=Ls(y.exact_range_input.check(t=>{e.min===void 0&&e.max===void 0||Object.values(t.value).filter(e=>e!==null).some(t=>e.min!=null&&t<e.min||e.max!=null&&t>e.max)&&t.issues.push({code:`custom`,input:t.value,message:`Values must be between ${e.min??`any`} and ${e.max??`any`}`})}),e);return t.add(n,{type:`exact_range_input`,...e}),n},Xs=(e,t)=>{let n=r.object({from:r.number().optional().nullable(),to:r.number().optional().nullable()}).default({from:null,to:null}),i=n;(e.min!==void 0||e.max!==void 0)&&(i=n.check(t=>{Object.values(t.value).filter(e=>e!=null).every(t=>(e?.min==null||t>=e.min)&&(e.max==null||t<=e.max))||t.issues.push({code:`custom`,input:t.value,message:`Values must be between ${e.min??`any`} and ${e.max??`any`}`}),t.value.from&&t.value.to&&t.value.from>t.value.to&&t.issues.push({code:`custom`,input:t.value,message:`'From' value must be smaller than 'to' value.`})}));let a=Ls(i,e);return t.add(a,{type:`range_input`,...e}),a},Zs=(e,t)=>{let n=Ls(y.date_range_input.check(e=>{let t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/;for(let[n,r]of Object.entries(e.value))r&&!t.test(r)&&e.issues.push({code:`custom`,input:r,path:[n],message:`Must be an ISO datetime string`})}),e);return t.add(n,{type:`date_range_input`,...e}),n},Qs=(e,t)=>{let n=Ls(y.boolean_input.default(e.defaultValue),e);return t.add(n,{...e,required:!1,type:`boolean_input`}),n},$s=(e,t)=>{let n=Ls(y.nullable_boolean_input.default(e.defaultValue),e);return t.add(n,{...e,required:!1,type:`nullable_boolean_input`,defaultValue:e.defaultValue}),n},ec=(e,t)=>{let n=y.text_input;e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength)),e.pattern&&(n=n.regex(new RegExp(e.pattern)));let r=Ls(n,e);return t.add(r,{type:`text_input`,...e}),r},tc=(e,t)=>{let n=y.textarea_input;e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength));let r=Ls(n,e);return t.add(r,{type:`textarea_input`,...e}),r},nc=(e,t,n=`pipe_io`)=>{let i=r.object({alias:r.string().default(``).describe(`Rename this output field. Leave empty to use default name.`),enabled:r.boolean().default(!0).describe(`Whether to include this field in the output.`)}).describe(`Output field '${e.fieldName}'`);return t.add(i,{type:`output_field_input`,label:`Rename *${e.fieldName}*`,placeholder:e.fieldName,path:`config.output_fields.${e.fieldName}`,description:void 0,groupPath:`config.output_fields`,sectionKey:n}),i.default({alias:``,enabled:!0})},rc=(e,t)=>r.unknown().check(e=>{t(e.value)&&e.issues.push({code:`custom`,input:e.value,message:`Required`})}).pipe(e),ic=(e,t)=>{let n=Ls(rc(y.int_input.check(t=>{e.min!=null&&t.value<e.min&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at least ${e.min}`}),e.max!=null&&t.value>e.max&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at most ${e.max}`})}),e=>e==null),e);return t.add(n,{...e,type:`int_input`}),n},ac=(e,t)=>{let n=Ls(rc(y.number_input.check(t=>{e.min!=null&&t.value<e.min&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at least ${e.min}`}),e.max!=null&&t.value>e.max&&t.issues.push({code:`custom`,input:t.value,message:`Value must be at most ${e.max}`})}),e=>e===void 0),e);return t.add(n,{...e,type:`number_input`}),n},oc=(e,t)=>{let n=y.json_schema_input;return n.check(e=>{rs(e.value)||e.issues.push({code:`custom`,input:e.value,message:`JSON schema is invalid. Check your input.`})}),e.allowEmpty||(n=n.check(e=>{is(e.value)&&e.issues.push({code:`custom`,message:`JSON Schema must define a meaningful value. Can not be an empty object or array.`,input:e.value})})),t.add(n,{...e,type:`json_schema_input`}),n},sc=(e,t)=>{let n=e.options.map(e=>e.value),r=new Set([...n,``]),i=y.select_input.check(t=>{if(t.value===``){e.required&&t.issues.push({code:`custom`,input:t.value,message:`Required`});return}r.has(t.value)||t.issues.push({code:`custom`,input:t.value,message:`Must be one of: ${[...r].filter(e=>e).join(`, `)}`})}),a=Ls(e.defaultValue?i.default(e.defaultValue):i,e);return t.add(a,{type:`select_input`,...e}),a},cc=(e,t,n)=>{let r=Ls(y.search_payload_input.check(e=>{if(!e.value?.search_id){e.issues.push({code:`custom`,input:e.value,message:`Required`});return}let t=n?.safeParse(e.value);if(t&&!t.success)for(let n of t.error.issues)e.issues.push({code:`custom`,input:e.value,message:n.message,path:n.path})}),e);return t.add(r,{...e,type:`search_payload_input`,required:!0}),r},lc=({billableOperations:e,...t},n)=>{let i=r.enum(hs).default(t.defaultValue||`google-low`);return n.add(i,{type:`select_input`,options:hs.map(t=>{let n=Object.keys(e).find(e=>e.endsWith(`-in-${t}`)),r=Object.keys(e).find(e=>e.endsWith(`-out-${t}`)),i=n?e[n]:void 0,a=r?e[r]:void 0;if(!i||!a)throw Error(`Unable to find token billing info for model ${t}`);return{label:gs[t].label,value:t,widgets:{logo:{url:Pt[gs[t].provider].logoUrl},token_pricing:{inputPerBlock:i.credits.default,outputPerBlock:a.credits.default,blockSize:100}}}}),required:!0,description:``,label:`AI Models`,...t}),i},uc=(e,t)=>{let n=e.options.map(e=>e.value),i=new Set(n),a=r.array(r.enum(Array.from(i))).check(t=>{e.required&&t.value.length===0&&t.issues.push({code:`custom`,input:t.value,message:`Required`});let r=new Set;t.value.forEach((e,a)=>{i.has(e)?r.has(e)?t.issues.push({code:`custom`,input:e,path:[a],message:`Duplicate option: ${e}`}):r.add(e):t.issues.push({code:`custom`,input:e,path:[a],message:`Must be one of: ${n.join(`, `)}`})})});return t.add(a,{type:`multi_select_input`,...e}),a},dc=(e,t)=>{let n=y.context_select_input.check(t=>{e.required&&(t.value===``||Array.isArray(t.value)&&t.value.length===0)&&t.issues.push({code:`custom`,input:t.value,message:`Required`})}),r=e.defaultValue?n.default(e.defaultValue):n,i=e.enabledIf??Ns(e.optionsDef);return t.add(r,{type:`context_select_input`,...e,enabledIf:i,options:[]}),r},fc=(e,t)=>{let n=y.min_max_int_input.check(t=>{for(let n of[`min`,`max`]){let r=t.value[n];if(r!=null){if(!Number.isInteger(r)){t.issues.push({code:`custom`,input:r,path:[n],message:`Must be an integer`});continue}(r<e.min||r>e.max)&&t.issues.push({code:`custom`,input:r,path:[n],message:`Must be between ${e.min} and ${e.max}`})}}});return t.add(n,{type:`min_max_int_input`,...e}),n},pc=(e,t)=>{let n=y.async_multi_select_input.check(t=>{e.required&&t.value.length===0&&t.issues.push({code:`custom`,input:t.value,message:`Required`})});return e.maxItems&&(n=n.max(e.maxItems)),t.add(n,{type:`async_multi_select_input`,...e}),n},mc=(e,t)=>{let n=e.maxItems||200,r=y.async_include_exclude_select_input.check(e=>{e.value.include.length>n&&e.issues.push({code:`custom`,input:e.value.include,path:[`include`],message:`Array must contain at most ${n} element(s)`}),e.value.exclude.length>n&&e.issues.push({code:`custom`,input:e.value.exclude,path:[`exclude`],message:`Array must contain at most ${n} element(s)`})});return t.add(r,{type:`async_include_exclude_select_input`,...e}),r},b=()=>{let e=ho.nullish();return _.add(e,e=>{let t=e.validationContext;return{label:``,description:``,type:`pipes_run_if_input`,groupPath:`run_if`,path:`run_if`,sectionKey:`pipe_io`,fields:Object.entries(t.fieldDefinitions).filter(([e,t])=>t.type!==`json`&&e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:t.label,format:t.format,type:t.type}))}}),e},hc=e=>{let t=po.nullish();return Fs.add(t,t=>{let n=t.validationContext;return{type:`condition_block_input`,...e,fields:Object.entries(n.fieldDefinitions).filter(([e,t])=>t.type!==`json`&&e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:t.label,format:t.format,type:t.type}))}}),t},gc=e=>{let{required:t=!0,...n}=e,r=Ls(mo.nullable().check(e=>{let n=e;if(n.value===null){t&&n.issues.push({code:`custom`,input:n.value,message:`Add at least one condition.`});return}(n.value?.conditions??[]).forEach((e,t)=>{typeof e.value==`string`&&bc({value:e.value,issues:n.issues},!1,[`conditions`,t,`value`])})}),n,"Condition block over the target sheet's columns. `field_name` is a LITERAL column name of the looked-up sheet (never templated); string `value`s may contain `{{ field }}` / `{{ SECRETS.KEY }}` / `{{ CONSTANTS.KEY }}` Liquid references resolved per row."+(t?``:" `null` means no filtering.")),i=n.optionsDef?{...n.optionsDef,enabledIf:n.optionsDef.enabledIf??Ns(n.optionsDef)}:void 0,a={type:`condition_block_input`,fields:[],fieldNameMode:`text`,properties:[`value`],...n,optionsDef:i,options:[]},o=e=>{let t=e.validationContext;return{...a,inputFields:Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e.hash).map(([e,t])=>({...t,resolvedName:e}))}};return o.staticMeta={...a,inputFields:[]},_.add(r,o),t?r:r.default(null)};function _c(e,t){if(!t)return e;let n={...e};for(let[r,i]of Object.entries(t))n[r]=i===null?null:{...e[r]??{},...i};return n}function vc({fieldMetadata:e,store:t}){let n=e;if(e.type===`context_select_input`||e.type===`tagged_text_input`||(e.type===`condition_block_input`||e.type===`field_select_input`||e.type===`fields_select_input`||e.type===`typed_fields_select_input`)&&n.optionsDef){t.field_options??={};let r=t.field_options[e.path]?.options||[],i=n.optionsDef?.widgets;e.options=i?r.map(e=>({...e,widgets:{...i,...e.widgets??{}}})):r}return e}const yc=({schema:e,extractFromSchema:t,store:n,formResolvers:i,sectionMap:a,groupMap:o,pathMap:s})=>{let c={};function l(e){let t=e?._zod?.def?.type;return!(t===`optional`||t===`nullable`||t===`default`)}function u(e,d){let ee=t(e),te=ee?.required,ne=ee&&te===void 0&&d!==void 0?{...ee,required:d}:ee;if(ne){let{sectionKey:e,groupPath:t,path:r}=ne,l=a?.[e],u=o?.[t],d=s?.[r];if(!(l===null||u===null||d===null)){let r=d?{...ne,label:d.label??ne.label,description:d.description??ne.description}:ne;c[e]??={type:`section`,groups:[],metadata:{type:`form_section`,path:l?.path??e,label:l?.label,description:l?.description}};let a=c[e];if(!a)throw Error(`Section not defined`);let o=a.groups.find(e=>e.groupPath===t);if(o){let e=vc({fieldMetadata:r,store:n,formResolvers:i});e&&o.fields.push(e)}else{let e=vc({fieldMetadata:r,store:n,formResolvers:i});e&&a.groups.push({groupPath:t,fields:[e],type:`group`,label:u?.label,defaultExpand:!!u?.defaultExpand,description:u?.description,iconKey:u?.iconKey,order:u?.order})}}}if(typeof e==`object`&&`unwrap`in e&&typeof e.unwrap==`function`&&u(e.unwrap(),d),e instanceof r.ZodObject)for(let t of Object.values(e.shape))u(t,l(t))}u(e);for(let e of Object.values(c))e.groups=e.groups.filter(e=>e.fields.length!==0),e.groups.sort((e,t)=>(e.order??99)-(t.order??99));return Object.entries(c).filter(([,e])=>e.groups.length!==0).sort(([e],[t])=>(a?.[e]?.order??99)-(a?.[t]?.order??99)).map(([,e])=>e)};function bc(e,t,n=[]){let r=e.value;if(!(typeof r!=`string`||!r))try{let i=Fo(r);!t&&i.outputs.length>0&&e.issues.push({code:`custom`,input:r,path:n,message:`{% output %} tags are not allowed in this field.`}),t&&i.outputs.length===0&&e.issues.push({code:`custom`,input:r,path:n,message:`At least one {% output %} tag is required, e.g. {% output result, type: "string", description: "..." %}`})}catch(t){e.issues.push({code:`custom`,input:r,path:n,message:t instanceof Error?t.message:String(t)})}}const xc=e=>{let t=(e.supportedTags??[]).includes(`output`),n=r.object({template:Ls(r.string().min(10).check(e=>bc(e,t,[])),e,'Liquid prompt with `{{ field }}` input refs, `{{ field | default: "" }}` for optional refs, `{{ SECRETS.KEY }}` for secrets, `{{ CONSTANTS.KEY }}` for plaintext constants, and `{% output name, type: "string", description: "..." %}` to declare model outputs. Supports `{% if %}` / `{% for %}` control flow. Example: "Summarize {{ name }}. {% output summary, type: \\"string\\", description: \\"One-line summary\\" %}"'),json_schemas:r.record(r.string().min(1,`Schema name cannot be empty`),r.record(r.string(),r.any())).optional().describe(`JSON schemas for output fields with type="json". Keys are referenced via schema="<name>" in output tags.`)});return _.add(n,t=>{let n=t.validationContext;return{type:`prompt_input`,inputFields:Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).map(([e,t])=>({...t,resolvedName:e})),...e}}),n},Sc=e=>{let t=r.string();e.required&&(t=t.min(1)),e.maxLength&&(t=t.max(e.maxLength));let n=Ls(t.check(e=>bc(e,!1,[])),e,'Liquid template with `{{ field }}` input refs, `{{ field | default: "" }}` for optional refs, `{{ SECRETS.KEY }}` for secrets, `{{ CONSTANTS.KEY }}` for plaintext constants, and `{% if %}` / `{% for %}` control flow. Example: "Write to {{ name }} about {{ topic | default: \\"the project\\" }}."');return _.add(n,t=>{let n=t.validationContext;return{type:`template_input`,inputFields:Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).map(([e,t])=>({...t,resolvedName:e})),rows:e.rows||10,...e}}),n},x=e=>{let t=`${e.multiline?`Multi-line`:`Single-line`} ${e.expectedTagType} value, optionally containing \`{{ field }}\` Liquid input refs (use \`| default: ""\` for optional refs), \`{{ SECRETS.KEY }}\` for encrypted secrets, and \`{{ CONSTANTS.KEY }}\` for plaintext constants.`,n=r.coerce.string();e.minLength&&(n=n.min(e.minLength)),e.maxLength&&(n=n.max(e.maxLength)),e.pattern&&(n=n.regex(new RegExp(e.pattern))),n=n.check(e=>bc(e,!1,[])),n=Ls(n,e,t);let i=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Ns(e.optionsDef)}:void 0,a={type:`tagged_text_input`,...e,optionsDef:i,options:[]},o=t=>{let n=t.validationContext,r=Object.entries(n.fieldDefinitions).filter(([e,n])=>n.added_by.config_hash!==t.hash).filter(([t,n])=>n.type===e.expectedTagType).map(([e,t])=>({...t,resolvedName:e}));return{...a,inputFields:r}};return o.staticMeta={...a,inputFields:[]},_.add(n,o),n};function Cc(e,t){_.add(e,({userConnections:e,pipeEntry:n})=>{let r=new Set(n.allowedUserConnectionProviders),i=e.filter(e=>r.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:r.size>0,filteredConnections:i.map(e=>({provider:e.provider,connection:ts({id:e.public_id,provider:e.provider})}))}})}const S=()=>{let e=ao;return Cc(e,`required`),e},C=()=>{let e=io;return Cc(e,`optional`),e},wc=()=>{let e=oo;return Cc(e,`disabled`),e};function Tc(e,t){v.add(e,({userConnections:e,searchEntry:n})=>{let r=n.allowsUserConnection?[n.provider]:[],i=new Set(r),a=e.filter(e=>i.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:i.size>0,filteredConnections:a.map(e=>({provider:e.provider,connection:ts({id:e.public_id,provider:e.provider})}))}})}const Ec=()=>{let e=ao;return Tc(e,`required`),e},Dc=()=>{let e=io;return Tc(e,`optional`),e};function Oc(e,t){Fs.add(e,({userConnections:e,effectEntry:n})=>{let r=new Set(n.allowedUserConnectionProviders),i=e.filter(e=>r.has(e.provider));return{label:t===`required`?`Custom connection`:``,description:``,required:t===`required`,groupPath:`connector`,path:`connector`,connectorMode:t,type:`connector_input`,sectionKey:`pipe_io`,supportsUserConnections:r.size>0,filteredConnections:i.map(e=>({provider:e.provider,connection:ts({id:e.public_id,provider:e.provider})}))}})}const kc=()=>{let e=ao;return Oc(e,`required`),e},Ac=()=>{let e=io;return Oc(e,`optional`),e},w=()=>{let e=oo;return Oc(e,`disabled`),e};function jc(e,t){return Object.entries(t.fieldDefinitions).filter(([t,n])=>n.added_by.config_hash!==e&&t.toLowerCase()!==`id`).map(([e,t])=>({label:e,value:e,type:t.type,format:t.format}))}const T=e=>{let t=r.object({alias:r.string().describe(`Override field name mapping. Leave empty to use default.`)});return _.add(t,t=>{let n=t.validationContext;return{type:`select_input`,required:!1,sectionKey:`pipe_io`,defaultValue:void 0,placeholder:e.fieldName,options:jc(t.hash,n),path:`config.input_fields.${e.fieldName}.alias`,label:`Assign *${e.fieldName}* to:`,description:``,groupPath:`config.input_fields`,multiple:!1}}),t.default({alias:``})},E=e=>qs(e,_),Mc=e=>{let t=y.fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});t=e.minItems?t.min(e.minItems):t.default([]);let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Ns(e.optionsDef)}:void 0,r={type:`fields_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}}))}};return i.staticMeta=r,_.add(t,i),t},Nc=e=>{let t=y.typed_fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});t=e.minItems?t.min(e.minItems):t.default([]);let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Ns(e.optionsDef)}:void 0,r={type:`typed_fields_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>{let n=typeof t.type==`function`?`unknown`:t.type;return{value:e,label:e,data:{type:String(n),...t.format?{format:String(t.format)}:{}},widgets:{field_type:{type:t.type}}}})}};return i.staticMeta=r,_.add(t,i),t},Pc=e=>{let t=y.field_select_input.check(t=>{e.required&&t.value.field_name.length<1&&t.issues.push({code:`custom`,input:t.value.field_name,path:[`field_name`],message:`Select a field`})});e.required||(t=t.default({field_name:``})),t=Ls(t,e,"Reference to a single sheet column by name (`{ field_name }`).");let n=e.optionsDef?{...e.optionsDef,enabledIf:e.optionsDef.enabledIf??Ns(e.optionsDef)}:void 0,r={type:`field_select_input`,...e,optionsDef:n,options:[]},i=e=>{if(n)return{...r};let t=e.validationContext;return{...r,options:Object.entries(t.fieldDefinitions).filter(([t,n])=>t.toLowerCase()!==`id`&&n.added_by.config_hash!==e.hash).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}}))}};return i.staticMeta=r,_.add(t,i),t},Fc=e=>{let t=y.fields_select_input.check(e=>{e.value.forEach((t,n)=>{t.field_name.length<1&&e.issues.push({code:`custom`,input:t.field_name,path:[n,`field_name`],message:`field_name must not be empty`})})});return t=e.minItems?t.min(e.minItems):t.default([]),Fs.add(t,t=>{let n=t.validationContext;return{type:`fields_select_input`,options:Object.entries(n.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({fieldName:e,fieldLabel:e,type:t.type})).map(e=>({value:e.fieldName,label:e.fieldLabel,widgets:{field_type:{type:e.type}}})),...e}}),t},Ic=(e,t)=>{let n=t===`selection`?St:t===`sheet`?Ct:Tt,i={label:`All rows`,value:{type:`all`}},a={label:`Specific rows by ID`,value:{type:`rows`,record_ids:[]}},o=t===`selection`?[a]:t===`sheet`?[i]:[i,a,{label:`Window of 10 rows`,value:{type:`window`,count:10}}],s=r.preprocess(e=>{if(typeof e!=`string`)return e;let t=e.trim();if(t===``)return;let n=os(t);return n===void 0?e:n},n).optional();return Fs.add(s,{type:`textarea_input`,rows:3,language:`json`,quickOptions:o,...e}),s},Lc=e=>Gs(e,_),Rc=e=>Rs(e,_),zc=e=>zs(e,_),Bc=e=>Bs(e,_),Vc=e=>Us(e,_),Hc=e=>Ws(e,_),Uc=e=>Js(e,_),Wc=e=>mc(e,_),Gc=e=>Ys(e,_),Kc=e=>Zs(e,_),D=e=>Qs(e,_),O=e=>nc(e,_),qc=e=>{let{groupPath:t,sectionKey:n=`pipe_io`,defaultName:r,nameInfo:i}=e;return{destination_field_name:Jc({label:`Field name`,description:`Destination field name`,info:i??`Name of the field written to the destination sheet.`,placeholder:r,inputType:`text`,path:`config.destination_field_name`,groupPath:t,sectionKey:n}).nullable().default(``),destination_field_type:Xc({label:`Type`,info:`Field data type. Leave unset to infer it from the data.`,path:`config.destination_field_type`,groupPath:t,sectionKey:n,required:!1,options:_a.filter(e=>e!==`unknown`).map(e=>({value:e,label:e}))}).default(``),destination_field_format:Xc({label:`Format`,info:`Optional display format for the field.`,path:`config.destination_field_format`,groupPath:t,sectionKey:n,required:!1,options:La.map(e=>({value:e,label:e}))}).default(``),destination_field_label:Jc({label:`Label`,description:`Destination field label`,info:`Human-friendly column header. Defaults to the field name.`,inputType:`text`,path:`config.destination_field_label`,groupPath:t,sectionKey:n}).nullable().default(``)}},Jc=e=>ec(e,_),Yc=e=>tc(e,_),Xc=e=>sc(e,_),Zc=e=>lc(e,_),Qc=e=>uc(e,_),$c=e=>ic(e,_),el=e=>ac(e,_),tl=e=>oc(e,_),nl=e=>dc(e,_),rl=e=>{let{required:t=!1,...n}=e,r=mo.nullable().check(e=>{let n=e;n.value===null&&t&&n.issues.push({code:`custom`,input:n.value,message:`Add at least one condition.`})});return v.add(r,{type:`condition_block_input`,fields:[],fieldNameMode:`text`,properties:[`value`],inputFields:[],...n}),t?r:r.default(null)},k=e=>Rs(e,v),il=e=>zs(e,v),al=e=>Bs(e,v),ol=e=>fc(e,v),A=e=>Gs(e,v),sl=e=>Js(e,v),cl=e=>Ys(e,v),ll=e=>Xs(e,v),ul=e=>Zs(e,v),dl=e=>Qs(e,v),fl=e=>$s(e,v),j=e=>nc(e,v,`pipe_io`),pl=e=>ec(e,v),ml=e=>tc(e,v),hl=e=>sc(e,v),gl=e=>dc(e,v),M=e=>uc(e,v),_l=e=>pc(e,v),N=e=>mc(e,v),P=e=>ic(e,v),vl=e=>ac(e,v),yl=e=>ec(e,Is(Fs)),bl=e=>tc(e,Is(Fs)),xl=e=>sc(e,Is(Fs)),Sl=e=>uc(e,Is(Fs)),Cl=e=>ic(e,Is(Fs)),wl=e=>ic(e,Is(Fs)).nullish(),Tl=e=>Qs(e,Is(Fs)),El=e=>dc(e,Is(Fs)),Dl=e=>lc(e,Is(Fs)),Ol=(e,t)=>cc(e,Is(Fs),t),F=e=>(e=e.check(e=>{let t=e.value,n=!1;for(let e in t)if(t[e]?.enabled){n=!0;break}n||e.issues.push({code:`custom`,input:e.value,message:`All output fields are disabled. Enable at least one output.`})}),e.optional()),I=e=>e.optional();function kl(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(kl).filter(e=>!Sr(e));let t={};for(let[n,r]of Object.entries(e)){let e=kl(r);Sr(e)||(t[n]=e)}return t}const Al=await l();var jl=class e{static hashObject(t){if(!Al)throw Error(`HashAPI not initialized`);let{h64ToString:n}=Al,r=e.normalizeObject(t);return n(JSON.stringify(r))}static normalizeObject(t){if(typeof t!=`object`||!t)return t;if(Array.isArray(t))return t.map(t=>e.normalizeObject(t));let n={},r=Object.keys(t).sort();for(let i of r)n[i]=e.normalizeObject(t[i]);return n}};function L(e){return e.split(`@`)[0]}function Ml(e,t){let n={effectId:e,config:kl(t)};return jl.hashObject(n)}var R=class{validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}getSecretRequirements(){return[]}getConstantRequirements(){return[]}getConfigHashKey(){return Ml(this.payload.effect_id,this.payload.config||{})}producesDynamicFields(){return!1}evolveSchema(e){return{next:e}}getRecordQueueConfig(e){return null}};const Nl=`env:change@1`,Pl={},Fl=r.object({effect_id:r.literal(Nl),connector:w(),config:r.object({environment:ma})}),Il=class extends R{effectId=Nl;schema=Fl;payload;billableOperations=Pl;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},Ll=Fl,Rl={effectId:Nl,baseEffect:L(Nl),label:`Change environment`,description:`Switch the sheet between production and sandbox.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Pl,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Nl,connector:null,config:{environment:`production`}}},zl=`fields:add@1`,Bl={},Vl=r.object({effect_id:r.literal(zl),connector:w(),config:r.object({})}),Hl=class extends R{effectId=zl;schema=Vl;payload;billableOperations=Bl;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},Ul=Vl,Wl={effectId:zl,baseEffect:L(zl),label:`Add field`,description:`Add a new empty field to the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Bl,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:zl,connector:null,config:{}}},Gl=[`id`],Kl=e=>Gl.includes(e.trim().toLowerCase()),ql=e=>typeof e.kind==`string`,Jl=e=>ql(e)?e:{kind:`field`,field:e},z=e=>({kind:`field`,field:e}),Yl=(...e)=>({kind:`all`,of:e.map(Jl)}),Xl=(...e)=>({kind:`any`,of:e.map(Jl)}),Zl=e=>({kind:`optional`,field:e});function Ql(e,t){switch(e.kind){case`optional`:return!0;case`field`:return t.has(e.field.resolvedName);case`all`:return e.of.every(e=>Ql(e,t));case`any`:return e.of.some(e=>Ql(e,t))}}function $l(e){switch(e.kind){case`field`:return[{field:e.field,required:!0}];case`optional`:return[{field:e.field,required:!1}];case`all`:case`any`:return e.of.flatMap($l)}}function eu(e,t){let n=tu(e,t);return n.ok?{valid:!0,failedPipeInputField:null,failedRecordField:null}:{valid:!1,failedPipeInputField:n.field,failedRecordField:n.recordField}}function tu(e,t){switch(e.kind){case`optional`:return{ok:!0};case`field`:{let n=t.fields[e.field.resolvedName];if(!n)throw Error(`Record field does not exist ${e.field.name} for requirement.`);return n.status===`completed`||n.status===`queued`?{ok:!0}:{ok:!1,field:e.field,recordField:n}}case`all`:for(let n of e.of){let e=tu(n,t);if(!e.ok)return e}return{ok:!0};case`any`:{let n=null,r=!1;for(let i of e.of)try{let e=tu(i,t);if(r=!0,e.ok)return{ok:!0};n=e}catch{}return r?n:{ok:!0}}}}function nu(e,t){let n={pipeId:e,config:kl(t)};return jl.hashObject(n)}function ru(e,t){let n={};return Object.values(t).forEach(t=>{let r=t,i=e.fields[r.resolvedName];i?.value!=null&&(n[r.resolvedName]=i.value)}),Object.keys(n).length===0?null:jl.hashObject(kl(n))}var B=class{validatePayload(e){try{return this.payloadSchema.parse(e)}catch(e){throw e instanceof n?Error(r.prettifyError(e)):e}}getSecretRequirements(){return[]}getConstantRequirements(){return[]}getBucketRequirements(){return[]}async getAgentContext(e){return null}catalogOutput(e,{isPrimaryOutput:t=!1,resolveFormat:n,resolveType:r}={resolveType:void 0,resolveFormat:void 0,isPrimaryOutput:!1}){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:r||e.type,format:n||e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0,order:`order`in e?e.order:void 0,isPrimaryOutput:t}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}get inputFields(){let e={};for(let{field:t}of $l(this.getInputRequirement()))e[t.name]=t;return e}getConfigHashKey(){return nu(this.payload.pipe_id,this.payload.config||{})}getInputHashKey(e){return ru(e,this.inputFields)}};const iu={title:`Software Engineer, CEO, ...`,seniority:`C-Suite, Senior, ...`,department:`Consulting, Finance, ...`,certification:`CISSP, AWS, ...`,crunchbase_category:`3D Printing, Big Date, ...`,honor:`Cum Laude, 40 Under 40, ...`,field_of_study:`Engineering, Computer Science, ...`,degree_name:`Bachelor of Science, ...`,extracurricular:`Athelete, Debate Team, ...`,job_function:`Accounting, Advertising, ...`,location:`United States, Germany, France, ...`,company_name:`Google, Anthropic, ...`,company_domain:`google.com, openai.com, ...`,company_profile_keyword:`B2B, Software, ...`,headline_keywords:`Founder, JavaScript, ...`,profile_keywords:`Coach, Scrum, ...`,languages:`German, English, ...`,languages_1:`Spanish, Italian, ...`,skills:`TypeScript, Playwright, ...`,industry:`IT, Agriculture, ...`,investor:`a16z, Inside Partners, ...`,school:`MIT, Harvard, ...`,person_profile_url:`https://www.linkedin.com/in/janedoe, ...`,person_name:`Jane Doe, John Smith, ...`,prompt:`Enter prompt here...`,template:`Enter template here...`};function V(e){return iu[e]}function au(e,t){return typeof t==`string`?t:t(e)}function ou(e,t){return typeof t==`string`||t===null?t:t(e)}function su(e,t){let n={};for(let r of t){let t=!1;for(let i of e.pipes){let a=i.getOutputFields();if(a[r]){n[r]??={type:au(e,a[r].type),format:ou(e,a[r].format)},t=!0;break}}if(t)continue;let i=e.derivedInputFields[r];i&&(n[r]??={type:i.type,format:null})}return n}function cu(e,t){for(let n of e.pipes){let r=n.getOutputFields();if(r[t])return{type:au(e,r[t].type),format:ou(e,r[t].format)}}let n=e.derivedInputFields[t];if(n)return{type:n.type,format:null}}function lu(e,t={}){let n=t.expectedType??`string`,r=t.expectedFormat??`text`,i=new Map;for(let t of e){if(!t)continue;let e;try{e=Fo(t)}catch{continue}for(let[t,n]of Object.entries(e.inputs)){let e=i.get(t);i.set(t,{required:e&&e.required||n.required})}}let a=[];for(let[e,t]of i){let i={name:e,resolvedName:e,label:e,description:``,type:t=>cu(t,e)?.type||n,format:r};a.push(t.required?z(i):Zl(i))}return Yl(...a)}function H(e){let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of e.secrets)t.add(n)}catch{}return[...t]}function uu(e){let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of e.constants)t.add(n)}catch{}return[...t]}const U={EMAIL:`Email`,TEXT:`Text`,CHAT:`Chat`,PERSONAL_EMAIL:`Personal Email`,NAMES:`Names`,WORK_EMAIL:`Work Email`,WATERFALL:`Waterfall`,WEBSITE:`Website`,SCRAPE:`Scrape`,ADDRESS:`Address`,NEWS:`News`,LINKEDIN:`LinkedIn`,FINANCIAL_DATA:`Financial Data`,AI:`AI`,PHONE:`Phone Number`,NEW:`New`,BETA:`Beta`,PEOPLE_PROFILES:`People Profiles`,COMPANY_PROFILES:`Company Profiles`,EVENTS:`Events`,JSON:`Json`,FIELDS:`Fields`,LOGIC:`Logic`,DEPRECATED:`Deprecated ❌`};function du(e,t){let n={};for(let r of t)for(let t of Object.values(e))if(t&&t.provider===r&&t.allowManagedConnection){n[r]=t.credits.default;break}return n}function fu(e){return $l(e).map(({field:e})=>e)}function pu({recordField:e,value:t,resolvedBy:n,widgets:r}){return e.value=t,e.status=`completed`,e.resolved_by=n,e.widgets=r,e}function mu({recordField:e}){return e.status=`pending`,e.resolved_by=null,e.value=null,e}function hu({recordField:e,reason:t,resolvedBy:n,widgets:r={}}){return e.value=null,e.status=`no_result`,e.resolved_by=n,e.reason=t,e.widgets=r,e}function gu(e,t,n){return e.value=null,e.status=`failed`,e.resolved_by=null,e.reason=t,e.resolved_by=n,e.widgets={},e}function _u(e,t){return e.value=null,e.status=`skipped`,e.resolved_by=null,e.reason=t,e.widgets={},e}function vu(e){return e.value=null,e.status=`processing`,e.resolved_by=null,e.widgets={},e}function W(e){return e.split(`@`)[0]}function G(e){return`/docs/pipe-catalog/${W(e)}/${e.split(`@`)[1]}`}function K(e,t){return{name:e.name,description:e.description,resolvedName:t?.input_fields?.[e.name]?.alias||e.name,type:e.type,label:e.label,format:e.format}}const yu=`agent:run@1`,bu=`agent-run-v1`,xu=[{value:`web_researcher`,label:`Web researcher`,widgets:{emoji:{char:`🔎`}}}],Su={...ks(bu),"agent-run-v1-search-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.2},mode:`always`,note:`Billed per web search the agent performs.`},"agent-run-v1-extract-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.1},mode:`always`,note:`Billed per URL-extraction call the agent performs.`}},Cu=r.object({pipe_id:r.literal(yu),connector:C(),run_if:b(),config:r.object({agent_type:Xc({sectionKey:`general`,groupPath:`config.prompt`,path:`config.agent_type`,label:`Agent type`,defaultValue:`web_researcher`,options:[...xu],required:!0}),prompt:xc({sectionKey:`general`,path:`config.prompt`,placeholder:V(`prompt`),groupPath:`config.prompt`,supportedTags:[`input`,`output`]}),model:Zc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:Su})})}),wu=class extends B{pipeId=yu;payload;payloadSchema=Cu;billableOperations=Su;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[...Ss(this.payload.config.model),`parallel`]}estimateBillableOperations(e){return[...js(e,{model:this.payload.config.model,prefix:bu,inputTokens:2e4,outputTokens:1500}),{billableOperation:`agent-run-v1-search-parallel`,quantity:e.count*4},{billableOperation:`agent-run-v1-extract-parallel`,quantity:e.count*1}]}getInputRequirement(){return lu([this.payload.config.prompt.template])}getSecretRequirements(){return H([this.payload.config.prompt.template])}getConstantRequirements(){return uu([this.payload.config.prompt.template])}getRawOutputFields(){let e=this.payload.config.prompt.template,t=this.payload.config.prompt.json_schemas??{},n={},r;try{r=Fo(e)}catch{return n}for(let e of r.outputs){let r=e.type;if(r===`json`){let i=e.schemaRef?t[e.schemaRef]:void 0;n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:{zodSchema:i,exampleValue:null},format:null,isCatalogFIeld:!1,isPrimaryOutput:!1}}else n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:null,format:e.format??null,isCatalogFIeld:!1,isPrimaryOutput:!1}}return n}getConnectionsRequirements(){return[...Cs(this.payload.config.model),{provider:`parallel`,rateLimitRatio:4,rateLimitOperation:`parallel_search_base`,allowManagedConnection:!0},{provider:`parallel`,rateLimitRatio:1,rateLimitOperation:`parallel_extract`,allowManagedConnection:!0}]}},Tu=Cu,Eu={pipeId:yu,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(yu),label:`AI agent`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,description:`Runs an AI research agent with web tools and structured output fields.`,guide:`AI agent with tools. Like prompt:run@1, inputs and outputs are fully dynamic — defined by the tags in the prompt template — but the agent can call tools before answering. The agent type decides the toolset: web_researcher gets web search and URL extraction, for questions model knowledge alone can't answer ('has {{ company_name }} ever raised money?', 'find the general counsel of {{ company_name }}'). Every tool call is billed on top of tokens, so when no live research is needed, use prompt:run@1 instead. Fields the agent cannot ground in evidence come back as no_result, not a guess.`,tags:[U.AI],keywords:[`research`,`web search`,`llm`,`gpt`,`chatgpt`,`browse`,`tools`],docPath:G(yu),defaultInputRequirement:null,billableOperations:Su,allowedUserConnectionProviders:[...ws(),`parallel`],managedProviders:[...ws(),`parallel`],deprecatedProviders:[],defaultPayload:{pipe_id:yu,connector:null,run_if:null,config:{agent_type:`web_researcher`,model:`google-low`,prompt:{template:``,json_schemas:{}}}}};function q(e,...t){return t.map(t=>({billableOperation:t,quantity:e.count}))}function Du(e,t){return n=>{let r=e[n];if(!r)throw Error(`Missing billableOperation def for "${n}"`);return!r.allowManagedConnection||t?.(r.provider)?0:r.credits.default}}function Ou(e,t,n=`sum`){let r=e.map(e=>e.quantity*t(e.billableOperation));return r.length===0?0:n===`max`?Math.max(...r):r.reduce((e,t)=>e+t,0)}const ku=r.array(r.object({field_name:r.string(),entry_field:r.string().optional()})).check(e=>{let t=new Set;e.value.forEach((n,r)=>{n.field_name.length<1&&e.issues.push({code:`custom`,input:n.field_name,path:[r,`field_name`],message:`Map every bucket field to a row column.`});let i=n.entry_field?.trim()||n.field_name;i&&t.has(i)&&e.issues.push({code:`custom`,input:i,path:[r,`entry_field`],message:`Duplicate bucket field "${i}".`}),i&&t.add(i)})}).check(e=>{e.value.length<1&&e.issues.push({code:`custom`,input:e.value,message:`Map at least one field.`})}),Au=()=>r.string().nullable().default(``),ju=e=>({requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see bucket suggestions`),options:async({query:t,client:n})=>n?(await n.buckets.list({query:t,type:e})).map(e=>({label:e.name&&e.name!==e.slug?`${e.name} (${e.slug})`:e.slug,value:e.slug,data:{contract:e.contract,type:e.type}})):[],widgets:{provider_logo:{provider:`pipe0`}}}),Mu=e=>{let t=r.union([r.string(),r.array(r.string())]).check(e=>{(e.value===``||Array.isArray(e.value)&&e.value.length===0)&&e.issues.push({code:`custom`,input:e.value,message:`Required`})}),n={type:`context_select_input`,label:`Bucket`,info:`Pick an existing bucket (its identifying fields appear below for mapping), or type a new slug and choose Create — the new bucket's schema is built from the columns you pick and written on first run (requires 'Allow bucket creation').`,groupPath:`config.general`,sectionKey:`general`,path:`config.bucket`,required:!0,allowCreate:!0,placeholder:`Select or create a bucket…`,optionsDef:ju(e),options:[],mappingPath:`config.entry_fields`,contractPath:`config.contract`,keyLabel:`Bucket field`},i=e=>{let t=e.validationContext,r=t?Object.entries(t.fieldDefinitions).filter(([e])=>e.toLowerCase()!==`id`).map(([e,t])=>({value:e,label:e,widgets:{field_type:{type:t.type}}})):[];return{...n,fieldOptions:r}};return i.staticMeta=n,_.add(t,i),t},Nu={on_own_entry:[{value:`proceed`,label:`Proceed (at-least-once)`},{value:`block`,label:`Block (at-most-once)`}],on_missing:[{value:`proceed`,label:`Treat as part of the entry`},{value:`block`,label:`Skip the row`}]},Pu=()=>Jc({label:`New bucket: name`,path:`config.new_bucket_name`,groupPath:`config.bucket_creation`,sectionKey:`general`,inputType:`text`,placeholder:`CRM contacts`,maxLength:120}).nullable().default(``),Fu=()=>({new_bucket_name:Pu(),new_bucket_ttl_in_seconds:$c({label:`New bucket: TTL (seconds)`,description:`Claims expire after this many seconds. Empty = never.`,path:`config.new_bucket_ttl_in_seconds`,groupPath:`config.bucket_creation`,sectionKey:`general`,min:1}).nullable().default(null),new_bucket_own_entry_behavior:Xc({label:`New bucket: own entry re-claimed`,description:`What happens when a row re-claims an entry it already wrote.`,path:`config.new_bucket_own_entry_behavior`,groupPath:`config.bucket_creation`,sectionKey:`general`,required:!1,options:Nu.on_own_entry}).default(`block`),new_bucket_missing_value_behavior:Xc({label:`New bucket: missing values`,description:`Proceed treats missing values as part of the entry; Block skips the row.`,path:`config.new_bucket_missing_value_behavior`,groupPath:`config.bucket_creation`,sectionKey:`general`,required:!1,options:Nu.on_missing}).default(`proceed`)}),Iu=()=>({new_bucket_name:Pu(),new_bucket_start:$c({label:`New bucket: start`,description:`First number the counter assigns.`,path:`config.new_bucket_start`,groupPath:`config.bucket_creation`,sectionKey:`general`}).nullable().default(1),new_bucket_step:$c({label:`New bucket: step`,description:`Increment between assigned numbers.`,path:`config.new_bucket_step`,groupPath:`config.bucket_creation`,sectionKey:`general`,min:1}).nullable().default(1)}),Lu={provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0};function Ru(e){let t=ot(e.contract),n=e.entry_fields??[],r=[lu([$e(e.bucket)],{expectedType:`string`,expectedFormat:`text`})],i=n.map(e=>{let{column:n,bucketField:r}=Ze(e),i=t?.input_fields[r]?.type;return z({name:n,resolvedName:n,label:``,description:``,type:i?()=>i:e=>cu(e,n)?.type||`unknown`,format:null})});return i.length>0&&r.push(Xl(...i)),Yl(...r)}function zu(e){return H([$e(e.bucket)])}function Bu(e){return uu([$e(e.bucket)])}const Vu=`bucket:check@1`,Hu=h(`found_in_bucket`),Uu=r.object({pipe_id:r.literal(Vu),connector:S(),run_if:b(),config:r.object({bucket:Mu(`claim`),entry_fields:ku,contract:Au(),output_fields:F(r.object({[Hu.name]:O({fieldName:Hu.name})}))})}),Wu={"bucket-check-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Gu=class extends B{pipeId=Vu;payload;payloadSchema=Uu;billableOperations=Wu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-check-v1-pipe0`)}getInputRequirement(){return Ru(this.payload.config)}getSecretRequirements(){return zu(this.payload.config)}getConstantRequirements(){return Bu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`claim`,schema:ot(this.payload.config.contract),allowCreation:!1}]}getRawOutputFields(){return{[Hu.name]:this.catalogOutput(Hu)}}getConnectionsRequirements(){return[Lu]}},Ku=Uu,qu={pipeId:Vu,basePipe:W(Vu),label:`Check`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Look up an entry in an existing claim bucket WITHOUT writing. Present → no_result (e.g. suppressed); absent → completed. For suppression / do-not-contact / already-seen gates.`,guide:`Consult a claim bucket read-only before an action — the canonical suppression / do-not-contact gate. Map the identifying field(s) via entry_fields. If the entry is PRESENT (and live) the pipe resolves no_result, skipping downstream pipes (the send/append is suppressed); if ABSENT it completes and downstream runs. Unlike bucket:claim@1 this NEVER writes or creates — the list is curated elsewhere (a bucket:claim@1 writer, an import, or the Assets tab), so readers can't corrupt it. Missing values follow the bucket's on_missing policy: 'proceed' looks up the entry with those values stored as empty (the mirror of what bucket:claim@1 wrote for a row missing the same fields); 'block' resolves no_result; a row where EVERY identifying value is missing is always skipped. Requires an existing claim bucket. FREE pipe0 operation; requires a pipe0 connection.`,docPath:G(Vu),tags:[U.FIELDS],keywords:[`suppression`,`do not contact`,`blocklist`,`lookup`,`exclude`,`gate`,`dedupe`],billableOperations:Wu,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Vu,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,output_fields:{found_in_bucket:{alias:``,enabled:!0}}}}},Ju=`bucket:claim@1`,Yu=h(`is_claim_successful`),Xu=r.object({pipe_id:r.literal(Ju),connector:S(),run_if:b(),config:r.object({bucket:Mu(`claim`),entry_fields:ku,contract:Au(),...Fu(),allow_bucket_creation:D({label:`Allow bucket creation`,description:`Create the bucket (typed as a claim bucket from this pipe's fields) on first write if it does not already exist. Off by default.`,defaultValue:!1,groupPath:`config.general`,path:`config.allow_bucket_creation`,sectionKey:`general`}),output_fields:F(r.object({[Yu.name]:O({fieldName:Yu.name})}))})}),Zu={"bucket-claim-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Qu=class extends B{pipeId=Ju;payload;payloadSchema=Xu;billableOperations=Zu;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-claim-v1-pipe0`)}getInputRequirement(){return Ru(this.payload.config)}getSecretRequirements(){return zu(this.payload.config)}getConstantRequirements(){return Bu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`claim`,schema:ot(this.payload.config.contract),allowCreation:this.payload.config.allow_bucket_creation??!1}]}getRawOutputFields(){return{[Yu.name]:this.catalogOutput(Yu)}}getConnectionsRequirements(){return[Lu]}},$u=Xu,ed={pipeId:Ju,basePipe:W(Ju),label:`Claim`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Claim an entry in a bucket (write-if-absent). Wins (is_claim_successful: true) or finds the entry already taken (no_result). Put this before a write pipe to guard against duplicates across sheets, runs, and time.`,guide:`Claim an identity in a claim bucket before an irreversible action (an append, a send). Map the identifying field(s) via entry_fields (bucket field → row column alias); the bucket's slug is org-unique. If is_claim_successful:true this row is the first to write this entry — let the guarded pipe run on it. If the entry already exists the pipe resolves no_result, which SKIPS every downstream pipe depending on this output — so a duplicate never reaches the writer. Dedup (no TTL), time gates (bucket TTL), suppression (populate here, consult with bucket:check@1) and idempotent writes are all this one op. Behavior lives on the bucket, not the pipe: ttl_seconds (an expired entry can be claimed again — a frequency gate), on_own_entry ('proceed' = the row that wrote an entry re-claims it successfully on re-runs, at-least-once; 'block' = it can't, at-most-once — the default), and on_missing. Missing values follow on_missing: 'proceed' stores them as empty (null) parts of the entry, so rows missing the same fields dedupe against each other while ('Tom','t@t.com') stays distinct from (null,'t@t.com'); 'block' resolves no_result; a row where EVERY identifying value is missing is always skipped. allow_bucket_creation (default off) creates the bucket, typed from the mapped fields, on first write; the new_bucket_* settings (name, TTL, own-entry, missing-value policy) configure ONLY that newly created bucket and are ignored when it already exists — an existing bucket's policy is edited in the dash, not from a pipe. FREE pipe0 operation; requires a pipe0 connection (list_connections).`,docPath:G(Ju),tags:[U.FIELDS],keywords:[`dedupe`,`deduplicate`,`duplicate`,`guard`,`reserve`,`idempotent`,`lock`],billableOperations:Zu,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Ju,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,new_bucket_name:``,new_bucket_ttl_in_seconds:null,new_bucket_own_entry_behavior:`block`,new_bucket_missing_value_behavior:`proceed`,allow_bucket_creation:!1,output_fields:{is_claim_successful:{alias:``,enabled:!0}}}}},td=`bucket:count@1`,nd=h(`bucket_counter`),rd=r.object({pipe_id:r.literal(td),connector:S(),run_if:b(),config:r.object({bucket:Mu(`counter`),entry_fields:ku,contract:Au(),...Iu(),allow_bucket_creation:D({label:`Allow bucket creation`,description:`Create the bucket (typed as a counter bucket from this pipe's fields) on first write if it does not already exist. Off by default.`,defaultValue:!1,groupPath:`config.general`,path:`config.allow_bucket_creation`,sectionKey:`general`}),output_fields:F(r.object({[nd.name]:O({fieldName:nd.name})}))})}),id={"bucket-count-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},ad=class extends B{pipeId=td;payload;payloadSchema=rd;billableOperations=id;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`bucket-count-v1-pipe0`)}getInputRequirement(){return Ru(this.payload.config)}getSecretRequirements(){return zu(this.payload.config)}getConstantRequirements(){return Bu(this.payload.config)}getBucketRequirements(){let e=$e(this.payload.config.bucket);return!e||e.includes(`{{`)?[]:[{slug:e,type:`counter`,schema:ot(this.payload.config.contract),allowCreation:this.payload.config.allow_bucket_creation??!1}]}getRawOutputFields(){return{[nd.name]:this.catalogOutput(nd)}}getConnectionsRequirements(){return[Lu]}},od=rd,sd={pipeId:td,basePipe:W(td),label:`Count`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Assign the next sequence number to an entry in a counter bucket, exactly once (a re-run returns the same number). The building block for round-robin lead routing.`,guide:`Give each unique entry its own stable number from a counter bucket. Map the identifying field(s) via entry_fields (bucket field → row column alias). A NEW entry takes the next number (bucket.start, then +step); an entry that already has a number returns that SAME number on every re-run — so assignments are stable and re-run-safe. Compose round-robin routing: a sellers sheet + this counter + (seller_index = (value - 1) mod seller_count) + a row lookup by that ordinal. Behavior (start, step) lives on the bucket. A row with ANY missing identifying value gets no number (no_result) — counters have no missing-value policy. allow_bucket_creation (default off) creates the counter bucket on first write; new_bucket_start/new_bucket_step configure ONLY that newly created bucket and are ignored when it already exists. FREE pipe0 operation; requires a pipe0 connection.`,docPath:G(td),tags:[U.FIELDS],keywords:[`counter`,`sequence`,`increment`,`numbering`,`bucket`],billableOperations:id,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:td,connector:{strategy:`first`,connections:[]},run_if:null,config:{bucket:``,entry_fields:[],contract:``,new_bucket_name:``,new_bucket_start:1,new_bucket_step:1,allow_bucket_creation:!1,output_fields:{bucket_counter:{alias:``,enabled:!0}}}}},cd=`company:domain:workemail@1`,ld=h(`company_domain`),ud=h(`work_email`),dd=r.object({pipe_id:r.literal(cd),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[ud.name]:T({fieldName:ud.name})})),output_fields:F(r.object({[ld.name]:O({fieldName:ld.name})}))}).optional()}),fd=e=>z(K(ud,e)),pd={"company-domain-workemail-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,mode:`always`,provider:`pipe0`}},md=class extends B{pipeId=cd;payload;payloadSchema=dd;billableOperations=pd;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-domain-workemail-v1-pipe0`)}getInputRequirement(){return fd(this.payload.config)}getRawOutputFields(){return{[ld.name]:this.catalogOutput(ld)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},hd=dd,gd={pipeId:cd,basePipe:W(cd),inputFieldMode:`static`,outputFieldMode:`static`,label:`Website from email`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Extract the company website URL from a work email address.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WEBSITE],keywords:[`url`,`extract`,`site`,`web address`],docPath:G(cd),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:pd,defaultInputRequirement:fd(null),defaultPayload:{pipe_id:cd,connector:null,run_if:null,config:{input_fields:{[ud.name]:{alias:``}},output_fields:{[ld.name]:{alias:``,enabled:!0}}}}},_d=`company:funding:leadmagic@2`,vd=h(`company_name`),yd=h(`company_domain`),bd=h(`funding_history`),xd=h(`funding_total_usd`),Sd=h(`leadmagic_competitor_list`),Cd=h(`leadmagic_acquisition_history`),wd=h(`leadmagic_company_news_list`),Td=r.object({pipe_id:r.literal(_d),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[vd.name]:T({fieldName:vd.name}),[yd.name]:T({fieldName:yd.name})})),output_fields:F(r.object({[bd.name]:O({fieldName:bd.name}),[xd.name]:O({fieldName:xd.name}),[Sd.name]:O({fieldName:Sd.name}),[Cd.name]:O({fieldName:Cd.name}),[wd.name]:O({fieldName:wd.name})}))}).optional()}),Ed=e=>Xl(K(vd,e),K(yd,e)),Dd={"company-funding-leadmagic-v2-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},Od=class extends B{pipeId=_d;payload;payloadSchema=Td;billableOperations=Dd;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`leadmagic`]}estimateBillableOperations(e){return q(e,`company-funding-leadmagic-v2-leadmagic`)}getInputRequirement(){return Ed(this.payload.config)}getRawOutputFields(){return{[bd.name]:this.catalogOutput(bd),[xd.name]:this.catalogOutput(xd),[Cd.name]:this.catalogOutput(Cd),[wd.name]:this.catalogOutput(wd),[Sd.name]:this.catalogOutput(Sd)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitRatio:1,rateLimitOperation:`leadmagic_company_funding`,allowManagedConnection:!0}]}},kd=Td,Ad={pipeId:_d,basePipe:W(_d),label:`Funding history`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Information on funding rounds, acquisition, competitors, and investors.`,tags:[U.FINANCIAL_DATA],keywords:[`investors`,`rounds`,`raised`,`acquisition`,`venture`,`series`,`capital`],docPath:G(_d),billableOperations:Dd,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`leadmagic`],managedProviders:[`leadmagic`],deprecatedProviders:[],defaultInputRequirement:Ed(null),defaultPayload:{pipe_id:_d,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``},company_domain:{alias:``}},output_fields:{funding_history:{enabled:!0,alias:``},funding_total_usd:{enabled:!0,alias:``},leadmagic_acquisition_history:{enabled:!1,alias:``},leadmagic_company_news_list:{enabled:!1,alias:``},leadmagic_competitor_list:{enabled:!1,alias:``}}}}};function jd(e){return(e.widgets||{}).display_value?.label}function Md(e){console.dir(e,{depth:100})}function Nd(e){return typeof e==`object`&&e?JSON.stringify(e):e}function J(e){return e===0?1:e===1?.3:e===2?.2:.1}function Pd(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;let t={};return Object.keys(e).sort().forEach(n=>{t[n]=Pd(e[n])}),t}const Fd={string:[`address_line_1`,`email`,`url`,`website_url`,`markdown`,`zip_code`,`date`,`datetime`,`phone`,`text`,`profile_url`],json:[`json_object`,`json_list`],number:[`int`,`decimal`],boolean:[],unknown:[]};function Y(e,t){let n=Object.entries(t).filter(([t,n])=>n.provider===e);if(n.length!==1)throw Error(`Found ${n.length} billing operations for provider ${e}. This is not allowed. There must be exactly 1 billing operation per provider.`);let[r,i]=n[0];return{billableOperation:r,billableOperationDef:i}}const Id=`company:funding:waterfall@1`,Ld=h(`company_name`),Rd=h(`company_domain`),zd=h(`funding_history`),Bd=h(`funding_total_usd`),Vd=[`amplemarket`,`leadmagic`],Hd=[{provider:`amplemarket`},{provider:`leadmagic`}],Ud={"company-funding-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:1.5},mode:`onSuccess`},"company-funding-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},Wd=r.object({pipe_id:r.literal(Id),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:Vd,defaultProviders:Hd,sectionKey:`general`,providerCredits:du(Ud,Vd)}),input_fields:I(r.object({[Ld.name]:T({fieldName:Ld.name}),[Rd.name]:T({fieldName:Rd.name})})),output_fields:F(r.object({[zd.name]:O({fieldName:zd.name}),[Bd.name]:O({fieldName:Bd.name})}))}).optional()}),Gd=e=>Xl(K(Ld,e),K(Rd,e)),Kd=class extends B{pipeId=Id;payload;payloadSchema=Wd;billableOperations=Ud;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Gd(this.payload.config)}getRawOutputFields(){return{[zd.name]:this.catalogOutput(zd,{isPrimaryOutput:!0}),[Bd.name]:this.catalogOutput(Bd)}}getConnectionsRequirements(){let e={amplemarket:`amplemarket_generic`,leadmagic:`leadmagic_company_funding`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},qd=Wd,Jd={pipeId:Id,basePipe:W(Id),label:`Funding history`,executionMode:`waterfall`,categories:[`company_data`],lifecycle:null,description:`Funding rounds, investors, and total funding in a waterfall motion.`,tags:[U.FINANCIAL_DATA,U.WATERFALL],keywords:[`investors`,`rounds`,`raised`,`venture`,`series`,`capital`,`fallback`],docPath:G(Id),managedProviders:Vd,deprecatedProviders:[],allowedUserConnectionProviders:Vd,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Ud,defaultInputRequirement:Gd(null),defaultPayload:{pipe_id:Id,connector:null,run_if:null,config:{providers:Hd,input_fields:{company_name:{alias:``},company_domain:{alias:``}},output_fields:{funding_history:{alias:``,enabled:!0},funding_total_usd:{alias:``,enabled:!0}}}}},Yd=h(`company_name`),Xd=h(`company_profile_url`),Zd=h(`company_domain`),Qd=h(`cleaned_company_name`),$d=`company:identity@3`,ef=r.object({pipe_id:r.literal($d),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Yd.name]:T({fieldName:Yd.name})})),output_fields:F(r.object({[Xd.name]:O({fieldName:Xd.name}),[Qd.name]:O({fieldName:Qd.name}),[Zd.name]:O({fieldName:Zd.name})}))}).optional()}),tf=e=>z(K(Yd,e)),nf={"company-identity-v3-pipe0":{allowManagedConnection:!0,credits:{default:.3,level1:{credits:.2,weight:1}},mode:`always`,provider:`pipe0`}},rf=class extends B{pipeId=$d;payload;payloadSchema=ef;billableOperations=nf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v3-pipe0`)}getInputRequirement(){return tf(this.payload.config)}getRawOutputFields(){return{[Xd.name]:this.catalogOutput(Xd),[Zd.name]:this.catalogOutput(Zd),[Qd.name]:this.catalogOutput(Qd)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},af=ef,of={pipeId:$d,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W($d),label:`Company identity`,executionMode:`mix`,categories:[`company_data`],lifecycle:null,description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`website`,`linkedin`,`url`,`domain`,`resolve`,`normalize`],docPath:G($d),billableOperations:nf,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:tf(null),defaultPayload:{pipe_id:$d,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_domain:{alias:``,enabled:!0}}}}},sf=h(`company_domain`),cf=h(`company_name`),lf=h(`crustdata_company_identity_matches`),uf=`company:identity:crustdata@1`,df=r.object({pipe_id:r.literal(uf),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[sf.name]:T({fieldName:sf.name}),[cf.name]:T({fieldName:cf.name})})),output_fields:F(r.object({[lf.name]:O({fieldName:lf.name})}))}).optional()}),ff=e=>Xl(K(sf,e),K(cf,e)),pf={"company-identity-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:.001},mode:`onSuccess`,provider:`crustdata`}},mf=class extends B{pipeId=uf;payload;payloadSchema=df;billableOperations=pf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-identity-crustdata-v1-crustdata`)}getInputRequirement(){return ff(this.payload.config)}getRawOutputFields(){return{[lf.name]:this.catalogOutput(lf)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_identify`,allowManagedConnection:!0}]}},hf=df,gf={pipeId:uf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(uf),label:`Company identity`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Resolve a company to Crustdata's matching candidates by domain or name. Returns the full list of matches.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`website`,`linkedin`,`url`,`domain`,`resolve`,`match`,`candidates`],docPath:G(uf),billableOperations:pf,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:ff(null),defaultPayload:{pipe_id:uf,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``},company_name:{alias:``}},output_fields:{crustdata_company_identity_matches:{alias:``,enabled:!0}}}}},_f=h(`company_domain`),vf=h(`companyenrich_matches`),yf=`company:lookalikes:companyenrich@2`,bf=r.object({pipe_id:r.literal(yf),run_if:b(),connector:C(),config:r.object({limit:$c({groupPath:`config.general`,max:50,min:1,path:`config.limit`,sectionKey:`general`,info:`Define how many lookalikes you want to find.`,label:`Limit`}),input_fields:I(r.object({[_f.name]:T({fieldName:_f.name})})),output_fields:F(r.object({[vf.name]:O({fieldName:vf.name})}))}).optional()}),xf=e=>z(K(_f,e)),Sf={"company-lookalikes-companyenrich-v2-companyenrich":{allowManagedConnection:!0,credits:{default:.2,level1:{credits:.1,weight:1}},mode:`onSuccess`,note:`One billing event per result.`,provider:`companyenrich`}},Cf=class extends B{pipeId=yf;payload;payloadSchema=bf;billableOperations=Sf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`companyenrich`]}estimateBillableOperations(e){return[{billableOperation:`company-lookalikes-companyenrich-v2-companyenrich`,quantity:e.count*5}]}getInputRequirement(){return xf(this.payload.config)}getRawOutputFields(){return{[vf.name]:this.catalogOutput(vf)}}getConnectionsRequirements(){return[{provider:`companyenrich`,rateLimitRatio:1,rateLimitOperation:`company_enrich_generic`,allowManagedConnection:!0}]}},wf=bf,Tf={pipeId:yf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(yf),label:`Find company lookalikes`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find companies similar to the company you provide as input.`,tags:[U.COMPANY_PROFILES],keywords:[`similar`,`competitors`,`comparable`,`peers`,`alike`,`related`],docPath:G(yf),billableOperations:Sf,allowedUserConnectionProviders:[`companyenrich`],managedProviders:[`companyenrich`],deprecatedProviders:[],defaultInputRequirement:xf(null),defaultPayload:{pipe_id:yf,connector:null,run_if:null,config:{limit:20,input_fields:{company_domain:{alias:``}},output_fields:{companyenrich_matches:{alias:``,enabled:!0}}}}},Ef=h(`company_domain`),Df=h(`crustdata_companyenrich_match`),Of=`company:match:crustdata@2`,kf=r.object({pipe_id:r.literal(Of),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[Ef.name]:T({fieldName:Ef.name})})),output_fields:F(r.object({[Df.name]:O({fieldName:Df.name})}))}).optional()}),Af=e=>z(K(Ef,e)),jf={"company-match-crustdata-v2-crustdata":{allowManagedConnection:!0,credits:{default:2.5,level1:{credits:1.2,weight:1}},mode:`onSuccess`,provider:`crustdata`}},Mf=class extends B{pipeId=Of;payload;payloadSchema=kf;billableOperations=jf;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-match-crustdata-v2-crustdata`)}getInputRequirement(){return Af(this.payload.config)}getRawOutputFields(){return{[Df.name]:this.catalogOutput(Df)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_enrich`,allowManagedConnection:!0}]}},Nf=kf,Pf={pipeId:Of,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Of),label:`Company match`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Company data like headcount distribution, LinkedIn URLs etc. via the Crustdata API.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`enrich`,`headcount`,`employees`,`linkedin`,`firmographics`,`profile`],docPath:G(Of),billableOperations:jf,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:Af(null),defaultPayload:{pipe_id:Of,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{crustdata_companyenrich_match:{alias:``,enabled:!0}}}}},X={MissingSecretError:class extends Error{constructor({providerName:e}){super(`Missing secret for ${e}`)}},HttpError:class extends Error{constructor({msg:e}){super(e)}}},Ff=[{label:`Contact`,value:`0-1`},{label:`Company`,value:`0-2`},{label:`Deal`,value:`0-3`},{label:`Ticket`,value:`0-5`},{label:`Note`,value:`0-46`},{label:`Task`,value:`0-27`},{label:`Call`,value:`0-48`},{label:`Meeting`,value:`0-47`},{label:`Email`,value:`0-49`}],If={note:`0-46`,task:`0-27`,call:`0-48`,meeting:`0-47`,email:`0-49`},Lf=e=>{let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Zl({name:e,resolvedName:e,label:e,description:``,type:t=>cu(t,e)?.type||`string`,format:`text`}))};async function Rf(e,t){let n=await fetch(`https://api.hubapi.com${t}`,{headers:{Authorization:`Bearer ${e}`},signal:AbortSignal.timeout(1e4)});if(!n.ok)throw new X.HttpError({msg:await n.text()});return await n.json()}function zf(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(n))}const Bf=e=>({requires:{connection:`hubspot`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · Sales pipeline`,value:`sandbox-pipeline-1`},{label:`Demo · Renewals`,value:`sandbox-pipeline-2`}];if(!n)throw new X.MissingSecretError({providerName:`hubspot`});return zf((await Rf(n,`/crm/v3/pipelines/${encodeURIComponent(e)}`)).results.map(e=>({label:e.label,value:e.id})),t)},widgets:{provider_logo:{provider:`hubspot`}}}),Vf={requires:{connection:`hubspot`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return zf([...Ff,{label:`Demo · Domain map (custom)`,value:`2-000001`}],e);if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let r=[];try{r=(await Rf(t,`/crm-object-schemas/v3/schemas`)).results.map(e=>({label:`${e.labels?.singular||e.name} (custom)`,value:e.objectTypeId}))}catch{r=[]}return zf([...Ff,...r],e)},widgets:{provider_logo:{provider:`hubspot`}}},Hf={requires:{connection:`hubspot`,fields:[`config.from_object_type`,`config.to_object_type`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`Primary`,value:`1`},{label:`Demo · Decision maker`,value:`35`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let i=n?.config,a=i?.from_object_type,o=i?.to_object_type;return!a||!o?[]:zf((await Rf(t,`/crm/v4/associations/${encodeURIComponent(a)}/${encodeURIComponent(o)}/labels`)).results.map(e=>({label:e.label||`Unlabeled (${e.category.toLowerCase().replace(`_`,` `)})`,value:String(e.typeId)})),e)},widgets:{provider_logo:{provider:`hubspot`}}},Uf={requires:{connection:`hubspot`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Ada Lovelace (ada@example.com)`,value:`1001`},{label:`Demo · Alan Turing (alan@example.com)`,value:`1002`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});return zf((await Rf(t,`/crm/v3/owners?limit=500`)).results.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `)+(e.email?` (${e.email})`:``),value:e.id})),e)},widgets:{provider_logo:{provider:`hubspot`}}},Wf=(e,t)=>({requires:{connection:`hubspot`},options:async({query:n,secret:r,environment:i})=>{if(i===`sandbox`)return[{label:`Demo · Lead`,value:`lead`},{label:`Demo · Customer`,value:`customer`},{label:`Demo · Custom stage`,value:`12345678`}];if(!r)throw new X.MissingSecretError({providerName:`hubspot`});return zf(((await Rf(r,`/crm/v3/properties/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).options??[]).filter(e=>!e.hidden).map(e=>({label:e.label,value:e.value})),n)},widgets:{provider_logo:{provider:`hubspot`}}}),Gf={requires:{connection:`hubspot`,fields:[`config.filters.pipeline`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · Qualified (Sales pipeline)`,value:`qualifiedtobuy`},{label:`Demo · Closed won (Sales pipeline)`,value:`closedwon`}];if(!t)throw new X.MissingSecretError({providerName:`hubspot`});let i=(n?.config)?.filters?.pipeline,a=Array.isArray(i)?i[0]:i,o=await Rf(t,`/crm/v3/pipelines/deals`);return zf((a?o.results.filter(e=>e.id===a):o.results).flatMap(e=>e.stages.map(t=>({label:`${t.label} (${e.label})`,value:t.id}))),e)},widgets:{provider_logo:{provider:`hubspot`}}};async function Kf(e,{objectTypes:t,includePipelinesFor:n=[],writableOnly:r=!1}){if(e.environment===`sandbox`)return{summary:[`Sandbox HubSpot portal (demo data — property names below are examples, real portals differ):`,`- contacts: email, firstname, lastname, lifecyclestage (options: subscriber, lead, customer, demo_stage_1), hubspot_owner_id, custom_score`,`- companies: name, domain, industry, numberofemployees, hubspot_owner_id`,`- deals: dealname, pipeline, dealstage, amount, closedate`,`Call this tool against a production connection to get the portal's real properties.`].join(`
69
+ `)};let i=e.connectionSecrets.hubspot;if(!i)return null;let a={},o=[];for(let[e,n]of t){let t=(await Rf(i,`/crm/v3/properties/${encodeURIComponent(n)}`)).results.filter(e=>!r||!(e.calculated||e.modificationMetadata?.readOnlyValue)).map(e=>({name:e.name,label:e.label,type:e.type,options:e.options?.filter(e=>!e.hidden).slice(0,50).map(e=>({label:e.label,value:e.value}))??void 0,read_only:!!(e.calculated||e.modificationMetadata?.readOnlyValue)}));a[e]=t;let s=t.filter(e=>e.options?.length);o.push(`${e} (${n}): ${t.length} properties${r?` (writable only)`:``}. Enumerations with portal-specific option values: ${s.map(e=>e.name).join(`, `)||`none`}.`)}let s={};for(let e of n){let t=await Rf(i,`/crm/v3/pipelines/${encodeURIComponent(e)}`);s[e]=t.results.map(e=>({id:e.id,label:e.label,stages:e.stages.map(e=>({id:e.id,label:e.label}))})),o.push(`Pipelines for ${e}: ${t.results.map(e=>`${e.label} (${e.id}) with stages ${e.stages.map(e=>`${e.label}=${e.id}`).join(`, `)}`).join(`; `)}.`)}return n.length>0&&(a.pipelines=s),o.push(`Use internal property names and enumeration option VALUES verbatim (labels differ). Values in filters are case-sensitive.`),{summary:o.join(`
70
+ `),data:a}}const qf=h(`company_domain`),Jf=h(`hubspot_companies_found_count`),Yf=h(`hubspot_object_id`),Xf=h(`hubspot_company_matches`),Zf=`company:match:hubspot@1`,Qf=r.object({pipe_id:r.literal(Zf),run_if:b(),connector:S(),config:r.object({check_additional_domains:D({sectionKey:`general`,defaultValue:!0,label:`Also match secondary domains`,groupPath:`config.general`,path:`config.check_additional_domains`,info:"Also match companies whose `hs_additional_domains` contains the domain (primary-domain matches still rank first)."}),custom_properties:zc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`industry`,info:"Added to the match JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),input_fields:I(r.object({[qf.name]:T({fieldName:qf.name})})),output_fields:F(r.object({[Jf.name]:O({fieldName:Jf.name}),[Yf.name]:O({fieldName:Yf.name}),[Xf.name]:O({fieldName:Xf.name})}))}).optional()}),$f=e=>z(K(qf,e)),ep={"company-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},tp=class extends B{pipeId=Zf;payload;payloadSchema=Qf;billableOperations=ep;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`company-match-hubspot-v1-hubspot`)}getInputRequirement(){return $f(this.payload.config)}getRawOutputFields(){return{[Jf.name]:this.catalogOutput(Jf),[Yf.name]:this.catalogOutput(Yf),[Xf.name]:this.catalogOutput(Xf)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Kf(e,{objectTypes:[[`companies`,`0-2`]]})}},np=Qf,rp={pipeId:Zf,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Zf),label:`HubSpot company match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a company exists in your HubSpot portal by domain. Domain is HubSpot's dedupe key but not unique — 0..N matches are normal; the primary match is the oldest record.`,tags:[U.WEBSITE],keywords:[`crm`,`lookup`,`exists`,`dedupe`,`record`,`account`],docPath:G(Zf),guide:`Domain matching uses the HubSpot Search API — records created in the last few moments may not be indexed yet. Multiple matches are normal (branches, franchises); the count output tells you. found_count = 0 is a successful result — gate follow-ups with run_if. Chain the id output into deal:match, object:update, or object:associations pipes.`,billableOperations:ep,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:$f(null),defaultPayload:{pipe_id:Zf,connector:{strategy:`first`,connections:[]},run_if:null,config:{check_additional_domains:!0,custom_properties:[],input_fields:{company_domain:{alias:``}},output_fields:{hubspot_companies_found_count:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_company_matches:{alias:``,enabled:!0}}}}},ip=h(`company_domain`),ap=h(`company_name`),op=h(`company_profile_url`),sp=h(`logodev_describe_match`),cp=h(`logo_url`),lp=`company:match:logodev@2`,up=r.object({pipe_id:r.literal(lp),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[ip.name]:T({fieldName:ip.name})})),output_fields:F(r.object({[op.name]:O({fieldName:op.name}),[cp.name]:O({fieldName:cp.name}),[ap.name]:O({fieldName:ap.name}),[sp.name]:O({fieldName:sp.name})}))}).optional()}),dp=e=>z(K(ip,e)),fp={"company-match-logodev-v2-logodev":{allowManagedConnection:!0,credits:{default:.1},mode:`onSuccess`,provider:`logodev`}},pp=class extends B{pipeId=lp;payload;payloadSchema=up;billableOperations=fp;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`logodev`]}estimateBillableOperations(e){return q(e,`company-match-logodev-v2-logodev`)}getInputRequirement(){return dp(this.payload.config)}getRawOutputFields(){return{[op.name]:this.catalogOutput(op),[ap.name]:this.catalogOutput(ap),[cp.name]:this.catalogOutput(cp),[sp.name]:this.catalogOutput(sp)}}getConnectionsRequirements(){return[{provider:`logodev`,rateLimitRatio:1,rateLimitOperation:`logodev_describe`,allowManagedConnection:!0}]}},mp=up,hp={pipeId:lp,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(lp),label:`Company match`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find brand data like logos, colors, and social links via the Logo.dev API.`,tags:[U.WEBSITE,U.LINKEDIN],keywords:[`logo`,`brand`,`branding`,`colors`,`social`,`icon`],docPath:G(lp),billableOperations:fp,allowedUserConnectionProviders:[`logodev`],managedProviders:[`logodev`],deprecatedProviders:[],defaultInputRequirement:dp(null),defaultPayload:{pipe_id:lp,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{company_profile_url:{alias:``,enabled:!0},logo_url:{alias:``,enabled:!0},logodev_describe_match:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},gp=`company:newssummary:domain@1`,_p=h(`company_news_summary`),vp=h(`company_domain`),yp=r.object({pipe_id:r.literal(gp),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[vp.name]:T({fieldName:vp.name})})),output_fields:F(r.object({[_p.name]:O({fieldName:_p.name})}))}).optional()}),bp=e=>z(K(vp,e)),xp={"company-newssummary-domain-v1-pipe0":{allowManagedConnection:!0,credits:{default:2},mode:`always`,provider:`pipe0`}},Sp=class extends B{pipeId=gp;payloadSchema=yp;billableOperations=xp;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-newssummary-domain-v1-pipe0`)}getInputRequirement(){return bp(this.payload.config)}getRawOutputFields(){return{[_p.name]:this.catalogOutput(_p)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitRatio:4,rateLimitOperation:`parallel_search_base`,allowManagedConnection:!0},{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0}]}},Cp=yp,wp={pipeId:gp,basePipe:W(gp),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company news`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`Find recent company news by performing a search and scrape.`,tags:[U.NEWS],keywords:[`press`,`articles`,`headlines`,`media`,`summary`,`updates`],docPath:G(gp),billableOperations:xp,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:bp(null),defaultPayload:{pipe_id:gp,run_if:null,connector:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{company_news_summary:{alias:``,enabled:!0}}}}},Tp=h(`company_domain`),Ep=h(`company_profile_url`),Dp=h(`company_description`),Op=h(`company_industry`),kp=h(`company_region`),Ap=h(`headcount`),jp=h(`estimated_revenue`),Mp=h(`founded_year`),Np=h(`company_name`),Pp=`company:overview@3`,Fp=r.object({pipe_id:r.literal(Pp),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Tp.name]:T({fieldName:Tp.name}),[Ep.name]:T({fieldName:Ep.name})})),output_fields:F(r.object({[Dp.name]:O({fieldName:Dp.name}),[Op.name]:O({fieldName:Op.name}),[kp.name]:O({fieldName:kp.name}),[Ap.name]:O({fieldName:Ap.name}),[jp.name]:O({fieldName:jp.name}),[Mp.name]:O({fieldName:Mp.name}),[Np.name]:O({fieldName:Np.name})}))}).optional()}),Ip=e=>Xl(K(Tp,e),K(Ep,e)),Lp={"company-overview-v3-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`always`}},Rp=class extends B{pipeId=Pp;payloadSchema=Fp;billableOperations=Lp;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v3-pipe0`)}getInputRequirement(){return Ip(this.payload.config)}getRawOutputFields(){return{[Dp.name]:this.catalogOutput(Dp),[Op.name]:this.catalogOutput(Op),[kp.name]:this.catalogOutput(kp),[Ap.name]:this.catalogOutput(Ap),[jp.name]:this.catalogOutput(jp),[Mp.name]:this.catalogOutput(Mp),[Np.name]:this.catalogOutput(Np)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},zp=Fp,Bp={pipeId:Pp,basePipe:W(Pp),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`company_data`],lifecycle:null,description:`Business description, industry, and financial information.`,docPath:G(Pp),tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA],keywords:[`enrich`,`firmographics`,`industry`,`profile`,`about`,`financials`,`revenue`],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:Lp,defaultInputRequirement:Ip(null),defaultPayload:{pipe_id:Pp,run_if:null,connector:void 0,config:{input_fields:{company_profile_url:{alias:``},company_domain:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},Vp=h(`company_domain`),Hp=h(`technology_list`),Up=h(`spending_trend`),Wp=h(`technology_match_builtwith`),Gp=`company:techstack:builtwith@2`,Kp=r.object({pipe_id:r.literal(Gp),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[Vp.name]:T({fieldName:Vp.name})})),output_fields:F(r.object({[Hp.name]:O({fieldName:Hp.name}),[Wp.name]:O({fieldName:Wp.name}),[Up.name]:O({fieldName:Up.name})}))}).optional()}),qp=e=>z(K(Vp,e)),Jp={"company-techstack-builtwith-v2-builtwith":{provider:`builtwith`,allowManagedConnection:!0,credits:{default:2},mode:`always`}},Yp=class extends B{pipeId=Gp;payload;payloadSchema=Kp;billableOperations=Jp;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`builtwith`]}estimateBillableOperations(e){return q(e,`company-techstack-builtwith-v2-builtwith`)}getInputRequirement(){return qp(this.payload.config)}getRawOutputFields(){return{[Hp.name]:this.catalogOutput(Hp),[Wp.name]:this.catalogOutput(Wp),[Up.name]:this.catalogOutput(Up)}}getConnectionsRequirements(){return[{provider:`builtwith`,rateLimitRatio:1,rateLimitOperation:`builtwith_generic`,allowManagedConnection:!0}]}},Xp=Kp,Zp={pipeId:Gp,basePipe:W(Gp),managedProviders:[`builtwith`],deprecatedProviders:[],allowedUserConnectionProviders:[`builtwith`],label:`Tech stack`,executionMode:`single`,categories:[`company_data`],lifecycle:null,description:`All technologies and frameworks powering a given website.`,tags:[U.WEBSITE],keywords:[`technologies`,`technographics`,`software`,`frameworks`,`website`,`tools`],inputFieldMode:`static`,outputFieldMode:`static`,docPath:G(Gp),billableOperations:Jp,defaultInputRequirement:qp(null),defaultPayload:{pipe_id:Gp,connector:null,run_if:null,config:{input_fields:{company_domain:{alias:``}},output_fields:{technology_list:{alias:``,enabled:!0},technology_match_builtwith:{alias:``,enabled:!0},spending_trend:{alias:``,enabled:!0}}}}},Qp=`contact:create:resend@1`,$p={"contact-create-resend-v1-resend":{allowManagedConnection:!1,provider:`resend`,credits:null,mode:null}},em=h(`email`),tm=h(`name`),nm=h(`resend_contact_id`),rm=[{label:`Demo subscribers`,value:`sandbox-segment-1`},{label:`Demo product updates`,value:`sandbox-segment-2`}],im=r.object({pipe_id:r.literal(Qp),connector:S(),run_if:b(),config:r.object({segment_id:nl({sectionKey:`general`,required:!0,label:`Segment`,groupPath:`config.general`,path:`config.segment_id`,info:``,enabledIf:g(`resend`),optionsDef:{requires:{connection:`resend`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return rm;if(!t)throw new X.MissingSecretError({providerName:`resend`});let r=await fetch(`https://api.resend.com/segments?limit=100`,{headers:{Authorization:`Bearer ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=(await r.json()).data.map(e=>({label:e.name,value:e.id}));return e?i.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):i}}}),add_as_subscribed:D({sectionKey:`general`,defaultValue:!0,label:`Add as subscribed`,groupPath:`config.general`,path:`config.add_as_subscribed`,info:``}),input_fields:I(r.object({[tm.name]:T({fieldName:tm.name}),[em.name]:T({fieldName:em.name})})),output_fields:F(r.object({[nm.name]:O({fieldName:nm.name})}))})}),am=e=>Yl(z(K(em,e)),z(K(tm,e))),om=class extends B{pipeId=Qp;payload;payloadSchema=im;billableOperations=$p;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`resend`]}estimateBillableOperations(e){return q(e,`contact-create-resend-v1-resend`)}getInputRequirement(){return am(this.payload.config)}getRawOutputFields(){return{[nm.name]:this.catalogOutput(nm)}}getConnectionsRequirements(){return[{provider:`resend`,rateLimitRatio:1,rateLimitOperation:`resend_generic`,allowManagedConnection:!1}]}},sm=im,cm={pipeId:Qp,basePipe:W(Qp),label:`Create Contact`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Create a contact inside a Resend audience.`,tags:[U.EMAIL],keywords:[`audience`,`subscriber`,`add`,`mailing list`,`newsletter`,`email list`],docPath:G(Qp),billableOperations:$p,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`resend`],defaultInputRequirement:am(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:Qp,connector:{strategy:`first`,connections:[]},run_if:null,config:{segment_id:``,add_as_subscribed:!0,input_fields:{name:{alias:``},email:{alias:``}},output_fields:{resend_contact_id:{alias:``,enabled:!0}}}}},lm=h(`email`),um=h(`hubspot_contact_found`),dm=h(`hubspot_object_id`),fm=h(`hubspot_contact_match`),pm=`contact:match:hubspot@1`,mm=r.object({pipe_id:r.literal(pm),run_if:b(),connector:S(),config:r.object({check_additional_emails:D({sectionKey:`general`,defaultValue:!0,label:`Also match secondary emails`,groupPath:`config.general`,path:`config.check_additional_emails`,info:"When the primary-email lookup misses, also search `hs_additional_emails`. Uses the portal's shared 5 req/s search budget."}),custom_properties:zc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`lifecyclestage`,info:'HubSpot internal property names to include in the match output (e.g. `lifecyclestage`, not "Lifecycle Stage"). Custom properties work too and nest under `custom_properties`. Empty = a standard identity set.'}),input_fields:I(r.object({[lm.name]:T({fieldName:lm.name})})),output_fields:F(r.object({[um.name]:O({fieldName:um.name}),[dm.name]:O({fieldName:dm.name}),[fm.name]:O({fieldName:fm.name})}))}).optional()}),hm=e=>z(K(lm,e)),gm={"contact-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},_m=class extends B{pipeId=pm;payload;payloadSchema=mm;billableOperations=gm;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`contact-match-hubspot-v1-hubspot`)}getInputRequirement(){return hm(this.payload.config)}getRawOutputFields(){return{[um.name]:this.catalogOutput(um),[dm.name]:this.catalogOutput(dm),[fm.name]:this.catalogOutput(fm)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Kf(e,{objectTypes:[[`contacts`,`0-1`]]})}},vm=mm,ym={pipeId:pm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(pm),label:`HubSpot contact match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a contact exists in your HubSpot portal by email. Matches the primary email exactly (and optionally secondary emails); a clean miss completes with found = false.`,tags:[U.EMAIL],keywords:[`crm`,`lookup`,`exists`,`dedupe`,`record`,`person`],docPath:G(pm),guide:"Call get_provider_context first to discover this portal's properties; use internal property names verbatim (e.g. `lifecyclestage`). The match by email is exact (HubSpot's own contact dedupe key). found = false is a successful result — gate follow-up pipes with run_if on it. Chain the id output into object:update:hubspot@1 or object:associations:hubspot@1.",billableOperations:gm,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:hm(null),defaultPayload:{pipe_id:pm,connector:{strategy:`first`,connections:[]},run_if:null,config:{check_additional_emails:!0,custom_properties:[],input_fields:{email:{alias:``}},output_fields:{hubspot_contact_found:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_contact_match:{alias:``,enabled:!0}}}}},bm=h(`company_domain`),xm=h(`email`),Sm=h(`hubspot_deals_found_count`),Cm=h(`hubspot_object_id`),wm=h(`hubspot_deal_matches`),Tm=`deal:match:hubspot@1`,Em=r.object({pipe_id:r.literal(Tm),run_if:b(),connector:S(),config:r.object({pipeline:nl({sectionKey:`general`,required:!1,label:`Pipeline`,groupPath:`config.general`,path:`config.pipeline`,info:`Only match deals in this pipeline. Empty = all pipelines.`,enabledIf:g(`hubspot`),optionsDef:Bf(`deals`)}),status:Xc({sectionKey:`general`,required:!1,label:`Deal status`,groupPath:`config.general`,path:`config.status`,description:`Filters on HubSpot's computed hs_is_closed / hs_is_closed_won — portal-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),custom_properties:zc({sectionKey:`general`,label:`Custom properties`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`amount`,info:"Added to the match JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),input_fields:I(r.object({[bm.name]:T({fieldName:bm.name}),[xm.name]:T({fieldName:xm.name})})),output_fields:F(r.object({[Sm.name]:O({fieldName:Sm.name}),[Cm.name]:O({fieldName:Cm.name}),[wm.name]:O({fieldName:wm.name})}))}).optional()}),Dm=e=>Xl(z(K(bm,e)),z(K(xm,e))),Om={"deal-match-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},km=class extends B{pipeId=Tm;payload;payloadSchema=Em;billableOperations=Om;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`deal-match-hubspot-v1-hubspot`)}getInputRequirement(){return Dm(this.payload.config)}getRawOutputFields(){return{[Sm.name]:this.catalogOutput(Sm),[Cm.name]:this.catalogOutput(Cm),[wm.name]:this.catalogOutput(wm)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_crm_search`,allowManagedConnection:!1}]}async getAgentContext(e){return Kf(e,{objectTypes:[[`deals`,`0-3`]],includePipelinesFor:[`deals`]})}},Am=Em,jm={pipeId:Tm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Tm),label:`HubSpot deal match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find deals in your HubSpot portal for a company (by domain) or contact (by email) via HubSpot's association graph — deals have no natural key of their own.`,tags:[U.WEBSITE,U.EMAIL],keywords:[`crm`,`opportunity`,`lookup`,`exists`,`association`,`pipeline`],docPath:G(Tm),guide:`Deals are found via associations from the matched company (preferred when both inputs are present) or contact — never by dealname. Stage ids outside the default pipeline are numeric; call get_provider_context for this portal's pipelines and stage ids. found_count = 0 is a successful result.`,billableOperations:Om,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Dm(null),defaultPayload:{pipe_id:Tm,connector:{strategy:`first`,connections:[]},run_if:null,config:{pipeline:``,status:`any`,custom_properties:[],input_fields:{company_domain:{alias:``},email:{alias:``}},output_fields:{hubspot_deals_found_count:{alias:``,enabled:!0},hubspot_object_id:{alias:``,enabled:!0},hubspot_deal_matches:{alias:``,enabled:!0}}}}},Mm=`company:funding:leadmagic@1`,Nm=h(`company_name`),Pm=h(`company_website_url`),Fm=h(`funding_history`),Im=h(`funding_total_usd`),Lm=h(`leadmagic_competitor_list`),Rm=h(`leadmagic_acquisition_history`),zm=h(`leadmagic_company_news_list`),Bm=r.object({pipe_id:r.literal(Mm),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[Nm.name]:T({fieldName:Nm.name}),[Pm.name]:T({fieldName:Pm.name})})),output_fields:F(r.object({[Fm.name]:O({fieldName:Fm.name}),[Im.name]:O({fieldName:Im.name}),[Lm.name]:O({fieldName:Lm.name}),[Rm.name]:O({fieldName:Rm.name}),[zm.name]:O({fieldName:zm.name})}))}).optional()}),Vm=e=>Xl(K(Nm,e),K(Pm,e)),Hm={"company-funding-leadmagic-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},Um=class extends B{pipeId=Mm;payload;payloadSchema=Bm;billableOperations=Hm;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`leadmagic`]}estimateBillableOperations(e){return q(e,`company-funding-leadmagic-v1-leadmagic`)}getInputRequirement(){return Vm(this.payload.config)}getRawOutputFields(){return{[Fm.name]:this.catalogOutput(Fm),[Im.name]:this.catalogOutput(Im)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitRatio:1,rateLimitOperation:`leadmagic_company_funding`,allowManagedConnection:!0}]}},Wm=Bm,Gm={pipeId:Mm,basePipe:W(Mm),label:`Funding history`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:funding:leadmagic@2`},description:`Information on funding rounds, acquisition, competitors, and investors.`,tags:[U.FINANCIAL_DATA],docPath:G(Mm),billableOperations:Hm,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`leadmagic`],managedProviders:[`leadmagic`],deprecatedProviders:[],defaultInputRequirement:Vm(null),defaultPayload:{pipe_id:Mm,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``},company_website_url:{alias:``}},output_fields:{funding_history:{enabled:!0,alias:``},funding_total_usd:{enabled:!0,alias:``},leadmagic_acquisition_history:{enabled:!1,alias:``},leadmagic_company_news_list:{enabled:!1,alias:``},leadmagic_competitor_list:{enabled:!1,alias:``}}}}},Km=h(`company_name`),qm=h(`company_social_url`),Jm=h(`company_website_url`),Ym=h(`cleaned_company_name`),Xm=`company:identity@1`,Zm=r.object({pipe_id:r.literal(Xm),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Km.name]:T({fieldName:Km.name})})),output_fields:F(r.object({[qm.name]:O({fieldName:qm.name}),[Ym.name]:O({fieldName:Ym.name}),[Jm.name]:O({fieldName:Jm.name})}))}).optional()}),Qm=e=>z(K(Km,e)),$m={"company-identity-v1-pipe0":{allowManagedConnection:!0,credits:{default:.3},mode:`always`,provider:`pipe0`}},eh=class extends B{pipeId=Xm;payload;payloadSchema=Zm;billableOperations=$m;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v1-pipe0`)}getInputRequirement(){return Qm(this.payload.config)}getRawOutputFields(){return{[qm.name]:this.catalogOutput(qm),[Jm.name]:this.catalogOutput(Jm),[Ym.name]:this.catalogOutput(Ym)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},th=Zm,nh={pipeId:Xm,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Xm),label:`Company identity`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@2`},description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:`/resources/pipe-catalog/company:identity/1`,billableOperations:$m,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:Qm(null),defaultPayload:{pipe_id:Xm,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_social_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},rh=h(`company_name`),ih=h(`company_profile_url`),ah=h(`company_website_url`),oh=h(`cleaned_company_name`),sh=`company:identity@2`,ch=r.object({pipe_id:r.literal(sh),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[rh.name]:T({fieldName:rh.name})})),output_fields:F(r.object({[ih.name]:O({fieldName:ih.name}),[oh.name]:O({fieldName:oh.name}),[ah.name]:O({fieldName:ah.name})}))}).optional()}),lh=e=>z(K(rh,e)),uh={"company-identity-v2-pipe0":{allowManagedConnection:!0,credits:{default:.3},mode:`always`,provider:`pipe0`}},dh=class extends B{pipeId=sh;payload;payloadSchema=ch;billableOperations=uh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-identity-v2-pipe0`)}getInputRequirement(){return lh(this.payload.config)}getRawOutputFields(){return{[ih.name]:this.catalogOutput(ih),[ah.name]:this.catalogOutput(ah),[oh.name]:this.catalogOutput(oh)}}getConnectionsRequirements(){return[{provider:`gemini`,rateLimitRatio:1,rateLimitOperation:`gemini_35_flash`,allowManagedConnection:!0},{provider:`serper`,rateLimitRatio:2,rateLimitOperation:`serper_search`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_company_search`,allowManagedConnection:!0},{provider:`perplexity`,rateLimitRatio:.2,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`pipe0`,rateLimitRatio:.02,rateLimitOperation:`pipe0_scraper`,allowManagedConnection:!0}]}},fh=ch,ph={pipeId:sh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(sh),label:`Company identity`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@3`},description:`Find any company's website URL, LinkedIn profile URL, and cleaned name.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(sh),billableOperations:uh,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:lh(null),defaultPayload:{pipe_id:sh,connector:null,run_if:null,config:{input_fields:{company_name:{alias:``}},output_fields:{cleaned_company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},mh=h(`company_website_url`),hh=h(`companyenrich_matches`),gh=`company:lookalikes:companyenrich@1`,_h=r.object({pipe_id:r.literal(gh),run_if:b(),connector:C(),config:r.object({limit:$c({groupPath:`config.general`,max:50,min:1,path:`config.limit`,sectionKey:`general`,info:`Define how many lookalikes you want to find.`,label:`Limit`}),input_fields:I(r.object({[mh.name]:T({fieldName:mh.name})})),output_fields:F(r.object({[hh.name]:O({fieldName:hh.name})}))}).optional()}),vh=e=>z(K(mh,e)),yh={"company-lookalikes-companyenrich-v1-companyenrich":{allowManagedConnection:!0,credits:{default:.2},mode:`onSuccess`,note:`One billing event per result.`,provider:`companyenrich`}},bh=class extends B{pipeId=gh;payload;payloadSchema=_h;billableOperations=yh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`companyenrich`]}estimateBillableOperations(e){return[{billableOperation:`company-lookalikes-companyenrich-v1-companyenrich`,quantity:e.count*5}]}getInputRequirement(){return vh(this.payload.config)}getRawOutputFields(){return{[hh.name]:this.catalogOutput(hh)}}getConnectionsRequirements(){return[{provider:`companyenrich`,rateLimitRatio:1,rateLimitOperation:`company_enrich_generic`,allowManagedConnection:!0}]}},xh=_h,Sh={pipeId:gh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(gh),label:`Find company lookalikes`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:lookalikes:companyenrich@2`},description:`Find companies similar to the company you provide as input.`,tags:[U.COMPANY_PROFILES],docPath:G(gh),billableOperations:yh,allowedUserConnectionProviders:[`companyenrich`],managedProviders:[`companyenrich`],deprecatedProviders:[],defaultInputRequirement:vh(null),defaultPayload:{pipe_id:gh,connector:null,run_if:null,config:{limit:20,input_fields:{company_website_url:{alias:``}},output_fields:{companyenrich_matches:{alias:``,enabled:!0}}}}},Ch=h(`company_website_url`),wh=h(`crustdata_companyenrich_match`),Th=`company:match:crustdata@1`,Eh=r.object({pipe_id:r.literal(Th),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[Ch.name]:T({fieldName:Ch.name})})),output_fields:F(r.object({[wh.name]:O({fieldName:wh.name})}))}).optional()}),Dh=e=>z(K(Ch,e)),Oh={"company-match-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`,provider:`crustdata`}},kh=class extends B{pipeId=Th;payload;payloadSchema=Eh;billableOperations=Oh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`company-match-crustdata-v1-crustdata`)}getInputRequirement(){return Dh(this.payload.config)}getRawOutputFields(){return{[wh.name]:this.catalogOutput(wh)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_company_enrich`,allowManagedConnection:!0}]}},Ah=Eh,jh={pipeId:Th,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Th),label:`Company match`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:match:crustdata@2`},description:`Company data like headcount distribution, LinkedIn URLs etc. via the Crustdata API.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(Th),billableOperations:Oh,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:Dh(null),defaultPayload:{pipe_id:Th,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{crustdata_companyenrich_match:{alias:``,enabled:!0}}}}},Mh=h(`company_website_url`),Nh=h(`company_name`),Ph=h(`company_profile_url`),Fh=h(`logodev_describe_match`),Ih=h(`logo_url`),Lh=`company:match:logodev@1`,Rh=r.object({pipe_id:r.literal(Lh),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[Mh.name]:T({fieldName:Mh.name})})),output_fields:F(r.object({[Ph.name]:O({fieldName:Ph.name}),[Ih.name]:O({fieldName:Ih.name}),[Nh.name]:O({fieldName:Nh.name}),[Fh.name]:O({fieldName:Fh.name})}))}).optional()}),zh=e=>z(K(Mh,e)),Bh={"company-match-logodev-v1-logodev":{allowManagedConnection:!0,credits:{default:.1},mode:`onSuccess`,provider:`logodev`}},Vh=class extends B{pipeId=Lh;payload;payloadSchema=Rh;billableOperations=Bh;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`logodev`]}estimateBillableOperations(e){return q(e,`company-match-logodev-v1-logodev`)}getInputRequirement(){return zh(this.payload.config)}getRawOutputFields(){return{[Ph.name]:this.catalogOutput(Ph),[Nh.name]:this.catalogOutput(Nh),[Ih.name]:this.catalogOutput(Ih),[Fh.name]:this.catalogOutput(Fh)}}getConnectionsRequirements(){return[{provider:`logodev`,rateLimitRatio:1,rateLimitOperation:`logodev_describe`,allowManagedConnection:!0}]}},Hh=Rh,Uh={pipeId:Lh,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Lh),label:`Company match`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:match:logodev@2`},description:`Find brand data like logos, colors, and social links via the Logo.dev API.`,tags:[U.WEBSITE,U.LINKEDIN],docPath:G(Lh),billableOperations:Bh,allowedUserConnectionProviders:[`logodev`],managedProviders:[`logodev`],deprecatedProviders:[],defaultInputRequirement:zh(null),defaultPayload:{pipe_id:Lh,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{company_profile_url:{alias:``,enabled:!0},logo_url:{alias:``,enabled:!0},logodev_describe_match:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},Wh=`company:newssummary:website@1`,Gh=h(`company_news_summary`),Kh=h(`company_website_url`),qh=r.object({pipe_id:r.literal(Wh),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[Kh.name]:T({fieldName:Kh.name})})),output_fields:F(r.object({[Gh.name]:O({fieldName:Gh.name})}))}).optional()}),Jh=e=>z(K(Kh,e)),Yh={"company-newssummary-website-v1-pipe0":{allowManagedConnection:!0,credits:{default:1},mode:`always`,provider:`pipe0`}},Xh=class extends B{pipeId=Wh;payloadSchema=qh;billableOperations=Yh;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-newssummary-website-v1-pipe0`)}getInputRequirement(){return Jh(this.payload.config)}getRawOutputFields(){return{[Gh.name]:this.catalogOutput(Gh)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0}]}},Zh=qh,Qh={pipeId:Wh,basePipe:W(Wh),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company news`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:newssummary:domain@1`},description:`Find recent company news by performing a search and scrape.`,tags:[U.NEWS],docPath:G(Wh),billableOperations:Yh,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:Jh(null),defaultPayload:{pipe_id:Wh,run_if:null,connector:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{company_news_summary:{alias:``,enabled:!0}}}}},$h=h(`company_website_url`),eg=h(`company_social_url`),tg=h(`company_description`),ng=h(`company_industry`),rg=h(`company_region`),ig=h(`headcount`),ag=h(`estimated_revenue`),og=h(`founded_year`),sg=`company:overview@1`,cg=r.object({pipe_id:r.literal(sg),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[$h.name]:T({fieldName:$h.name}),[eg.name]:T({fieldName:eg.name})})),output_fields:F(r.object({[tg.name]:O({fieldName:tg.name}),[ng.name]:O({fieldName:ng.name}),[rg.name]:O({fieldName:rg.name}),[ig.name]:O({fieldName:ig.name}),[ag.name]:O({fieldName:ag.name}),[og.name]:O({fieldName:og.name})}))}).optional()}),lg=e=>Xl(K($h,e),K(eg,e)),ug={"company-overview-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1},mode:`always`}},dg=class extends B{pipeId=sg;payloadSchema=cg;billableOperations=ug;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v1-pipe0`)}getInputRequirement(){return lg(this.payload.config)}getRawOutputFields(){return{[tg.name]:this.catalogOutput(tg),[ng.name]:this.catalogOutput(ng),[rg.name]:this.catalogOutput(rg),[ig.name]:this.catalogOutput(ig),[ag.name]:this.catalogOutput(ag),[og.name]:this.catalogOutput(og)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},fg=cg,pg={pipeId:sg,basePipe:W(sg),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:identity@2`},description:`Find high-level business and financial information like company description, estimated revenue, and headcount.`,docPath:`/resources/pipe-catalog/company:overview/1`,tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA,U.DEPRECATED],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:ug,defaultInputRequirement:lg(null),defaultPayload:{pipe_id:sg,run_if:null,connector:void 0,config:{input_fields:{company_social_url:{alias:``},company_website_url:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0}}}}},mg=h(`company_website_url`),hg=h(`company_profile_url`),gg=h(`company_description`),_g=h(`company_industry`),vg=h(`company_region`),yg=h(`headcount`),bg=h(`estimated_revenue`),xg=h(`founded_year`),Sg=h(`company_name`),Cg=`company:overview@2`,wg=r.object({pipe_id:r.literal(Cg),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[mg.name]:T({fieldName:mg.name}),[hg.name]:T({fieldName:hg.name})})),output_fields:F(r.object({[gg.name]:O({fieldName:gg.name}),[_g.name]:O({fieldName:_g.name}),[vg.name]:O({fieldName:vg.name}),[yg.name]:O({fieldName:yg.name}),[bg.name]:O({fieldName:bg.name}),[xg.name]:O({fieldName:xg.name}),[Sg.name]:O({fieldName:Sg.name})}))}).optional()}),Tg=e=>Xl(K(mg,e),K(hg,e)),Eg={"company-overview-v2-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:1},mode:`always`}},Dg=class extends B{pipeId=Cg;payloadSchema=wg;billableOperations=Eg;payload;constructor(e){super(),this.payload=e}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-overview-v2-pipe0`)}getInputRequirement(){return Tg(this.payload.config)}getRawOutputFields(){return{[gg.name]:this.catalogOutput(gg),[_g.name]:this.catalogOutput(_g),[vg.name]:this.catalogOutput(vg),[yg.name]:this.catalogOutput(yg),[bg.name]:this.catalogOutput(bg),[xg.name]:this.catalogOutput(xg),[Sg.name]:this.catalogOutput(Sg)}}getConnectionsRequirements(){return[{provider:`perplexity`,rateLimitRatio:1,rateLimitOperation:`perplexity_generic`,allowManagedConnection:!0},{provider:`leadmagic`,rateLimitRatio:.2,rateLimitOperation:`leadmagic_email_lookup`,allowManagedConnection:!0},{provider:`gemini`,rateLimitOperation:`gemini_20_flash`,rateLimitRatio:.1,allowManagedConnection:!0}]}},Og=wg,kg={pipeId:Cg,basePipe:W(Cg),inputFieldMode:`static`,outputFieldMode:`static`,label:`Company overview`,executionMode:`mix`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:overview@3`},description:`Business description, industry, and financial information.`,docPath:G(Cg),tags:[U.WEBSITE,U.LINKEDIN,U.FINANCIAL_DATA],allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:Eg,defaultInputRequirement:Tg(null),defaultPayload:{pipe_id:Cg,run_if:null,connector:void 0,config:{input_fields:{company_profile_url:{alias:``},company_website_url:{alias:``}},output_fields:{company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0},estimated_revenue:{alias:``,enabled:!0},founded_year:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_name:{alias:``,enabled:!1}}}}},Ag=h(`company_website_url`),jg=h(`technology_list`),Mg=h(`spending_trend`),Ng=h(`technology_match_builtwith`),Pg=`company:techstack:builtwith@1`,Fg=r.object({pipe_id:r.literal(Pg),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[Ag.name]:T({fieldName:Ag.name})})),output_fields:F(r.object({[jg.name]:O({fieldName:jg.name}),[Ng.name]:O({fieldName:Ng.name}),[Mg.name]:O({fieldName:Mg.name})}))}).optional()}),Ig=e=>z(K(Ag,e)),Lg={"company-techstack-builtwith-v1-builtwith":{provider:`builtwith`,allowManagedConnection:!0,credits:{default:2},mode:`always`}},Rg=class extends B{pipeId=Pg;payload;payloadSchema=Fg;billableOperations=Lg;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`builtwith`]}estimateBillableOperations(e){return q(e,`company-techstack-builtwith-v1-builtwith`)}getInputRequirement(){return Ig(this.payload.config)}getRawOutputFields(){return{[jg.name]:this.catalogOutput(jg),[Ng.name]:this.catalogOutput(Ng),[Mg.name]:this.catalogOutput(Mg)}}getConnectionsRequirements(){return[{provider:`builtwith`,rateLimitRatio:1,rateLimitOperation:`builtwith_generic`,allowManagedConnection:!0}]}},zg=Fg,Bg={pipeId:Pg,basePipe:W(Pg),managedProviders:[`builtwith`],deprecatedProviders:[],allowedUserConnectionProviders:[`builtwith`],label:`Tech stack`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:techstack:builtwith@2`},description:`All technologies and frameworks powering a given website.`,tags:[U.WEBSITE],inputFieldMode:`static`,outputFieldMode:`static`,docPath:G(Pg),billableOperations:Lg,defaultInputRequirement:Ig(null),defaultPayload:{pipe_id:Pg,connector:null,run_if:null,config:{input_fields:{company_website_url:{alias:``}},output_fields:{technology_list:{alias:``,enabled:!0},technology_match_builtwith:{alias:``,enabled:!0},spending_trend:{alias:``,enabled:!0}}}}},Vg=`company:websiteurl:email@1`,Hg=h(`company_website_url`),Ug=h(`email`),Wg=r.object({pipe_id:r.literal(Vg),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Ug.name]:T({fieldName:Ug.name})})),output_fields:F(r.object({[Hg.name]:O({fieldName:Hg.name})}))}).optional()}),Gg=e=>z(K(Ug,e)),Kg={"company-websiteurl-email-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,mode:`always`,provider:`pipe0`}},qg=class extends B{pipeId=Vg;payload;payloadSchema=Wg;billableOperations=Kg;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`company-websiteurl-email-v1-pipe0`)}getInputRequirement(){return Gg(this.payload.config)}getRawOutputFields(){return{[Hg.name]:this.catalogOutput(Hg)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},Jg=Wg,Yg={pipeId:Vg,basePipe:W(Vg),inputFieldMode:`static`,outputFieldMode:`static`,label:`Website from email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`company:domain:workemail@1`},description:`Extract the company website URL from a work email address.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WEBSITE],docPath:G(Vg),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],billableOperations:Kg,defaultInputRequirement:Gg(null),defaultPayload:{pipe_id:Vg,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{company_website_url:{alias:``,enabled:!0}}}}},Xg=`people:email:iswork@1`,Zg=h(`is_work_email`),Qg=h(`email`),$g=r.object({pipe_id:r.literal(Xg),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Qg.name]:T({fieldName:Qg.name})})),output_fields:F(r.object({[Zg.name]:O({fieldName:Zg.name})}))}).optional()}),e_=e=>z(K(Qg,e)),t_={"people-email-iswork-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},n_=class extends B{pipeId=Xg;payload;payloadSchema=$g;billableOperations=t_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-email-iswork-v1-pipe0`)}getInputRequirement(){return e_(this.payload.config)}getRawOutputFields(){return{[Zg.name]:this.catalogOutput(Zg)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},r_=$g,i_={pipeId:Xg,label:`Work email checker`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`email:iswork@1`},description:`Check if a given email address is personal or professional.`,tags:[U.EMAIL,U.WORK_EMAIL],docPath:G(Xg),billableOperations:t_,basePipe:W(Xg),allowedUserConnectionProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:e_(null),defaultPayload:{pipe_id:Xg,run_if:null,connector:null,config:{input_fields:{email:{alias:``}},output_fields:{is_work_email:{alias:``,enabled:!0}}}}},a_=`people:email:validate:zerobounce@1`,o_=h(`work_email`),s_=h(`is_email_valid`),c_=r.object({pipe_id:r.literal(a_),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[o_.name]:T({fieldName:o_.name})})),output_fields:F(r.object({[s_.name]:O({fieldName:s_.name})}))}).optional()}),l_=e=>z(K(o_,e)),u_={"people-email-validate-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.3},mode:`always`}},d_=class extends B{pipeId=a_;payload;payloadSchema=c_;billableOperations=u_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-email-validate-zerobounce-v1-zerobounce`)}getInputRequirement(){return l_(this.payload.config)}getRawOutputFields(){return{[s_.name]:this.catalogOutput(s_)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},f_=c_,p_={pipeId:a_,basePipe:W(a_),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:email:validate:zerobounce@2`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:`/resources/pipe-catalog/people:email:validate:zerobounce/1`,billableOperations:u_,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:l_(null),defaultPayload:{pipe_id:a_,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{is_email_valid:{alias:``,enabled:!0}}}}},m_=`people:email:validate:zerobounce@2`,h_=h(`email`),g_=h(`zerobounce_validation_status`),__=h(`zerobounce_validation_match`),v_=r.object({pipe_id:r.literal(m_),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[h_.name]:T({fieldName:h_.name})})),output_fields:F(r.object({[__.name]:O({fieldName:__.name}),[g_.name]:O({fieldName:g_.name})}))}).optional()}),y_=e=>z(K(h_,e)),b_={"people-email-validate-zerobounce-v2-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.3},mode:`always`}},x_=class extends B{pipeId=m_;payload;payloadSchema=v_;billableOperations=b_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-email-validate-zerobounce-v2-zerobounce`)}getInputRequirement(){return y_(this.payload.config)}getRawOutputFields(){return{[g_.name]:this.catalogOutput(g_),[__.name]:this.catalogOutput(__)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},S_=v_,C_={pipeId:m_,basePipe:W(m_),label:`Validate email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`email:validate:zerobounce@1`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:G(m_),billableOperations:b_,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:y_(null),defaultPayload:{pipe_id:m_,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{zerobounce_validation_status:{alias:``,enabled:!0},zerobounce_validation_match:{alias:``,enabled:!0}}}}},w_=`people:identity:email:waterfall@1`,T_=h(`email`),E_=h(`company_website_url`),D_=h(`name`),O_=h(`job_title`),k_=h(`profile_url`),A_=h(`company_profile_url`),j_=h(`company_name`),M_=[`findymail`,`hunter`,`crustdata`],N_=[{provider:`findymail`},{provider:`hunter`},{provider:`crustdata`}],P_=r.object({pipe_id:r.literal(w_),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:M_,defaultProviders:N_,sectionKey:`general`}),input_fields:I(r.object({[T_.name]:T({fieldName:T_.name})})),output_fields:F(r.object({[D_.name]:O({fieldName:D_.name}),[k_.name]:O({fieldName:k_.name}),[O_.name]:O({fieldName:O_.name}),[E_.name]:O({fieldName:E_.name}),[j_.name]:O({fieldName:j_.name}),[A_.name]:O({fieldName:A_.name})}))}).optional()}),F_=e=>z(K(T_,e)),I_={"people-identity-email-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-identity-email-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-identity-email-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},L_=class extends B{pipeId=w_;payload;payloadSchema=P_;billableOperations=I_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return F_(this.payload.config)}getRawOutputFields(){return{[D_.name]:this.catalogOutput(D_,{isPrimaryOutput:!0}),[k_.name]:this.catalogOutput(k_,{isPrimaryOutput:!0}),[O_.name]:this.catalogOutput(O_,{isPrimaryOutput:!0}),[j_.name]:this.catalogOutput(j_,{isPrimaryOutput:!0}),[A_.name]:this.catalogOutput(A_,{isPrimaryOutput:!0}),[E_.name]:this.catalogOutput(E_,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={hunter:`prospeo_email_lookup`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},R_=P_,z_={pipeId:w_,basePipe:W(w_),label:`Person identity from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:identity:email:waterfall@1`},description:`Find identity of a person from their email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],docPath:G(w_),managedProviders:M_,deprecatedProviders:[],allowedUserConnectionProviders:M_,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:I_,defaultInputRequirement:F_(null),defaultPayload:{pipe_id:w_,connector:null,run_if:null,config:{providers:N_,input_fields:{email:{alias:``}},output_fields:{name:{alias:``,enabled:!0},profile_url:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0}}}}},B_=`people:match:role:waterfall@1`,V_=h(`company_website_url`),H_=h(`role_finder_match`),U_=[`leadmagic`],W_=[{provider:`leadmagic`}],G_=r.object({pipe_id:r.literal(B_),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:W_,availableProviders:U_}),roles:Bc({sectionKey:`general`,groupPath:`config.general`,label:`Roles`,path:`config.roles`,info:`Company roles to include`,maxItems:3,minItems:1}),input_fields:I(r.object({[V_.name]:T({fieldName:V_.name})})),output_fields:F(r.object({[H_.name]:O({fieldName:H_.name})}))})}),K_=e=>Xl(K(V_,e)),q_={"people-match-role-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},J_=class extends B{pipeId=B_;payload;payloadSchema=G_;billableOperations=q_;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return K_(this.payload.config)}getRawOutputFields(){return{[H_.name]:this.catalogOutput(H_,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_role_finder`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Y_=G_,X_={pipeId:B_,basePipe:W(B_),managedProviders:U_,deprecatedProviders:[],allowedUserConnectionProviders:U_,label:`Role finder`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:match:role:waterfall@1`},description:`Find role matches for a given companies like "CEO" or "CFO".`,tags:[U.PEOPLE_PROFILES],docPath:G(B_),billableOperations:q_,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:K_(null),defaultPayload:{pipe_id:B_,run_if:null,connector:null,config:{roles:[],providers:W_,input_fields:{company_website_url:{alias:``}},output_fields:{role_finder_match:{alias:``,enabled:!0}}}}},Z_=`people:mobilenumber:professionalprofile:waterfall@1`,Q_=h(`professional_profile_url`),$_=h(`mobile_number`),ev=[`leadmagic`,`prospeo`],tv=[{provider:`leadmagic`},{provider:`prospeo`}],nv=r.object({pipe_id:r.literal(Z_),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:tv,availableProviders:ev}),input_fields:I(r.object({[Q_.name]:T({fieldName:Q_.name})})),output_fields:F(r.object({[$_.name]:O({fieldName:$_.name})}))}).optional()}),rv=e=>z(K(Q_,e)),iv={"people-mobilenumber-professionalprofile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-mobilenumber-professionalprofile-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},av=class extends B{pipeId=Z_;payload;payloadSchema=nv;billableOperations=iv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return rv(this.payload.config)}getRawOutputFields(){return{[$_.name]:this.catalogOutput($_)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},ov=nv,sv={pipeId:Z_,basePipe:W(Z_),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:phone:profile:waterfall@1`},description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:`/resources/pipe-catalog/people:mobilenumber:professionalprofile:waterfall/1`,tags:[U.PHONE,U.WATERFALL],billableOperations:iv,defaultInputRequirement:rv(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:ev,deprecatedProviders:[],allowedUserConnectionProviders:ev,defaultPayload:{pipe_id:Z_,connector:null,run_if:null,config:{providers:tv,input_fields:{professional_profile_url:{alias:``}},output_fields:{mobile_number:{alias:``,enabled:!0}}}}},cv=`people:mobilenumber:workemail:waterfall@1`,lv=h(`work_email`),uv=h(`mobile_number`),dv=[`leadmagic`],fv=[{provider:`leadmagic`}],pv=r.object({pipe_id:r.literal(cv),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:dv,defaultProviders:fv}),input_fields:I(r.object({[lv.name]:T({fieldName:lv.name})})),output_fields:F(r.object({[uv.name]:O({fieldName:uv.name})}))}).optional()}),mv=e=>z(K(lv,e)),hv={"people-mobilenumber-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`}},gv=class extends B{pipeId=cv;payload;payloadSchema=pv;billableOperations=hv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers?.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return mv(this.payload.config)}getRawOutputFields(){return{[uv.name]:this.catalogOutput(uv)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},_v=pv,vv={pipeId:cv,basePipe:W(cv),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:phone:workemail:waterfall@1`},description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],docPath:`/resources/pipe-catalog/people:mobilenumber:workemail:waterfall/1`,billableOperations:hv,defaultInputRequirement:mv(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:dv,managedProviders:dv,deprecatedProviders:[],defaultPayload:{pipe_id:cv,connector:null,run_if:null,config:{providers:fv,input_fields:{work_email:{alias:``}},output_fields:{mobile_number:{alias:``,enabled:!0}}}}},yv=`people:name:split@1`,bv=h(`name`),xv=h(`first_name`),Sv=h(`last_name`),Cv=r.object({pipe_id:r.literal(yv),connector:wc(),run_if:b(),config:r.object({input_fields:I(r.object({[bv.name]:T({fieldName:bv.name})})),output_fields:F(r.object({[xv.name]:O({fieldName:xv.name}),[Sv.name]:O({fieldName:Sv.name})}))}).optional()}),wv=e=>z(K(bv,e)),Tv={"people-name-split-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Ev=class extends B{pipeId=yv;payload;payloadSchema=Cv;billableOperations=Tv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-name-split-v1-pipe0`)}getInputRequirement(){return wv(this.payload.config)}getRawOutputFields(){return{[xv.name]:this.catalogOutput(xv),[Sv.name]:this.catalogOutput(Sv)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},Dv=Cv,Ov={pipeId:yv,basePipe:W(yv),label:`Split name`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:name:split@1`},description:`Split a full name into first and last name.`,tags:[U.NAMES],docPath:G(yv),billableOperations:Tv,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:wv(null),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:yv,run_if:null,connector:void 0,config:{input_fields:{name:{alias:``}},output_fields:{first_name:{alias:``,enabled:!0},last_name:{alias:``,enabled:!0}}}}},kv=`people:personalemail:profile:waterfall@1`,Av=h(`profile_url`),jv=h(`personal_email`),Mv=h(`alternate_personal_emails`),Nv=[`clado`,`leadmagic`,`mixrank`],Pv=[{provider:`leadmagic`},{provider:`mixrank`}],Fv=r.object({pipe_id:r.literal(kv),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:Nv,defaultProviders:Pv}),input_fields:I(r.object({[Av.name]:T({fieldName:Av.name})})),output_fields:F(r.object({[jv.name]:O({fieldName:jv.name}),[Mv.name]:O({fieldName:Mv.name})}))}).optional()}),Iv=e=>z(K(Av,e)),Lv={"people-personalemail-profile-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:2},mode:`always`},"people-personalemail-profile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-personalemail-profile-waterfall-v1-mixrank":{provider:`mixrank`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},Rv=class extends B{pipeId=kv;payload;payloadSchema=Fv;billableOperations=Lv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Iv(this.payload.config)}getRawOutputFields(){return{[jv.name]:this.catalogOutput(jv,{isPrimaryOutput:!0}),[Mv.name]:this.catalogOutput(Mv)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_personal_email_finder`,clado:`clado_contact_information`,mixrank:`mixrank-person-match`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},zv=Fv,Bv={pipeId:kv,basePipe:W(kv),allowedUserConnectionProviders:Nv,managedProviders:Nv,deprecatedProviders:[`clado`],label:`Personal email from LinkedIn`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:personalemail:profileurl:waterfall@1`},description:`Find the personal email address of a prospect by using a professional profile URL as input.`,tags:[U.EMAIL,U.PERSONAL_EMAIL],docPath:G(kv),billableOperations:Lv,defaultInputRequirement:Iv(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:kv,connector:null,run_if:null,config:{providers:Pv,input_fields:{profile_url:{alias:``}},output_fields:{personal_email:{alias:``,enabled:!0},alternate_personal_emails:{alias:``,enabled:!0}}}}},Vv=`people:phone:profile:waterfall@1`,Hv=h(`profile_url`),Uv=h(`mobile`),Wv=[`leadmagic`,`prospeo`,`amplemarket`,`findymail`,`clado`],Gv=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`findymail`}],Kv=r.object({pipe_id:r.literal(Vv),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:Gv,availableProviders:Wv}),input_fields:I(r.object({[Hv.name]:T({fieldName:Hv.name})})),output_fields:F(r.object({[Uv.name]:O({fieldName:Uv.name})}))}).optional()}),qv=e=>z(K(Hv,e)),Jv={"people-phone-profile-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-phone-profile-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`},"people-phone-profile-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`},"people-phone-profile-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:6},mode:`onSuccess`},"people-phone-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4},mode:`onSuccess`}},Yv=class extends B{pipeId=Vv;payload;payloadSchema=Kv;billableOperations=Jv;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return qv(this.payload.config)}getRawOutputFields(){return{[Uv.name]:this.catalogOutput(Uv,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`,findymail:`findymail_phone_lookup`,clado:`clado_contact_information`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Xv=Kv,Zv={pipeId:Vv,basePipe:W(Vv),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:mobile:profileurl:waterfall@1`},description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:G(Vv),tags:[U.PHONE,U.WATERFALL],billableOperations:Jv,defaultInputRequirement:qv(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:Wv,allowedUserConnectionProviders:Wv,deprecatedProviders:[`clado`],defaultPayload:{pipe_id:Vv,connector:null,run_if:null,config:{providers:Gv,input_fields:{profile_url:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},Qv=`people:phone:workemail:waterfall@1`,$v=h(`work_email`),ey=h(`mobile`),ty=[`leadmagic`,`amplemarket`],ny=[{provider:`leadmagic`},{provider:`amplemarket`}],ry=r.object({pipe_id:r.literal(Qv),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:ty,defaultProviders:ny}),input_fields:I(r.object({[$v.name]:T({fieldName:$v.name})})),output_fields:F(r.object({[ey.name]:O({fieldName:ey.name})}))}).optional()}),iy=e=>z(K($v,e)),ay={"people-phone-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-phone-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4},mode:`onSuccess`}},oy=class extends B{pipeId=Qv;payload;payloadSchema=ry;billableOperations=ay;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return iy(this.payload.config)}getRawOutputFields(){return{[ey.name]:this.catalogOutput(ey,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},sy=ry,cy={pipeId:Qv,basePipe:W(Qv),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:mobile:workemail:waterfall@1`},description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],docPath:G(Qv),billableOperations:ay,defaultInputRequirement:iy(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:ty,managedProviders:ty,deprecatedProviders:[],defaultPayload:{pipe_id:Qv,connector:null,run_if:null,config:{providers:ny,input_fields:{work_email:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},ly=`people:professionalprofile:waterfall@1`,uy=h(`professional_profile`),dy=h(`professional_profile_url`),fy=[`prospeo`,`icypeas`],py=[{provider:`prospeo`},{provider:`icypeas`}],my=r.object({pipe_id:r.literal(ly),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:fy,defaultProviders:py}),input_fields:I(r.object({[dy.name]:T({fieldName:dy.name})})),output_fields:F(r.object({[uy.name]:O({fieldName:uy.name})}))}).optional()}),hy=e=>z(K(dy,e)),gy={"people-professionalprofile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-professionalprofile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0}},_y=class extends B{pipeId=ly;payload;payloadSchema=my;billableOperations=gy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return hy(this.payload.config)}getRawOutputFields(){return{[uy.name]:this.catalogOutput(uy)}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},vy=my,yy={pipeId:ly,basePipe:W(ly),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profile:waterfall@1`},description:`Find a JSON representation of a LinkedIn profile.`,docPath:`/resources/pipe-catalog/people:professionalprofile:waterfall/1`,tags:[U.LINKEDIN,U.WATERFALL],managedProviders:fy,deprecatedProviders:[],allowedUserConnectionProviders:fy,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:gy,defaultInputRequirement:hy(null),defaultPayload:{pipe_id:ly,run_if:null,connector:null,config:{providers:py,input_fields:{professional_profile_url:{alias:``}},output_fields:{professional_profile:{alias:``,enabled:!0}}}}},by=`people:professionalprofileurl:email:waterfall@1`,xy=h(`email`),Sy=h(`work_email`),Cy=h(`professional_profile_url`),wy=[`leadmagic`],Ty=[{provider:`leadmagic`}],Ey=r.object({pipe_id:r.literal(by),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:Ty,availableProviders:wy}),input_fields:I(r.object({[xy.name]:T({fieldName:xy.name}),[Sy.name]:T({fieldName:Sy.name})})),output_fields:F(r.object({[Cy.name]:O({fieldName:Cy.name})}))}).optional()}),Dy=e=>Xl(K(xy,e),K(Sy,e)),Oy={"people-professionalprofileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},ky=class extends B{pipeId=by;payload;payloadSchema=Ey;billableOperations=Oy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Dy(this.payload.config)}getRawOutputFields(){return{[Cy.name]:this.catalogOutput(Cy)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Ay=Ey,jy={pipeId:by,basePipe:W(by),managedProviders:wy,deprecatedProviders:[],allowedUserConnectionProviders:wy,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profileurl:email:waterfall@1`},description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],docPath:`/resources/pipe-catalog/people:professionalprofileurl:email:waterfall/1`,billableOperations:Oy,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:Dy(null),defaultPayload:{pipe_id:by,run_if:null,connector:null,config:{providers:Ty,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{professional_profile_url:{alias:``,enabled:!0}}}}},My=`people:professionalprofileurl:name@1`,Ny=h(`name`),Py=h(`company_name`),Fy=h(`location_hint`),Iy=h(`professional_profile_url`),Ly=r.object({pipe_id:r.literal(My),connector:wc(),run_if:b(),config:r.object({input_fields:I(r.object({[Ny.name]:T({fieldName:Ny.name}),[Py.name]:T({fieldName:Py.name}),[Fy.name]:T({fieldName:Fy.name})})),output_fields:F(r.object({[Iy.name]:O({fieldName:Iy.name})}))}).optional()}),Ry=e=>Yl(z(K(Ny,e)),z(K(Py,e)),Zl(K(Fy,e))),zy={"people-professionalprofileurl-name-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.6},mode:`always`}},By=class extends B{pipeId=My;payload;payloadSchema=Ly;billableOperations=zy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`people-professionalprofileurl-name-v1-pipe0`)}getInputRequirement(){return Ry(this.payload.config)}getRawOutputFields(){return{[Iy.name]:this.catalogOutput(Iy)}}getConnectionsRequirements(){return[{provider:`serper`,rateLimitRatio:1,rateLimitOperation:`serper_search`,allowManagedConnection:!0}]}},Vy=Ly,Hy={pipeId:My,basePipe:W(My),label:`LinkedIn URL from name`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profileurl:name@1`},allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],description:`Find the LinkedIn profile URL by using the prospect's name as input.`,docPath:`/resources/pipe-catalog/people:professionalprofileurl:name/1`,tags:[U.LINKEDIN],billableOperations:zy,defaultInputRequirement:Ry(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:My,connector:void 0,run_if:null,config:{input_fields:{company_name:{alias:``},location_hint:{alias:``},name:{alias:``}},output_fields:{professional_profile_url:{alias:``,enabled:!0}}}}},Uy=`people:profile:waterfall@1`,Wy=h(`profile`),Gy=h(`profile_url`),Ky=[`prospeo`,`icypeas`,`amplemarket`,`clado`],qy=[{provider:`amplemarket`},{provider:`prospeo`},{provider:`icypeas`}],Jy=r.object({pipe_id:r.literal(Uy),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:Ky,defaultProviders:qy}),input_fields:I(r.object({[Gy.name]:T({fieldName:Gy.name})})),output_fields:F(r.object({[Wy.name]:O({fieldName:Wy.name})}))}).optional()}),Yy=e=>z(K(Gy,e)),Xy={"people-profile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-clado":{provider:`clado`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0},"people-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,credits:{default:1},mode:`onSuccess`,allowManagedConnection:!0}},Zy=class extends B{pipeId=Uy;payload;payloadSchema=Jy;billableOperations=Xy;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Yy(this.payload.config)}getRawOutputFields(){return{[Wy.name]:this.catalogOutput(Wy,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`,clado:`clado_social_profile_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Qy=Jy,$y={pipeId:Uy,basePipe:W(Uy),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profile:waterfall@1`},description:`Find a JSON representation of a LinkedIn profile.`,docPath:G(Uy),tags:[U.LINKEDIN,U.WATERFALL],managedProviders:Ky,deprecatedProviders:[`clado`],allowedUserConnectionProviders:Ky,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Xy,defaultInputRequirement:Yy(null),defaultPayload:{pipe_id:Uy,run_if:null,connector:null,config:{providers:qy,input_fields:{profile_url:{alias:``}},output_fields:{profile:{alias:``,enabled:!0}}}}},eb=h(`work_email`),tb=h(`crustdata_person_match`),nb=h(`crustdata_profile_match_score`),rb=`people:profile:workemail:crustdata@1`,ib=r.object({pipe_id:r.literal(rb),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[eb.name]:T({fieldName:eb.name})})),output_fields:F(r.object({[tb.name]:O({fieldName:tb.name}),[nb.name]:O({fieldName:nb.name})}))}).optional()}),ab=e=>z(K(eb,e)),ob={"people-profile-workemail-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`,provider:`crustdata`}},sb=class extends B{pipeId=rb;payload;payloadSchema=ib;billableOperations=ob;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`people-profile-workemail-crustdata-v1-crustdata`)}getInputRequirement(){return ab(this.payload.config)}getRawOutputFields(){return{[tb.name]:this.catalogOutput(tb),[nb.name]:this.catalogOutput(nb)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_person_enrich`,allowManagedConnection:!0}]}},cb=ib,lb={pipeId:rb,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(rb),label:`Profile from work email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profile:workemail:crustdata@1`},description:`Find person profile by their work email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],docPath:G(rb),billableOperations:ob,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:ab(null),defaultPayload:{pipe_id:rb,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{crustdata_person_match:{alias:``,enabled:!0},crustdata_profile_match_score:{alias:``,enabled:!0}}}}},ub=`people:profileurl:email:waterfall@1`,db=h(`email`),fb=h(`work_email`),pb=h(`profile_url`),mb=[`leadmagic`],hb=[{provider:`leadmagic`}],gb=r.object({pipe_id:r.literal(ub),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:hb,availableProviders:mb}),input_fields:I(r.object({[db.name]:T({fieldName:db.name}),[fb.name]:T({fieldName:fb.name})})),output_fields:F(r.object({[pb.name]:O({fieldName:pb.name})}))}).optional()}),_b=e=>Xl(K(db,e),K(fb,e)),vb={"people-profileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},yb=class extends B{pipeId=ub;payload;payloadSchema=gb;billableOperations=vb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return _b(this.payload.config)}getRawOutputFields(){return{[pb.name]:this.catalogOutput(pb,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},bb=gb,xb={pipeId:ub,basePipe:W(ub),managedProviders:mb,deprecatedProviders:[],allowedUserConnectionProviders:mb,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:profileurl:email:waterfall@1`},description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],docPath:G(ub),billableOperations:vb,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:_b(null),defaultPayload:{pipe_id:ub,run_if:null,connector:null,config:{providers:hb,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},Sb=`people:validate:email:zerobounce@1`,Cb=h(`work_email`),wb=h(`ip_address`),Tb=h(`is_email_valid`),Eb=r.object({pipe_id:r.literal(Sb),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[Cb.name]:T({fieldName:Cb.name}),[wb.name]:T({fieldName:wb.name})})),output_fields:F(r.object({[Tb.name]:O({fieldName:Tb.name})}))}).optional()}),Db=e=>Yl(z(K(Cb,e)),Zl(K(wb,e))),Ob={"people-validate-email-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.5},mode:`always`}},kb=class extends B{pipeId=Sb;payload;payloadSchema=Eb;billableOperations=Ob;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`people-validate-email-zerobounce-v1-zerobounce`)}getInputRequirement(){return Db(this.payload.config)}getRawOutputFields(){return{[Tb.name]:this.catalogOutput(Tb)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},Ab=Eb,jb={pipeId:Sb,basePipe:W(Sb),label:`Validate email`,executionMode:`single`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:email:validate:zerobounce@1`},description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],docPath:`/resources/pipe-catalog/people:validate:email:zerobounce/1`,billableOperations:Ob,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:Db(null),defaultPayload:{pipe_id:Sb,connector:null,run_if:null,config:{input_fields:{ip_address:{alias:``},work_email:{alias:``}},output_fields:{is_email_valid:{alias:``,enabled:!0}}}}},Mb=`people:workemail:profileurl:waterfall@1`,Nb=h(`profile_url`),Pb=h(`work_email`),Fb=h(`email_validation_status`),Ib=[`hunter`,`amplemarket`,`findymail`,`leadmagic`,`crustdata`,`clado`],Lb=[`clado`],Rb=[{provider:`hunter`},{provider:`amplemarket`},{provider:`leadmagic`},{provider:`findymail`},{provider:`crustdata`}],zb=r.object({pipe_id:r.literal(Mb),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:Ib,defaultProviders:Rb,sectionKey:`general`}),allow_catch_all_emails:D({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:``,label:`Allow catch-all emails`}),allow_risky_emails:D({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Higher chance of bouncing or being marked as spam.`,label:`Allow risky emails`}),input_fields:I(r.object({[Nb.name]:T({fieldName:Nb.name})})),output_fields:F(r.object({[Pb.name]:O({fieldName:Pb.name}),[Fb.name]:O({fieldName:Fb.name})}))}).optional()}),Bb=e=>z(K(Nb,e)),Vb={"people-workemail-profileurl-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:3},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-clado":{provider:`clado`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`},"people-workemail-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5},mode:`onSuccess`}},Hb=class extends B{pipeId=Mb;payload;payloadSchema=zb;billableOperations=Vb;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Bb(this.payload.config)}getRawOutputFields(){return{[Pb.name]:this.catalogOutput(Pb,{isPrimaryOutput:!0}),[Fb.name]:this.catalogOutput(Fb,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_b2b_lookup`,hunter:`prospeo_email_lookup`,amplemarket:`amplemarket-person-reveal`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`,clado:`clado_contact_information`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Ub=zb,Wb={pipeId:Mb,basePipe:W(Mb),label:`Work email from LinkedIn URL`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:workemail:profileurl:waterfall@1`},description:`Find work email addresses from B2B profile.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],docPath:G(Mb),managedProviders:Ib,allowedUserConnectionProviders:Ib,deprecatedProviders:Lb,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Vb,defaultInputRequirement:Bb(null),defaultPayload:{pipe_id:Mb,connector:null,run_if:null,config:{providers:Rb,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{profile_url:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!0}}}}},Gb=`people:workemail:waterfall@1`,Kb=h(`name`),qb=h(`company_website_url`),Jb=h(`company_name`),Yb=h(`work_email`),Xb=h(`email_validation_status`),Zb=[`leadmagic`,`prospeo`,`amplemarket`,`hunter`,`icypeas`,`findymail`],Qb=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`hunter`},{provider:`icypeas`},{provider:`findymail`}],$b=r.object({pipe_id:r.literal(Gb),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:Zb,defaultProviders:Qb,sectionKey:`general`}),allow_catch_all_emails:D({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,description:`Catch-alls appear valid but remain undeliverable-risk.`,label:`Allow catch-all emails`}),allow_risky_emails:D({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,description:`DNS configuration and spam reputation may flag emails as high-risk.`,label:`Allow risky emails`}),input_fields:I(r.object({[Kb.name]:T({fieldName:Kb.name}),[qb.name]:T({fieldName:qb.name}),[Jb.name]:T({fieldName:Jb.name})})),output_fields:F(r.object({[Yb.name]:O({fieldName:Yb.name}),[Xb.name]:O({fieldName:Xb.name})}))}).optional()}),ex=e=>Yl(z(K(Kb,e)),Xl(K(qb,e),K(Jb,e))),tx={"people-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:.5},mode:`onSuccess`},"people-workemail-waterfall-v1-icypeas":{provider:`icypeas`,allowManagedConnection:!0,credits:{default:.5},mode:`onSuccess`},"people-workemail-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`},"people-workemail-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"people-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5},mode:`onSuccess`}},nx=class extends B{pipeId=Gb;payload;payloadSchema=$b;billableOperations=tx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return ex(this.payload.config)}getRawOutputFields(){return{[Yb.name]:this.catalogOutput(Yb,{isPrimaryOutput:!0}),[Xb.name]:this.catalogOutput(Xb,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_email_lookup`,icypeas:`icypeas_email_lookup`,findymail:`findymail_email_lookup`,hunter:`hunter_email_finder`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},rx=$b,ix={pipeId:Gb,basePipe:W(Gb),label:`Work email from name`,executionMode:`waterfall`,categories:[`deprecated`],lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`person:workemail:waterfall@1`},description:`Find work email addresses in a waterfall motion.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],docPath:G(Gb),managedProviders:Zb,deprecatedProviders:[],allowedUserConnectionProviders:Zb,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:tx,defaultInputRequirement:ex(null),defaultPayload:{pipe_id:Gb,connector:null,run_if:null,config:{providers:Qb,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{company_name:{alias:``},company_website_url:{alias:``},name:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},ax=`email:iswork@1`,ox=h(`is_work_email`),sx=h(`email`),cx=r.object({pipe_id:r.literal(ax),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[sx.name]:T({fieldName:sx.name})})),output_fields:F(r.object({[ox.name]:O({fieldName:ox.name})}))}).optional()}),lx=e=>z(K(sx,e)),ux={"email-iswork-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},dx=class extends B{pipeId=ax;payload;payloadSchema=cx;billableOperations=ux;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`email-iswork-v1-pipe0`)}getInputRequirement(){return lx(this.payload.config)}getRawOutputFields(){return{[ox.name]:this.catalogOutput(ox)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},fx=cx,px={pipeId:ax,label:`Work email checker`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Check if a given email address is personal or professional.`,tags:[U.EMAIL,U.WORK_EMAIL],keywords:[`personal`,`professional`,`business`,`corporate`,`classify`,`detect`],docPath:G(ax),billableOperations:ux,basePipe:W(ax),allowedUserConnectionProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:[`pipe0`],deprecatedProviders:[],defaultInputRequirement:lx(null),defaultPayload:{pipe_id:ax,run_if:null,connector:null,config:{input_fields:{email:{alias:``}},output_fields:{is_work_email:{alias:``,enabled:!0}}}}},mx=`email:send:gmail@1`,hx=h(`gmail_email_success`),gx=r.object({pipe_id:r.literal(mx),connector:S(),run_if:b(),config:r.object({to:x({sectionKey:`general`,groupPath:`config.general`,path:`config.to`,label:`To`,info:"Recipient address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`{{ email }}`,inputType:`email`,minLength:1,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),reply_to:x({sectionKey:`general`,groupPath:`config.general`,path:`config.reply_to`,label:`Reply-To`,info:"Optional address recipients can reply to. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`support@example.com`,inputType:`email`,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}).nullable(),subject:x({sectionKey:`general`,groupPath:`config.general`,path:`config.subject`,label:`Subject`,info:"Email subject line. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }}`,inputType:`text`,minLength:1,maxLength:998,expectedTagType:`string`,expectedTagFormat:`text`}),body:x({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Email body in markdown. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }},
71
71
 
72
- …`,inputType:`text`,minLength:1,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:P(r.object({[ox.name]:D({fieldName:ox.name})}))})}),cx={"email-send-gmail-v1-gmail":{allowManagedConnection:!1,provider:`gmail`,credits:null,mode:null}},lx=class extends B{pipeId=ax;payload;payloadSchema=sx;billableOperations=cx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`gmail`]}estimateBillableOperations(e){return q(e,`email-send-gmail-v1-gmail`)}getTemplatedFields(){return[this.payload.config.to,this.payload.config.reply_to,this.payload.config.subject,this.payload.config.body]}getInputRequirement(){return nu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[ox.name]:this.catalogOutput(ox)}}getConnectionsRequirements(){return[{provider:`gmail`,rateLimitRatio:1,rateLimitOperation:`gmail_send_email`,allowManagedConnection:!1}]}},ux=sx,dx={pipeId:ax,basePipe:W(ax),label:`Send email`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send an email with Gmail.`,guide:"Send an email via Gmail. To, Reply-To, Subject and Body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Gmail vault connection (call list_connections to find one).",tags:[U.EMAIL],keywords:[`outreach`,`message`,`mail`,`compose`,`deliver`,`outbound`],docPath:G(ax),billableOperations:cx,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`gmail`],defaultInputRequirement:null,managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:ax,connector:{strategy:`first`,connections:[]},run_if:null,config:{to:``,reply_to:``,subject:``,body:``,output_fields:{gmail_email_success:{alias:``,enabled:!0}}}}},fx=`email:send:resend@1`,px=h(`resend_email_success`),mx=r.object({pipe_id:r.literal(fx),connector:x(),run_if:b(),config:r.object({from:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.from`,label:`From`,info:"Sender address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`noreply@example.com`,inputType:`email`,minLength:3,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),to:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.to`,label:`To`,info:"Recipient address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`{{ email }}`,inputType:`email`,minLength:1,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),reply_to:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.reply_to`,label:`Reply-To`,info:"Optional address recipients can reply to. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`support@example.com`,inputType:`email`,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}).nullable(),subject:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.subject`,label:`Subject`,info:"Email subject line. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }}`,inputType:`text`,minLength:1,maxLength:998,expectedTagType:`string`,expectedTagFormat:`text`}),body:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Email body in markdown. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }},
72
+ …`,inputType:`text`,minLength:1,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:F(r.object({[hx.name]:O({fieldName:hx.name})}))})}),_x={"email-send-gmail-v1-gmail":{allowManagedConnection:!1,provider:`gmail`,credits:null,mode:null}},vx=class extends B{pipeId=mx;payload;payloadSchema=gx;billableOperations=_x;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`gmail`]}estimateBillableOperations(e){return q(e,`email-send-gmail-v1-gmail`)}getTemplatedFields(){return[this.payload.config.to,this.payload.config.reply_to,this.payload.config.subject,this.payload.config.body]}getInputRequirement(){return lu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[hx.name]:this.catalogOutput(hx)}}getConnectionsRequirements(){return[{provider:`gmail`,rateLimitRatio:1,rateLimitOperation:`gmail_send_email`,allowManagedConnection:!1}]}},yx=gx,bx={pipeId:mx,basePipe:W(mx),label:`Send email`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send an email with Gmail.`,guide:"Send an email via Gmail. To, Reply-To, Subject and Body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Gmail vault connection (call list_connections to find one).",tags:[U.EMAIL],keywords:[`outreach`,`message`,`mail`,`compose`,`deliver`,`outbound`],docPath:G(mx),billableOperations:_x,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`gmail`],defaultInputRequirement:null,managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:mx,connector:{strategy:`first`,connections:[]},run_if:null,config:{to:``,reply_to:``,subject:``,body:``,output_fields:{gmail_email_success:{alias:``,enabled:!0}}}}},xx=`email:send:resend@1`,Sx=h(`resend_email_success`),Cx=r.object({pipe_id:r.literal(xx),connector:S(),run_if:b(),config:r.object({from:x({sectionKey:`general`,groupPath:`config.general`,path:`config.from`,label:`From`,info:"Sender address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`noreply@example.com`,inputType:`email`,minLength:3,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),to:x({sectionKey:`general`,groupPath:`config.general`,path:`config.to`,label:`To`,info:"Recipient address. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`{{ email }}`,inputType:`email`,minLength:1,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}),reply_to:x({sectionKey:`general`,groupPath:`config.general`,path:`config.reply_to`,label:`Reply-To`,info:"Optional address recipients can reply to. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`support@example.com`,inputType:`email`,maxLength:320,expectedTagType:`string`,expectedTagFormat:`email`}).nullable(),subject:x({sectionKey:`general`,groupPath:`config.general`,path:`config.subject`,label:`Subject`,info:"Email subject line. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }}`,inputType:`text`,minLength:1,maxLength:998,expectedTagType:`string`,expectedTagFormat:`text`}),body:x({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Email body in markdown. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ first_name }},
73
73
 
74
- …`,inputType:`text`,minLength:1,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:P(r.object({[px.name]:D({fieldName:px.name})}))})}),hx={"email-send-resend-v1-resend":{allowManagedConnection:!1,provider:`resend`,credits:null,mode:null}},gx=class extends B{pipeId=fx;payload;payloadSchema=mx;billableOperations=hx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`resend`]}estimateBillableOperations(e){return q(e,`email-send-resend-v1-resend`)}getTemplatedFields(){return[this.payload.config.from,this.payload.config.to,this.payload.config.reply_to,this.payload.config.subject,this.payload.config.body]}getInputRequirement(){return nu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[px.name]:this.catalogOutput(px)}}getConnectionsRequirements(){return[{provider:`resend`,rateLimitRatio:1,rateLimitOperation:`resend_generic`,allowManagedConnection:!1}]}},_x=mx,vx={pipeId:fx,basePipe:W(fx),label:`Send email with Resend`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send an email with Resend.`,guide:"Send an email via Resend. From, To, Reply-To, Subject and Body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Resend vault connection (call list_connections to find one).",tags:[U.EMAIL],keywords:[`outreach`,`message`,`mail`,`deliver`,`outbound`,`transactional`],docPath:G(fx),billableOperations:hx,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`resend`],defaultInputRequirement:null,managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:fx,connector:{strategy:`first`,connections:[]},run_if:null,config:{from:``,to:``,reply_to:``,subject:``,body:``,output_fields:{resend_email_success:{alias:``,enabled:!0}}}}},yx=`email:validate:zerobounce@1`,bx=h(`email`),xx=h(`zerobounce_validation_status`),Sx=h(`zerobounce_validation_match`),Cx=r.object({pipe_id:r.literal(yx),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[bx.name]:w({fieldName:bx.name})})),output_fields:P(r.object({[Sx.name]:D({fieldName:Sx.name}),[xx.name]:D({fieldName:xx.name})}))}).optional()}),wx=e=>R(K(bx,e)),Tx={"email-validate-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.4,level1:{credits:.3,weight:1},level2:{credits:.15,weight:6}},mode:`always`}},Ex=class extends B{pipeId=yx;payload;payloadSchema=Cx;billableOperations=Tx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`email-validate-zerobounce-v1-zerobounce`)}getInputRequirement(){return wx(this.payload.config)}getRawOutputFields(){return{[xx.name]:this.catalogOutput(xx),[Sx.name]:this.catalogOutput(Sx)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},Dx=Cx,Ox={pipeId:yx,basePipe:W(yx),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],keywords:[`verify`,`verification`,`bounce`,`deliverability`,`check`,`clean`],docPath:G(yx),billableOperations:Tx,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:wx(null),defaultPayload:{pipe_id:yx,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{zerobounce_validation_status:{alias:``,enabled:!0},zerobounce_validation_match:{alias:``,enabled:!0}}}}},kx=`email:write@1`,Ax=`email-write-v1`,jx=Ss(Ax),Mx=h(`email_subject`),Nx=h(`email_body`),Px=r.object({pipe_id:r.literal(kx),connector:S(),run_if:b(),config:r.object({template:hc({sectionKey:`general`,label:`Prompt`,path:`config.template`,placeholder:V(`prompt`),groupPath:`config.prompt`,required:!0}),model:Gc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:jx}),signature:Uc({sectionKey:`general`,label:`Signature (Markdown)`,path:`config.signature`,groupPath:`config.email`,minLength:5,rows:10}),persona:Wc({sectionKey:`general`,label:`Persona`,info:`Define the unique tone of your email`,path:`config.persona`,groupPath:`config.prompt`,required:!1,options:[{label:`Sales`,value:`sales`},{label:`Human Resources`,value:`human_resources`},{label:`Customer Success`,value:`customer_success`}]}),output_fields:P(r.object({[Mx.name]:D({fieldName:Mx.name}),[Nx.name]:D({fieldName:Nx.name})}))})}),Fx=class extends B{pipeId=kx;payload;payloadSchema=Px;billableOperations=jx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return hs(this.payload.config.model)}estimateBillableOperations(e){return ws(e,{model:this.payload.config.model,prefix:Ax,inputTokens:600,outputTokens:800})}getInputRequirement(){return nu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return ru([this.payload.config.template])}getRawOutputFields(){return{[Mx.name]:this.catalogOutput(Mx),[Nx.name]:this.catalogOutput(Nx)}}getConnectionsRequirements(){return gs(this.payload.config.model)}},Ix=Px,Lx={pipeId:kx,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(kx),label:`Email writer`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`An AI agent specialized in composing emails.`,guide:`AI email composer. Outputs: email_subject, email_body. Pair with email:send:gmail@1 or email:send:resend@1 to send the composed email. Requires 'email' field in input records for the sender pipe.`,tags:[U.AI],keywords:[`ai`,`compose`,`draft`,`generate`,`copywriting`,`personalize`,`outreach`],docPath:G(kx),defaultInputRequirement:null,billableOperations:jx,allowedUserConnectionProviders:_s(),managedProviders:_s(),deprecatedProviders:[],defaultPayload:{pipe_id:kx,connector:null,run_if:null,config:{template:``,output_fields:{email_body:{alias:``,enabled:!0},email_subject:{alias:``,enabled:!0}},persona:`sales`,model:`openai-high`,signature:``}}},Rx=`field:domainify@1`,zx=h(`url_input`),Bx=h(`domain`),Vx=r.object({pipe_id:r.literal(Rx),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[zx.name]:w({fieldName:zx.name})})),output_fields:P(r.object({[Bx.name]:D({fieldName:Bx.name})}))}).optional()}),Hx=e=>R(K(zx,e)),Ux={"field-domainify-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Wx=class extends B{pipeId=Rx;payload;payloadSchema=Vx;billableOperations=Ux;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getInputRequirement(){return Hx(this.payload.config)}getRawOutputFields(){return{[Bx.name]:this.catalogOutput(Bx)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},Gx=Vx,Kx={pipeId:Rx,basePipe:W(Rx),label:`Extract domain`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Transform URL input into a domain. Example: 'https://go.com' to 'go.com'.`,tags:[U.LOGIC,U.FIELDS],keywords:[`url`,`website`,`hostname`,`clean`,`strip`,`parse`],docPath:G(Rx),billableOperations:Ux,defaultInputRequirement:Hx(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:Rx,run_if:null,connector:null,config:{input_fields:{url_input:{alias:``}},output_fields:{domain:{alias:``,enabled:!0}}}}},qx=`field:slugify@1`,Jx=h(`string_input`),Yx=h(`slugified`),Xx=r.object({pipe_id:r.literal(qx),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[Jx.name]:w({fieldName:Jx.name})})),output_fields:P(r.object({[Yx.name]:D({fieldName:Yx.name})}))}).optional()}),Zx=e=>R(K(Jx,e)),Qx={"field-slugify-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},$x=class extends B{pipeId=qx;payload;payloadSchema=Xx;billableOperations=Qx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getInputRequirement(){return Zx(this.payload.config)}getRawOutputFields(){return{[Yx.name]:this.catalogOutput(Yx)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},eS=Xx,tS={pipeId:qx,basePipe:W(qx),label:`Slugify field`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Strip a field value of characters not commonly found in slugs.`,tags:[U.LOGIC,U.FIELDS],keywords:[`clean`,`sanitize`,`normalize`,`url safe`,`format`,`strip`],docPath:G(qx),billableOperations:Qx,defaultInputRequirement:Zx(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:qx,run_if:null,connector:null,config:{input_fields:{string_input:{alias:``}},output_fields:{slugified:{alias:``,enabled:!0}}}}};function nS({name:e,resolvedName:t}){return e===t?`'${e}'`:`'${e}' (resolved to '${t}')`}function rS(e){switch(e.kind){case`field`:return nS(e.field);case`optional`:return`[optional ${nS(e.field)}]`;case`all`:return e.of.length===0?`(none)`:e.of.length===1?rS(e.of[0]):`(${e.of.map(rS).join(` AND `)})`;case`any`:return e.of.length===0?`(none)`:e.of.length===1?rS(e.of[0]):`(${e.of.map(rS).join(` OR `)})`}}function iS(e,t){return`Pipe input requirement is not satisfied${t?.pipeId!==void 0||t?.index!==void 0?` for pipe${t.index===void 0?``:` at index ${t.index}`}${t.pipeId===void 0?``:` (${t.pipeId})`}`:``}: ${rS(e)}. Map missing fields to existing ones, add a pipe that outputs them, or include them in your inputs.`}var aS=class extends Error{constructor(e){super(`Request validation failed (${e.length} errors): ${e.join(`, `)}`),this.errors=e,this.name=`RequestValidationError`,Object.setPrototypeOf(this,new.target.prototype)}};const oS={ConditionTargetFieldNotFound:({fieldName:e,pipeId:t,pipeIdx:n})=>({code:`ConditionTargetFieldNotFound`,message:`${t} (idx: ${n}) has an invalid condition. Field '${e}' not found.`}),FaultyEnrichmentOrder:()=>({code:`FaultyEnrichmentOrder`,message:`Enrichment not found while ordering. Was the request invalid?`}),MustDefineAnnotations:()=>({code:`MustDefineAnnotations`,message:`Must define either input or field annoations to validate pipes payload.`}),CircularDependency:({currentPipe:e,circularPipe:t})=>({code:`CircularDependency`,message:`'${e.pipe_id}' (${e.idx}) and '${t.pipeId}' (${t.idx}) create a dependency loop. They both need the other's output to complete. Neither can complete. You can map the pipe outputs or input to fields with different names if you want the pipes to be independent or each other.`}),ValidationFailed:({error:e})=>({code:`ValidationFailed`,message:`Failed to validate task request: ${e instanceof Error?e.message:String(e)}`}),MissingCustomConnections:({pipeId:e,index:t,missingProviders:n})=>({code:`MissingCustomConnections`,message:`Pipe ${e} (index ${t}) requires you to specify custom connections for the providers ${n.join(`, `)}. Create the custom connections in the dashbard and reference them in your request.`}),ResponseGenerationFailed:({error:e})=>({code:`ResponseGenerationFailed`,message:`Failed to generate response: ${e instanceof Error?e.message:String(e)}`}),InputValuesMustHaveSameType:({pipeId:e,fieldNames:t})=>({code:`InputValuesMustHaveSameType`,message:`Pipe ${e} requires all input values to have the same type. But values ${t.join(`, `)} have different types.`}),NotValidated:()=>({code:`NotValidated`,message:`PipelineRequest must be validated before accessing results`}),MissingIdInInput:()=>({code:`MissingIdInInput`,message:`Inputs missing 'id' property.`}),InputDataTypeMismatch:({key:e,derivedInputFieldType:t,fieldType:n})=>({code:`InputDataTypeMismatch`,message:`Input data has values with matching keys '${e}' but different types. Expected type: '${t}'. Actual: '${n}'.`}),UnresolvableDependency:({index:e,dependencyIndex:t})=>({code:`UnresolvableDependency`,message:`Unresolvable dependency at index ${e} to ${t}`}),RequirementUnmet:({requirement:e,pipeId:t,index:n})=>({code:`RequirementUnmet`,message:iS(e,{pipeId:t,index:n})}),HardInputDependencyViolation:({index:e,indexPipeId:t,dependencyIndex:n,dependencyIndexPipeId:r})=>({code:`HardInputDependencyViolation`,message:`Dependency violation: pipe at idx: ${e} (${t}) must come after pipe at idx: ${n} (${r})`}),HardConditionDependencyViolation:({index:e,indexPipeId:t,dependencyIndex:n,dependencyIndexPipeId:r})=>({code:`HardConditionDependencyViolation`,message:`Dependency violation: pipe at idx: ${e} (${t}) has a condition that points to pipe at idx: ${n} (${r}). But pipe index: ${e} (${t}) is always must be processed after pipe at index ${n} (${r}). This is due to input requirements or other conditions.`}),DuplicateInitialField:({name:e})=>({code:`DuplicateInitialField`,message:`Duplicate initial field '${e}' detected. Each field must be defined only once.`}),MissingInputId:({index:e})=>({code:`MissingInputId`,message:`Input record at index ${e} is missing a required ID field.`}),InvalidId:()=>({code:`InvalidId`,message:`Cell IDs must be numbers or strings`}),IDConflict:({index:e,id:t})=>({code:`IDConflict`,message:`Input data at index ${e} has Id conflict. Id '${t}' is not unique.`}),UnknownResolver:({pipeId:e,index:t})=>({code:`UnknownResolver`,message:`Unknown pipe '${e}' specified at position ${t}.`}),DuplicatePipeOutput:({pipeId:e,outputField:t})=>({code:`DuplicateEnrichmentOutput`,message:`Field conflict for '${e}'. Cannot add output field ${nS(t)} to pipeline because it already exists. Try renaming it.`}),ReservedOutputFieldName:({})=>({code:`ReservedOutputFieldName`,message:`'id' is reserved field name. Please rename your output field.`}),InputDataDoesNotMatchOutputField:({index:e,resolvedName:t,type:n,inputValueType:r})=>({code:`InputDataDoesNotMatchOutputField`,message:`Input at position ${e} provided data for field '${t}' that did not match expected type. Expected: '${n}', Actual: '${r}'.`}),AmbiguousDependency:({fieldName:e})=>({code:`AmbiguousDependency`,message:`Found more than one pipe that produces field: ${e}. Rename or disable the field to add it.`}),EmptyObjectProperty:()=>({code:`EmptyObjectProperty`,message:`Input data contains empty object property "". This is not allowed.`}),JSONSchemaMissing:({schemaRef:e,outputName:t})=>({code:`JSONSchemaMissing`,message:`Missing jsonSchema '${e}' for output with name '${t}'.`}),InvalidJSONSchema:({schemaRef:e})=>({code:`InvalidJSONSchema`,message:`JSON Schema (ref: ${e}) is invalid.`}),MissingOutputFieldDescription:({outputName:e})=>({code:`MissingOutputFieldDescription`,message:`The output field ${e} is missing a "description" property. Define it {{ ${e} description="Foo bar" }}`}),InvalidFormatTag:({outputName:e,format:t})=>({code:`InvalidFormatTag`,message:`The output field ${e} has an invalid format tag ${t}.`}),RecursiveExpandedValue:()=>({code:`RecursiveExpandedValue`,message:`Your input values contain a recursive expanded valuetype `})};var sS=class extends Error{},cS=class extends sS{codes;appErrors;constructor(e){super(e.map(e=>e.message).join(`, `)||`Unknown`),this.errors=e,this.codes=e.map(e=>e.code),this.appErrors=e}};const lS=`fields:merge@1`,uS=h(`merge_result`),dS=r.object({pipe_id:r.literal(lS),connector:vc(),run_if:b(),config:r.object({merge_fields:Ec({sectionKey:`general`,groupPath:`config.general`,path:`config.merge_fields`,label:`Fields`,info:`Provide references to input fields`,minItems:2}),output_fields:P(r.object({[uS.name]:D({fieldName:uS.name})}))})}),fS={"fields-merge-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,provider:`pipe0`,mode:`always`}},pS=class extends B{pipeId=lS;payload;payloadSchema=dS;billableOperations=fS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`fields-merge-v1-pipe0`)}getInputRequirement(){let e=this.payload.config.merge_fields.map(e=>e.field_name),t;return Ul(...this.payload.config.merge_fields.map(n=>R({format:null,type:r=>{let i=eu(r,e)[n.field_name],a=i?.type?i.type:`unknown`;if(a!==`unknown`){if(t&&t!==a)throw new cS([oS.InputValuesMustHaveSameType({pipeId:this.pipeId,fieldNames:e})]);t=a}return i?.type?i.type:`unknown`},label:``,description:``,name:n.field_name,resolvedName:n.field_name})))}getRawOutputFields(){return{[uS.name]:this.catalogOutput(uS,{resolveType:e=>{let t=eu(e,this.payload.config.merge_fields.map(e=>e.field_name));return Object.values(t).find(e=>!!e.type)?.type||`string`}})}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},mS=dS,hS={pipeId:lS,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(lS),label:`Merge fields`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Join multiple fields into one field. The final result will be the first defined field.`,tags:[U.FIELDS,U.LOGIC],keywords:[`combine`,`join`,`coalesce`,`fallback`,`concat`,`first defined`],docPath:G(lS),defaultInputRequirement:null,billableOperations:fS,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:lS,connector:null,run_if:null,config:{merge_fields:[],output_fields:{merge_result:{alias:``,enabled:!0}}}}},gS=`http:request@1`,_S=h(`http_response_status`),vS=h(`http_response_body`),yS=h(`http_response_headers`),bS=r.object({pipe_id:r.literal(gS),connector:vc(),run_if:b(),config:r.object({method:Wc({sectionKey:`general`,groupPath:`config.general`,path:`config.method`,label:`Method`,defaultValue:`GET`,options:[...[{value:`GET`,label:`GET`},{value:`POST`,label:`POST`},{value:`PUT`,label:`PUT`},{value:`PATCH`,label:`PATCH`},{value:`DELETE`,label:`DELETE`}]],required:!0}),url:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.url`,label:`Endpoint`,info:"Target URL. Only http/https. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`https://api.example.com/v1/things`,inputType:`text`,minLength:1,maxLength:2048,expectedTagType:`string`,expectedTagFormat:`text`}),query_params:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.query_params`,label:`Query parameters`,info:"Appended to the URL. In the value column, type `/` to insert a field or secret reference.",keyLabel:`Key`,valueLabel:`Value`,keyPlaceholder:`page`,valuePlaceholder:`1`,maxKeys:50}),body:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Sent verbatim as the request body. Type `@` to insert a field reference or `$` to insert a secret reference. Set Content-Type via Headers.",placeholder:`{
74
+ …`,inputType:`text`,minLength:1,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:F(r.object({[Sx.name]:O({fieldName:Sx.name})}))})}),wx={"email-send-resend-v1-resend":{allowManagedConnection:!1,provider:`resend`,credits:null,mode:null}},Tx=class extends B{pipeId=xx;payload;payloadSchema=Cx;billableOperations=wx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`resend`]}estimateBillableOperations(e){return q(e,`email-send-resend-v1-resend`)}getTemplatedFields(){return[this.payload.config.from,this.payload.config.to,this.payload.config.reply_to,this.payload.config.subject,this.payload.config.body]}getInputRequirement(){return lu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[Sx.name]:this.catalogOutput(Sx)}}getConnectionsRequirements(){return[{provider:`resend`,rateLimitRatio:1,rateLimitOperation:`resend_generic`,allowManagedConnection:!1}]}},Ex=Cx,Dx={pipeId:xx,basePipe:W(xx),label:`Send email with Resend`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send an email with Resend.`,guide:"Send an email via Resend. From, To, Reply-To, Subject and Body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Resend vault connection (call list_connections to find one).",tags:[U.EMAIL],keywords:[`outreach`,`message`,`mail`,`deliver`,`outbound`,`transactional`],docPath:G(xx),billableOperations:wx,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`resend`],defaultInputRequirement:null,managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:xx,connector:{strategy:`first`,connections:[]},run_if:null,config:{from:``,to:``,reply_to:``,subject:``,body:``,output_fields:{resend_email_success:{alias:``,enabled:!0}}}}},Ox=`email:validate:zerobounce@1`,kx=h(`email`),Ax=h(`zerobounce_validation_status`),jx=h(`zerobounce_validation_match`),Mx=r.object({pipe_id:r.literal(Ox),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[kx.name]:T({fieldName:kx.name})})),output_fields:F(r.object({[jx.name]:O({fieldName:jx.name}),[Ax.name]:O({fieldName:Ax.name})}))}).optional()}),Nx=e=>z(K(kx,e)),Px={"email-validate-zerobounce-v1-zerobounce":{provider:`zerobounce`,allowManagedConnection:!0,credits:{default:.4,level1:{credits:.3,weight:1},level2:{credits:.15,weight:6}},mode:`always`}},Fx=class extends B{pipeId=Ox;payload;payloadSchema=Mx;billableOperations=Px;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`zerobounce`]}estimateBillableOperations(e){return q(e,`email-validate-zerobounce-v1-zerobounce`)}getInputRequirement(){return Nx(this.payload.config)}getRawOutputFields(){return{[Ax.name]:this.catalogOutput(Ax),[jx.name]:this.catalogOutput(jx)}}getConnectionsRequirements(){return[{provider:`zerobounce`,rateLimitRatio:1,rateLimitOperation:`zerobounce_generic`,allowManagedConnection:!0}]}},Ix=Mx,Lx={pipeId:Ox,basePipe:W(Ox),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Verify email address against various factors, including syntax, domain, and server existence, to ensure it is deliverable and active.`,tags:[U.EMAIL],keywords:[`verify`,`verification`,`bounce`,`deliverability`,`check`,`clean`],docPath:G(Ox),billableOperations:Px,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`zerobounce`],managedProviders:[`zerobounce`],deprecatedProviders:[],defaultInputRequirement:Nx(null),defaultPayload:{pipe_id:Ox,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{zerobounce_validation_status:{alias:``,enabled:!0},zerobounce_validation_match:{alias:``,enabled:!0}}}}},Rx=`email:write@1`,zx=`email-write-v1`,Bx=ks(zx),Vx=h(`email_subject`),Hx=h(`email_body`),Ux=r.object({pipe_id:r.literal(Rx),connector:C(),run_if:b(),config:r.object({template:Sc({sectionKey:`general`,label:`Prompt`,path:`config.template`,placeholder:V(`prompt`),groupPath:`config.prompt`,required:!0}),model:Zc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:Bx}),signature:Yc({sectionKey:`general`,label:`Signature (Markdown)`,path:`config.signature`,groupPath:`config.email`,minLength:5,rows:10}),persona:Xc({sectionKey:`general`,label:`Persona`,info:`Define the unique tone of your email`,path:`config.persona`,groupPath:`config.prompt`,required:!1,options:[{label:`Sales`,value:`sales`},{label:`Human Resources`,value:`human_resources`},{label:`Customer Success`,value:`customer_success`}]}),output_fields:F(r.object({[Vx.name]:O({fieldName:Vx.name}),[Hx.name]:O({fieldName:Hx.name})}))})}),Wx=class extends B{pipeId=Rx;payload;payloadSchema=Ux;billableOperations=Bx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return Ss(this.payload.config.model)}estimateBillableOperations(e){return js(e,{model:this.payload.config.model,prefix:zx,inputTokens:600,outputTokens:800})}getInputRequirement(){return lu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return uu([this.payload.config.template])}getRawOutputFields(){return{[Vx.name]:this.catalogOutput(Vx),[Hx.name]:this.catalogOutput(Hx)}}getConnectionsRequirements(){return Cs(this.payload.config.model)}},Gx=Ux,Kx={pipeId:Rx,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(Rx),label:`Email writer`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`An AI agent specialized in composing emails.`,guide:`AI email composer. Outputs: email_subject, email_body. Pair with email:send:gmail@1 or email:send:resend@1 to send the composed email. Requires 'email' field in input records for the sender pipe.`,tags:[U.AI],keywords:[`ai`,`compose`,`draft`,`generate`,`copywriting`,`personalize`,`outreach`],docPath:G(Rx),defaultInputRequirement:null,billableOperations:Bx,allowedUserConnectionProviders:ws(),managedProviders:ws(),deprecatedProviders:[],defaultPayload:{pipe_id:Rx,connector:null,run_if:null,config:{template:``,output_fields:{email_body:{alias:``,enabled:!0},email_subject:{alias:``,enabled:!0}},persona:`sales`,model:`openai-high`,signature:``}}},qx=`field:domainify@1`,Jx=h(`url_input`),Yx=h(`domain`),Xx=r.object({pipe_id:r.literal(qx),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[Jx.name]:T({fieldName:Jx.name})})),output_fields:F(r.object({[Yx.name]:O({fieldName:Yx.name})}))}).optional()}),Zx=e=>z(K(Jx,e)),Qx={"field-domainify-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},$x=class extends B{pipeId=qx;payload;payloadSchema=Xx;billableOperations=Qx;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getInputRequirement(){return Zx(this.payload.config)}getRawOutputFields(){return{[Yx.name]:this.catalogOutput(Yx)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},eS=Xx,tS={pipeId:qx,basePipe:W(qx),label:`Extract domain`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Transform URL input into a domain. Example: 'https://go.com' to 'go.com'.`,tags:[U.LOGIC,U.FIELDS],keywords:[`url`,`website`,`hostname`,`clean`,`strip`,`parse`],docPath:G(qx),billableOperations:Qx,defaultInputRequirement:Zx(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:qx,run_if:null,connector:null,config:{input_fields:{url_input:{alias:``}},output_fields:{domain:{alias:``,enabled:!0}}}}},nS=`field:slugify@1`,rS=h(`string_input`),iS=h(`slugified`),aS=r.object({pipe_id:r.literal(nS),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[rS.name]:T({fieldName:rS.name})})),output_fields:F(r.object({[iS.name]:O({fieldName:iS.name})}))}).optional()}),oS=e=>z(K(rS,e)),sS={"field-slugify-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},cS=class extends B{pipeId=nS;payload;payloadSchema=aS;billableOperations=sS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getInputRequirement(){return oS(this.payload.config)}getRawOutputFields(){return{[iS.name]:this.catalogOutput(iS)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},lS=aS,uS={pipeId:nS,basePipe:W(nS),label:`Slugify field`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Strip a field value of characters not commonly found in slugs.`,tags:[U.LOGIC,U.FIELDS],keywords:[`clean`,`sanitize`,`normalize`,`url safe`,`format`,`strip`],docPath:G(nS),billableOperations:sS,defaultInputRequirement:oS(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:nS,run_if:null,connector:null,config:{input_fields:{string_input:{alias:``}},output_fields:{slugified:{alias:``,enabled:!0}}}}};function dS({name:e,resolvedName:t}){return e===t?`'${e}'`:`'${e}' (resolved to '${t}')`}function fS(e){switch(e.kind){case`field`:return dS(e.field);case`optional`:return`[optional ${dS(e.field)}]`;case`all`:return e.of.length===0?`(none)`:e.of.length===1?fS(e.of[0]):`(${e.of.map(fS).join(` AND `)})`;case`any`:return e.of.length===0?`(none)`:e.of.length===1?fS(e.of[0]):`(${e.of.map(fS).join(` OR `)})`}}function pS(e,t){return`Pipe input requirement is not satisfied${t?.pipeId!==void 0||t?.index!==void 0?` for pipe${t.index===void 0?``:` at index ${t.index}`}${t.pipeId===void 0?``:` (${t.pipeId})`}`:``}: ${fS(e)}. Map missing fields to existing ones, add a pipe that outputs them, or include them in your inputs.`}var mS=class extends Error{constructor(e){super(`Request validation failed (${e.length} errors): ${e.join(`, `)}`),this.errors=e,this.name=`RequestValidationError`,Object.setPrototypeOf(this,new.target.prototype)}};const hS={ConditionTargetFieldNotFound:({fieldName:e,pipeId:t,pipeIdx:n})=>({code:`ConditionTargetFieldNotFound`,message:`${t} (idx: ${n}) has an invalid condition. Field '${e}' not found.`}),FaultyEnrichmentOrder:()=>({code:`FaultyEnrichmentOrder`,message:`Enrichment not found while ordering. Was the request invalid?`}),MustDefineAnnotations:()=>({code:`MustDefineAnnotations`,message:`Must define either input or field annoations to validate pipes payload.`}),CircularDependency:({currentPipe:e,circularPipe:t})=>({code:`CircularDependency`,message:`'${e.pipe_id}' (${e.idx}) and '${t.pipeId}' (${t.idx}) create a dependency loop. They both need the other's output to complete. Neither can complete. You can map the pipe outputs or input to fields with different names if you want the pipes to be independent or each other.`}),ValidationFailed:({error:e})=>({code:`ValidationFailed`,message:`Failed to validate task request: ${e instanceof Error?e.message:String(e)}`}),MissingCustomConnections:({pipeId:e,index:t,missingProviders:n})=>({code:`MissingCustomConnections`,message:`Pipe ${e} (index ${t}) requires you to specify custom connections for the providers ${n.join(`, `)}. Create the custom connections in the dashbard and reference them in your request.`}),ResponseGenerationFailed:({error:e})=>({code:`ResponseGenerationFailed`,message:`Failed to generate response: ${e instanceof Error?e.message:String(e)}`}),InputValuesMustHaveSameType:({pipeId:e,fieldNames:t})=>({code:`InputValuesMustHaveSameType`,message:`Pipe ${e} requires all input values to have the same type. But values ${t.join(`, `)} have different types.`}),NotValidated:()=>({code:`NotValidated`,message:`PipelineRequest must be validated before accessing results`}),MissingIdInInput:()=>({code:`MissingIdInInput`,message:`Inputs missing 'id' property.`}),InputDataTypeMismatch:({key:e,derivedInputFieldType:t,fieldType:n})=>({code:`InputDataTypeMismatch`,message:`Input data has values with matching keys '${e}' but different types. Expected type: '${t}'. Actual: '${n}'.`}),UnresolvableDependency:({index:e,dependencyIndex:t})=>({code:`UnresolvableDependency`,message:`Unresolvable dependency at index ${e} to ${t}`}),RequirementUnmet:({requirement:e,pipeId:t,index:n})=>({code:`RequirementUnmet`,message:pS(e,{pipeId:t,index:n})}),HardInputDependencyViolation:({index:e,indexPipeId:t,dependencyIndex:n,dependencyIndexPipeId:r})=>({code:`HardInputDependencyViolation`,message:`Dependency violation: pipe at idx: ${e} (${t}) must come after pipe at idx: ${n} (${r})`}),HardConditionDependencyViolation:({index:e,indexPipeId:t,dependencyIndex:n,dependencyIndexPipeId:r})=>({code:`HardConditionDependencyViolation`,message:`Dependency violation: pipe at idx: ${e} (${t}) has a condition that points to pipe at idx: ${n} (${r}). But pipe index: ${e} (${t}) is always must be processed after pipe at index ${n} (${r}). This is due to input requirements or other conditions.`}),DuplicateInitialField:({name:e})=>({code:`DuplicateInitialField`,message:`Duplicate initial field '${e}' detected. Each field must be defined only once.`}),MissingInputId:({index:e})=>({code:`MissingInputId`,message:`Input record at index ${e} is missing a required ID field.`}),InvalidId:()=>({code:`InvalidId`,message:`Cell IDs must be numbers or strings`}),IDConflict:({index:e,id:t})=>({code:`IDConflict`,message:`Input data at index ${e} has Id conflict. Id '${t}' is not unique.`}),UnknownResolver:({pipeId:e,index:t})=>({code:`UnknownResolver`,message:`Unknown pipe '${e}' specified at position ${t}.`}),DuplicatePipeOutput:({pipeId:e,outputField:t})=>({code:`DuplicateEnrichmentOutput`,message:`Field conflict for '${e}'. Cannot add output field ${dS(t)} to pipeline because it already exists. Try renaming it.`}),ReservedOutputFieldName:({})=>({code:`ReservedOutputFieldName`,message:`'id' is reserved field name. Please rename your output field.`}),InputDataDoesNotMatchOutputField:({index:e,resolvedName:t,type:n,inputValueType:r})=>({code:`InputDataDoesNotMatchOutputField`,message:`Input at position ${e} provided data for field '${t}' that did not match expected type. Expected: '${n}', Actual: '${r}'.`}),AmbiguousDependency:({fieldName:e})=>({code:`AmbiguousDependency`,message:`Found more than one pipe that produces field: ${e}. Rename or disable the field to add it.`}),EmptyObjectProperty:()=>({code:`EmptyObjectProperty`,message:`Input data contains empty object property "". This is not allowed.`}),JSONSchemaMissing:({schemaRef:e,outputName:t})=>({code:`JSONSchemaMissing`,message:`Missing jsonSchema '${e}' for output with name '${t}'.`}),InvalidJSONSchema:({schemaRef:e})=>({code:`InvalidJSONSchema`,message:`JSON Schema (ref: ${e}) is invalid.`}),MissingOutputFieldDescription:({outputName:e})=>({code:`MissingOutputFieldDescription`,message:`The output field ${e} is missing a "description" property. Define it {{ ${e} description="Foo bar" }}`}),InvalidFormatTag:({outputName:e,format:t})=>({code:`InvalidFormatTag`,message:`The output field ${e} has an invalid format tag ${t}.`}),RecursiveExpandedValue:()=>({code:`RecursiveExpandedValue`,message:`Your input values contain a recursive expanded valuetype `})};var gS=class extends Error{},_S=class extends gS{codes;appErrors;constructor(e){super(e.map(e=>e.message).join(`, `)||`Unknown`),this.errors=e,this.codes=e.map(e=>e.code),this.appErrors=e}};const vS=`fields:merge@1`,yS=h(`merge_result`),bS=r.object({pipe_id:r.literal(vS),connector:wc(),run_if:b(),config:r.object({merge_fields:Mc({sectionKey:`general`,groupPath:`config.general`,path:`config.merge_fields`,label:`Fields`,info:`Provide references to input fields`,minItems:2}),output_fields:F(r.object({[yS.name]:O({fieldName:yS.name})}))})}),xS={"fields-merge-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,provider:`pipe0`,mode:`always`}},SS=class extends B{pipeId=vS;payload;payloadSchema=bS;billableOperations=xS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`fields-merge-v1-pipe0`)}getInputRequirement(){let e=this.payload.config.merge_fields.map(e=>e.field_name),t;return Xl(...this.payload.config.merge_fields.map(n=>z({format:null,type:r=>{let i=su(r,e)[n.field_name],a=i?.type?i.type:`unknown`;if(a!==`unknown`){if(t&&t!==a)throw new _S([hS.InputValuesMustHaveSameType({pipeId:this.pipeId,fieldNames:e})]);t=a}return i?.type?i.type:`unknown`},label:``,description:``,name:n.field_name,resolvedName:n.field_name})))}getRawOutputFields(){return{[yS.name]:this.catalogOutput(yS,{resolveType:e=>{let t=su(e,this.payload.config.merge_fields.map(e=>e.field_name));return Object.values(t).find(e=>!!e.type)?.type||`string`}})}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},CS=bS,wS={pipeId:vS,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(vS),label:`Merge fields`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Join multiple fields into one field. The final result will be the first defined field.`,tags:[U.FIELDS,U.LOGIC],keywords:[`combine`,`join`,`coalesce`,`fallback`,`concat`,`first defined`],docPath:G(vS),defaultInputRequirement:null,billableOperations:xS,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:vS,connector:null,run_if:null,config:{merge_fields:[],output_fields:{merge_result:{alias:``,enabled:!0}}}}},TS=`http:request@1`,ES=h(`http_response_status`),DS=h(`http_response_body`),OS=h(`http_response_headers`),kS=r.object({pipe_id:r.literal(TS),connector:wc(),run_if:b(),config:r.object({method:Xc({sectionKey:`general`,groupPath:`config.general`,path:`config.method`,label:`Method`,defaultValue:`GET`,options:[...[{value:`GET`,label:`GET`},{value:`POST`,label:`POST`},{value:`PUT`,label:`PUT`},{value:`PATCH`,label:`PATCH`},{value:`DELETE`,label:`DELETE`}]],required:!0}),url:x({sectionKey:`general`,groupPath:`config.general`,path:`config.url`,label:`Endpoint`,info:"Target URL. Only http/https. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`https://api.example.com/v1/things`,inputType:`text`,minLength:1,maxLength:2048,expectedTagType:`string`,expectedTagFormat:`text`}),query_params:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.query_params`,label:`Query parameters`,info:"Appended to the URL. In the value column, type `/` to insert a field or secret reference.",keyLabel:`Key`,valueLabel:`Value`,keyPlaceholder:`page`,valuePlaceholder:`1`,maxKeys:50}),body:x({sectionKey:`general`,groupPath:`config.general`,path:`config.body`,label:`Body`,info:"Sent verbatim as the request body. Type `@` to insert a field reference or `$` to insert a secret reference. Set Content-Type via Headers.",placeholder:`{
75
75
  "key": "value"
76
- }`,inputType:`text`,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`text`,multiline:!0}).nullable(),headers:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.headers`,label:`Headers`,info:"In the value column, type `/` to insert a field or secret reference (e.g. `Bearer {{ secret … }}`).",keyLabel:`Header`,valueLabel:`Value`,keyPlaceholder:`Authorization`,valuePlaceholder:`Bearer {{ secret … }}`,maxKeys:50}),expected_response_schema:Yc({sectionKey:`general`,groupPath:`config.advanced`,path:`config.expected_response_schema`,label:`Expected response shape`,description:`Optional JSON Schema. Successful responses that don't satisfy it are marked failed. Extra properties are always tolerated (whitelist).`,allowEmpty:!0}).optional(),output_fields:P(r.object({[_S.name]:D({fieldName:_S.name}),[vS.name]:D({fieldName:vS.name}),[yS.name]:D({fieldName:yS.name})}))})}),xS={"http-request-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.001},mode:`always`}},SS=class extends B{pipeId=gS;payload;payloadSchema=bS;billableOperations=xS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`http-request-v1-pipe0`)}getTemplatedFields(){return[this.payload.config.url,this.payload.config.body,...Object.values(this.payload.config.query_params??{}),...Object.values(this.payload.config.headers??{})]}getInputRequirement(){return nu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[_S.name]:this.catalogOutput(_S),[vS.name]:this.catalogOutput(vS),[yS.name]:this.catalogOutput(yS)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},CS=bS,wS={pipeId:gS,basePipe:W(gS),label:`HTTP request`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Make a generic GET/POST/PUT/PATCH/DELETE HTTP request and capture the JSON response. Optionally validate the response against a JSON schema.`,tags:[U.LOGIC,U.JSON,U.NEW],keywords:[`api`,`rest`,`webhook`,`fetch`,`get`,`post`,`endpoint`,`curl`],docPath:G(gS),billableOperations:xS,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:gS,run_if:null,connector:null,config:{method:`GET`,url:``,query_params:{},body:``,headers:{},expected_response_schema:{},output_fields:{http_response_status:{alias:``,enabled:!0},http_response_body:{alias:``,enabled:!0},http_response_headers:{alias:``,enabled:!1}}}}},TS=`json:extract:multi@1`,ES=r.object({pipe_id:r.literal(TS),run_if:b(),connector:vc(),config:r.object({json_extraction:zs()})}),DS={"json-extract-multi-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},OS=class extends B{pipeId=TS;payload;payloadSchema=ES;billableOperations=DS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`json-extract-multi-v1-pipe0`)}getInputRequirement(){return R({description:``,name:this.payload.config.json_extraction.field_name,format:null,label:``,type:`json`,resolvedName:this.payload.config.json_extraction.field_name})}getRawOutputFields(){let e={};for(let t of this.payload.config.json_extraction.extractions)e[t.output_field.name||t.output_field.name]={description:`Extracted value from JSON input field ${this.payload.config.json_extraction.field_name}.`,enabled:!0,format:t.output_field.format||null,label:t.output_field.label||`Extract JSON`,name:t.output_field.name,resolvedName:t.output_field.name,jsonMeta:null,type:t.output_field.type,isCatalogFIeld:!1,isPrimaryOutput:!1};return e}getConnectionsRequirements(){return[]}},kS=ES,AS={pipeId:TS,basePipe:W(TS),inputFieldMode:`config`,outputFieldMode:`config`,label:`JSON extract`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Extract nested JSON properties into new output fields.`,guide:'Deterministic JSON extraction — PREFER this over prompt:run@1 whenever you need a value out of a JSON / known-schema column (no LLM, reproducible, schedulable). config.json_extraction.field_name is the source json column; each extraction has a JSONata `path` plus an output_field. Read the source column\'s JSON schema (get_pipe_schema / get_search_schema output fields, or get_sheet_schema) to author the path. Examples over a profile\'s employment_history array: `employment_history[is_current_employer=true][]` (array of current jobs → output_field.type "json"); `employment_history[is_primary_current_employer=true].company_domain` (scalar → output_field.type "string"). Set output_field.type to "json" for an object/array result, "string" for a scalar. CRITICAL for a list you will fan out (e.g. into row:expandappend:sheet@1): a JSONata filter returns the matched ELEMENT when exactly one row matches but an ARRAY when several do — so ALWAYS append the array constructor `[]` to force a consistent array in every row (`employment_history[is_current_employer=true][]`, not `...=true]`). Without it the column is an object in single-match rows and an array in others, and the downstream expand rejects the object rows. To confirm a NEW path resolves the shape you expect before running anything downstream, switch the sheet to SANDBOX (env:change@1) and run just this extraction — it runs for REAL in sandbox (no writes, no spend), so you can read the actual result, fix the path, then switch back to production.',docPath:G(TS),tags:[U.JSON],keywords:[`parse`,`pick`,`path`,`nested`,`property`,`jsonata`,`unpack`],managedProviders:[`pipe0`],deprecatedProviders:[],allowedUserConnectionProviders:[],billableOperations:DS,defaultInputRequirement:null,defaultPayload:{pipe_id:TS,run_if:null,connector:null,config:{json_extraction:{field_name:``,extractions:[]}}}},jS=`lead:enroll:amplemarket@1`,MS={"lead-enroll-amplemarket-v1-amplemarket":{allowManagedConnection:!1,provider:`amplemarket`,credits:null,mode:null}},NS=h(`email`),PS=h(`profile_url`),FS=h(`amplemarket_sequence_id`),IS=new Set([`active`,`paused`]),LS=[{label:`Demo · Q3 Outbound`,value:`seq_sandbox_1`},{label:`Demo · Founder Intros`,value:`seq_sandbox_2`}],RS=r.object({pipe_id:r.literal(jS),connector:x(),run_if:b(),config:r.object({sequence_id:Xc({sectionKey:`general`,required:!0,label:`Sequence`,groupPath:`config.general`,path:`config.sequence_id`,info:`The Amplemarket sequence to enroll the lead into (must be active or paused).`,enabledIf:g(`amplemarket`),optionsDef:{requires:{connection:`amplemarket`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return LS;if(!t)throw new X.MissingSecretError({providerName:`amplemarket`});let r=[],i=`https://api.amplemarket.com/sequences?page[size]=100`;for(let e=0;e<10&&i;e++){let e=await fetch(i,{headers:{Authorization:`Bearer ${t}`}});if(!e.ok){let t=await e.text();throw new X.HttpError({msg:t})}let n=await e.json();for(let e of n.sequences??[])IS.has(e.status)&&r.push({label:e.name,value:e.id});let a=n._links?.next?.href;i=a?new URL(a,`https://api.amplemarket.com`).toString():null}return e?r.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):r},widgets:{provider_logo:{provider:`amplemarket`}}}}),input_fields:F(r.object({[NS.name]:w({fieldName:NS.name}),[PS.name]:w({fieldName:PS.name})})),custom_variables:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.custom_variables`,label:`Custom variables`,info:"Amplemarket dynamic fields, sent as the lead's data. The Variable name must match what your sequence references (e.g. `{{ pain_point }}`) — lowercase letters, digits, and underscores only. In the Value column, type `/` to insert a field or secret; leave a Value empty to skip that row. Amplemarket rejects the enrollment if the sequence references a dynamic field that is missing.",keyLabel:`Variable`,valueLabel:`Value`,keyPlaceholder:`pain_point`,valuePlaceholder:`{{ pain_point }}`,maxKeys:50}).default({}),output_fields:P(r.object({[FS.name]:D({fieldName:FS.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.custom_variables??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`custom_variables`,n]});if(t.includes(`{{`)){r("Variable name must be a literal (no `{{ }}` templating).");continue}if(!/^[a-z][a-z0-9_]*$/.test(t)){r(`Invalid Amplemarket dynamic-field name "${t}" — use lowercase letters, digits, and underscores, starting with a letter.`);continue}t.length>255&&r(`Dynamic-field name "${t.slice(0,32)}…" exceeds 255 characters.`)}})}),zS=e=>Ul(R(K(NS,e)),R(K(PS,e))),BS=e=>{let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Wl({name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||`string`,format:`text`}))},VS=class extends B{pipeId=jS;payload;payloadSchema=RS;billableOperations=MS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(e){return q(e,`lead-enroll-amplemarket-v1-amplemarket`)}getCustomVariableValueTemplates(){return Object.values(this.payload.config.custom_variables??{})}getInputRequirement(){return z(zS(this.payload.config),...BS(this.getCustomVariableValueTemplates()))}getSecretRequirements(){return H(this.getCustomVariableValueTemplates())}getConstantRequirements(){return ru(this.getCustomVariableValueTemplates())}getRawOutputFields(){return{[FS.name]:this.catalogOutput(FS)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_account_operation`,allowManagedConnection:!1}]}},HS=RS,US={pipeId:jS,basePipe:W(jS),label:`Enroll Lead in Sequence`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Add a lead to an Amplemarket sequence, with custom dynamic fields.`,tags:[U.EMAIL],keywords:[`campaign`,`outreach`,`add`,`subscribe`,`outbound`,`email marketing`],docPath:G(jS),billableOperations:MS,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`amplemarket`],defaultInputRequirement:zS(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:jS,connector:{strategy:`first`,connections:[]},run_if:null,config:{sequence_id:``,input_fields:{email:{alias:``},profile_url:{alias:``}},custom_variables:{},output_fields:{amplemarket_sequence_id:{alias:``,enabled:!0}}}}},WS=`lead:enroll:lemlist@1`,GS={"lead-enroll-lemlist-v1-lemlist":{allowManagedConnection:!1,provider:`lemlist`,credits:null,mode:null}},KS=h(`email`),qS=h(`name`),JS=h(`first_name`),YS=h(`last_name`),XS=h(`company_name`),ZS=h(`job_title`),QS=h(`profile_url`),$S=h(`phone`),eC=h(`lemlist_lead_id`),tC=h(`lemlist_enrollment_result`),nC=new Set([`email`,`firstName`,`lastName`,`name`,`companyName`,`jobTitle`,`linkedinUrl`,`phone`,`companyDomain`,`icebreaker`,`picture`]),rC=[{label:`Demo · Q3 Outbound`,value:`cam_sandbox_1`},{label:`Demo · Founder Intros`,value:`cam_sandbox_2`}],iC={requires:{connection:`lemlist`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return rC;if(!t)throw new X.MissingSecretError({providerName:`lemlist`});let r=await fetch(`https://api.lemlist.com/api/campaigns?limit=100`,{headers:{Authorization:`Basic ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=await r.json(),a=(Array.isArray(i)?i:i.campaigns??[]).map(e=>({label:e.name,value:e._id}));return e?a.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):a},widgets:{provider_logo:{provider:`lemlist`}}};function aC(e){let t=new Set,n=new Set;try{let r=Oo(e);for(let[e,i]of Object.entries(r.inputs))(i.required?t:n).add(e)}catch{for(let n of e.matchAll(/\{\{\s*([A-Za-z_][A-Za-z0-9_]*)/g))t.add(n[1])}return{required:[...t],optional:[...n]}}const oC=r.object({pipe_id:r.literal(WS),connector:x(),run_if:b(),config:r.object({campaign_id:Xc({sectionKey:`general`,required:!0,label:`Campaign`,groupPath:`config.general`,path:`config.campaign_id`,info:`The lemlist campaign to enroll the lead into.`,enabledIf:g(`lemlist`),optionsDef:iC}),input_fields:F(r.object({[KS.name]:w({fieldName:KS.name}),[qS.name]:w({fieldName:qS.name}),[JS.name]:w({fieldName:JS.name}),[YS.name]:w({fieldName:YS.name}),[XS.name]:w({fieldName:XS.name}),[ZS.name]:w({fieldName:ZS.name}),[QS.name]:w({fieldName:QS.name}),[$S.name]:w({fieldName:$S.name})})),custom_variables:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.custom_variables`,label:`Custom variables`,info:"lemlist custom variables, set on the lead after enrollment. The Variable name must match what your sequence references (e.g. `{{ painPoint }}`) — case-sensitive, no spaces. In the Value column, type `/` to insert a field or secret; leave a Value empty to skip that row. Standard fields (company, job title, LinkedIn, phone) are set via the fields above, not here.",keyLabel:`Variable`,valueLabel:`Value`,keyPlaceholder:`painPoint`,valuePlaceholder:`{{ pain_point }}`,maxKeys:50}),output_fields:P(r.object({[eC.name]:D({fieldName:eC.name}),[tC.name]:D({fieldName:tC.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.custom_variables??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`custom_variables`,n]});if(t.includes(`{{`)){r("Variable name must be a literal (no `{{ }}` templating).");continue}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)){r(`Invalid lemlist variable name "${t}" — use letters, digits, and underscores; no spaces.`);continue}nC.has(t)&&r(`"${t}" is a standard lemlist field — set it via the dedicated field above, not as a custom variable.`)}})}),sC=e=>z(R(K(KS,e)),Ul(R(K(qS,e)),z(R(K(JS,e)),R(K(YS,e)))),Wl(K(XS,e)),Wl(K(ZS,e)),Wl(K(QS,e)),Wl(K($S,e))),cC=e=>{let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Wl({name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||`string`,format:`text`}))},lC=class extends B{pipeId=WS;payload;payloadSchema=oC;billableOperations=GS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`lemlist`]}estimateBillableOperations(e){return q(e,`lead-enroll-lemlist-v1-lemlist`)}getCustomVariableValueTemplates(){return Object.values(this.payload.config.custom_variables??{})}getInputRequirement(){return z(sC(this.payload.config),...cC(this.getCustomVariableValueTemplates()))}getSecretRequirements(){return H(this.getCustomVariableValueTemplates())}getConstantRequirements(){return ru(this.getCustomVariableValueTemplates())}getRawOutputFields(){return{[eC.name]:this.catalogOutput(eC),[tC.name]:this.catalogOutput(tC)}}getConnectionsRequirements(){return[{provider:`lemlist`,rateLimitRatio:1,rateLimitOperation:`lemlist_create_lead`,allowManagedConnection:!1}]}async getAgentContext({connectionSecrets:e,environment:t}){let n=this.payload.config.campaign_id,r=Array.isArray(n)?n[0]:n;if(!r)return null;if(t===`sandbox`)return{summary:`Sandbox: this sequence references custom variables painPoint and eventLink — set each via config.custom_variables.`,data:{required_custom_variables:[`painPoint`,`eventLink`],used_standard_fields:[`firstName`]}};let i=e.lemlist;if(!i)throw new X.MissingSecretError({providerName:`lemlist`});let a=await fetch(`https://api.lemlist.com/api/campaigns/${encodeURIComponent(r)}/sequences`,{headers:{Authorization:`Basic ${i}`},signal:AbortSignal.timeout(1e4)});if(!a.ok){let e=await a.text();throw new X.HttpError({msg:e})}let o=await a.json(),s=new Set;for(let e of Object.values(o??{}))for(let t of e?.steps??[])for(let e of[t?.subject,t?.message]){if(!e)continue;let{required:t,optional:n}=aC(e);for(let e of[...t,...n])s.add(e)}let c=[...s].filter(e=>nC.has(e)),l=[...s].filter(e=>!nC.has(e));return{summary:l.length===0?`This sequence uses only standard lemlist fields — no custom variables to set.`:`This sequence requires these custom variables — set each via config.custom_variables (the value is a Liquid template over your sheet columns, e.g. {{ pain_point }}): ${l.join(`, `)}. Standard fields (email, firstName, …) are populated by the input fields above, not here.`,data:{required_custom_variables:l,used_standard_fields:c}}}},uC=oC,dC={pipeId:WS,basePipe:W(WS),label:`Enroll Lead in Campaign`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Add a lead to a lemlist campaign sequence, with custom variables.`,tags:[U.EMAIL],keywords:[`sequence`,`outreach`,`add`,`subscribe`,`outbound`,`email marketing`],docPath:G(WS),billableOperations:GS,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`lemlist`],defaultInputRequirement:sC(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:WS,connector:{strategy:`first`,connections:[]},run_if:null,config:{campaign_id:``,input_fields:{email:{alias:``},name:{alias:``},first_name:{alias:``},last_name:{alias:``},company_name:{alias:``},job_title:{alias:``},profile_url:{alias:``},phone:{alias:``}},custom_variables:{},output_fields:{lemlist_lead_id:{alias:``,enabled:!0},lemlist_enrollment_result:{alias:``,enabled:!1}}}}},fC=`message:send:slack@1`,pC=h(`slack_message_success`),mC=[{label:`#demo-general`,value:`C0SANDBOX001`},{label:`#demo-alerts`,value:`C0SANDBOX002`}],hC=r.object({pipe_id:r.literal(fC),connector:x(),run_if:b(),config:r.object({channel_id:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.channel_id`,label:`Channel ID`,info:"Your connection must be authorized to post to this channel. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`C0123456789`,inputType:`text`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:{requires:{connection:`slack`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return mC;if(!t)throw new X.MissingSecretError({providerName:`slack`});let r=await fetch(`https://slack.com/api/conversations.list?limit=200&exclude_archived=true&types=public_channel,private_channel`,{headers:{Authorization:`Bearer ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=await r.json();if(!i.ok)throw new X.HttpError({msg:i.error??`slack_error`});let a=(i.channels??[]).map(e=>({label:`#${e.name}`,value:e.id}));return e?a.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):a},widgets:{provider_logo:{provider:`slack`}}}}),message:gc({sectionKey:`general`,groupPath:`config.general`,path:`config.message`,label:`Message`,info:"The message body. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ name }}, …`,inputType:`text`,minLength:1,maxLength:4e4,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:P(r.object({[pC.name]:D({fieldName:pC.name})}))})}),gC={"message-send-slack-v1-slack":{allowManagedConnection:!1,provider:`slack`,credits:null,mode:null}},_C=class extends B{pipeId=fC;payload;payloadSchema=hC;billableOperations=gC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`slack`]}estimateBillableOperations(e){return q(e,`message-send-slack-v1-slack`)}getTemplatedFields(){return[this.payload.config.channel_id,this.payload.config.message]}getInputRequirement(){return nu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[pC.name]:this.catalogOutput(pC)}}getConnectionsRequirements(){return[{provider:`slack`,rateLimitRatio:1,rateLimitOperation:`slack_post_message`,allowManagedConnection:!1}]}},vC=hC,yC={pipeId:fC,basePipe:W(fC),label:`Send message into channel`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send a Slack message to a channel.`,guide:"Send a Slack message. The channel ID and message body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Slack vault connection (call list_connections to find one).",tags:[U.CHAT],keywords:[`notify`,`notification`,`alert`,`post`,`chat`],docPath:G(fC),billableOperations:gC,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`slack`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:null,defaultPayload:{pipe_id:fC,connector:{strategy:`first`,connections:[]},run_if:null,config:{channel_id:``,message:``,output_fields:{slack_message_success:{alias:``,enabled:!0}}}}},bC=`message:write@1`,xC=h(`message`),SC=`message-write-v1`,CC=Ss(SC),wC=r.object({pipe_id:r.literal(bC),connector:S(),run_if:b(),config:r.object({template:hc({sectionKey:`general`,label:`Template`,path:`config.template`,placeholder:V(`prompt`),groupPath:`config.prompt`,required:!0}),model:Gc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:CC}),output_fields:P(r.object({[xC.name]:D({fieldName:xC.name})}))})}),TC=class extends B{pipeId=bC;payload;payloadSchema=wC;billableOperations=CC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return hs(this.payload.config.model)}estimateBillableOperations(e){return ws(e,{model:this.payload.config.model,prefix:SC,inputTokens:600,outputTokens:800})}getInputRequirement(){return nu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return ru([this.payload.config.template])}getRawOutputFields(){return{[xC.name]:this.catalogOutput(xC)}}getConnectionsRequirements(){return gs(this.payload.config.model)}},EC=wC,DC={pipeId:bC,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(bC),label:`Message writer`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`An AI agent specialized in composing messages for modern workplace communication platforms (Slack, Teams, Discord, etc.)`,guide:`AI message composer for Slack/Teams/Discord. Outputs: message. Pair with message:send:slack@1 to send.`,tags:[U.AI],keywords:[`ai`,`compose`,`draft`,`copywriting`,`outreach`,`slack`,`teams`],docPath:G(bC),defaultInputRequirement:null,billableOperations:CC,allowedUserConnectionProviders:_s(),managedProviders:_s(),deprecatedProviders:[],defaultPayload:{pipe_id:bC,connector:null,run_if:null,config:{model:`openai-high`,template:``,output_fields:{message:{alias:``,enabled:!0}}}}},OC=h(`hubspot_associated_count`),kC=h(`hubspot_associated_objects`),AC=`object:associations:hubspot@1`,jC=r.object({pipe_id:r.literal(AC),run_if:b(),connector:x(),config:r.object({from_object_type:Xc({sectionKey:`general`,required:!0,label:`From object type`,groupPath:`config.general`,path:`config.from_object_type`,info:`The type of the source record (standard or custom object).`,enabledIf:g(`hubspot`),optionsDef:Mf}),to_object_type:Xc({sectionKey:`general`,required:!0,label:`To object type`,groupPath:`config.general`,path:`config.to_object_type`,info:`The type of the associated records to retrieve (standard or custom object).`,enabledIf:g(`hubspot`),optionsDef:Mf}),association_label:Xc({sectionKey:`general`,required:!1,label:`Association label`,groupPath:`config.general`,path:`config.association_label`,info:`Only follow associations with this label (labels are portal-specific, e.g. "Decision maker"). Empty = all associations.`,enabledIf:g(`hubspot`),optionsDef:Nf}),object_id:gc({sectionKey:`general`,label:`Object ID`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.object_id`,placeholder:`{{ hubspot_object_id }}`,info:"The source record's ID (hs_object_id) — a literal ID or a `{{ column }}` reference, typically chained from a match pipe or search."}),properties:Nc({sectionKey:`general`,label:`Properties`,groupPath:`config.general`,path:`config.properties`,placeholder:`name`,info:`HubSpot internal property names of the TARGET object to include per associated record. Empty = HubSpot's default properties.`}),limit:qc({sectionKey:`general`,label:`Limit`,groupPath:`config.general`,path:`config.limit`,info:``,min:1,max:100}).default(20),output_fields:P(r.object({[OC.name]:D({fieldName:OC.name}),[kC.name]:D({fieldName:kC.name})}))})}),MC=e=>{let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Wl({name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||`string`,format:`text`}))},NC={"object-associations-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},PC=class extends B{pipeId=AC;payload;payloadSchema=jC;billableOperations=NC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`object-associations-hubspot-v1-hubspot`)}getInputRequirement(){return z(...MC([this.payload.config.object_id]))}getSecretRequirements(){return H([this.payload.config.object_id])}getRawOutputFields(){return{[OC.name]:this.catalogOutput(OC),[kC.name]:this.catalogOutput(kC)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_generic`,allowManagedConnection:!1}]}async getAgentContext(e){let t=this.payload.config.to_object_type,n=Array.isArray(t)?t[0]??``:t;return Lf(e,{objectTypes:[[n||`target object`,n||`0-1`]]})}},FC=jC,IC={pipeId:AC,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(AC),label:`HubSpot associated objects`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Retrieve the HubSpot records associated with a source record — one level of joins across standard and custom objects (e.g. a company's deals, or a custom object linked to a company).`,tags:[U.FIELDS],keywords:[`crm`,`join`,`related`,`association`,`custom object`,`linked`],docPath:G(AC),guide:`Associations are HubSpot's joins — the Search API never returns them, so this pipe is the way to fetch related records. Association labels are portal-specific; leave the label empty to follow all associations. Zero associations is a successful result (count = 0). Target-object properties use internal names — call get_provider_context for the portal's catalog.`,billableOperations:NC,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:z(),defaultPayload:{pipe_id:AC,connector:{strategy:`first`,connections:[]},run_if:null,config:{from_object_type:`0-2`,to_object_type:`0-3`,association_label:``,object_id:`{{ hubspot_object_id }}`,properties:[],limit:20,output_fields:{hubspot_associated_count:{alias:``,enabled:!0},hubspot_associated_objects:{alias:``,enabled:!0}}}}},LC=h(`hubspot_update_result`),RC=`object:update:hubspot@1`,zC=r.object({pipe_id:r.literal(RC),run_if:b(),connector:x(),config:r.object({object_type:Xc({sectionKey:`general`,required:!0,label:`Object type`,groupPath:`config.general`,path:`config.object_type`,info:`Standard objects plus this portal's custom objects (custom objects need HubSpot Enterprise).`,enabledIf:g(`hubspot`),optionsDef:Mf}),object_id:gc({sectionKey:`general`,label:`Object ID`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.object_id`,placeholder:`{{ hubspot_object_id }}`,info:"The HubSpot record ID (hs_object_id) to update — a literal ID or a `{{ column }}` reference, typically chained from a match pipe."}),properties:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.properties`,label:`Property values`,info:"Property = the HubSpot internal name (e.g. `jobtitle`, custom properties too). In the Value column, type `/` to insert a field reference. Enumeration values must be existing internal option values (case-sensitive).",keyLabel:`Property`,valueLabel:`Value`,keyPlaceholder:`jobtitle`,valuePlaceholder:`{{ job_title }}`,maxKeys:50}),ignore_blank_values:E({sectionKey:`general`,defaultValue:!0,label:`Ignore blank values`,groupPath:`config.general`,path:`config.ignore_blank_values`,info:`ON: rows whose value renders empty are skipped, preserving CRM data. OFF: empty values CLEAR the property in HubSpot.`}),output_fields:P(r.object({[LC.name]:D({fieldName:LC.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.properties??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`properties`,n]});if(t.includes(`{{`)){r("Property name must be a literal internal name (no `{{ }}` templating).");continue}/^[a-z][a-z0-9_]*$/.test(t)||r(`Invalid HubSpot property name "${t}" — internal names are lowercase letters, digits, and underscores.`)}})}),BC=e=>{let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Wl({name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||`string`,format:`text`}))},VC={"object-update-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},HC=class extends B{pipeId=RC;payload;payloadSchema=zC;billableOperations=VC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`object-update-hubspot-v1-hubspot`)}getTemplates(){return[this.payload.config.object_id,...Object.values(this.payload.config.properties??{})].filter(e=>!!e)}getInputRequirement(){return z(...BC(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[LC.name]:this.catalogOutput(LC)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_generic`,allowManagedConnection:!1}]}async getAgentContext(e){let t=this.payload.config.object_type,n=Array.isArray(t)?t[0]??``:t;return Lf(e,{objectTypes:[[n||`contacts`,n||`0-1`]],writableOnly:!0})}},UC=zC,WC={pipeId:RC,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(RC),label:`HubSpot update object`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Update a HubSpot record (standard or custom object) by its record ID, mapping columns to properties. Blank values are skipped by default so un-enriched cells never erase CRM data.`,tags:[U.FIELDS],keywords:[`crm`,`write`,`sync`,`record`,`property`,`custom object`],docPath:G(RC),guide:`Resolve the record ID first via a match pipe (Lookup → Update by ID is the canonical HubSpot recipe; there is no reliable upsert for companies). Call get_provider_context for the selected object type to see WRITABLE properties and enumeration option values — HubSpot rejects read-only properties and unknown enum values (case-sensitive, never auto-created). Property writes fire the portal's workflows; rows where every value renders blank skip the API call entirely. With 'Ignore blank values' OFF, an empty value CLEARS the property in HubSpot.`,billableOperations:VC,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:z(),defaultPayload:{pipe_id:RC,connector:{strategy:`first`,connections:[]},run_if:null,config:{object_type:`0-1`,object_id:`{{ hubspot_object_id }}`,properties:{},ignore_blank_values:!0,output_fields:{hubspot_update_result:{alias:``,enabled:!0}}}}},GC=`v67.0`;function KC(e){try{let t=JSON.parse(e);if(t.access_token&&t.instance_url)return{access_token:t.access_token,instance_url:t.instance_url}}catch{}throw new X.HttpError({msg:`Salesforce credential is not a valid token bundle — reconnect Salesforce through the OAuth flow.`})}async function qC(e,t){let{access_token:n,instance_url:r}=KC(e),i=await fetch(`${r.replace(/\/$/,``)}${t}`,{headers:{Authorization:`Bearer ${n}`},signal:AbortSignal.timeout(1e4)});if(!i.ok)throw new X.HttpError({msg:await i.text()});return await i.json()}async function JC(e,t){return(await qC(e,`/services/data/${GC}/query?q=${encodeURIComponent(t)}`)).records??[]}function YC(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(n))}const XC=e=>({requires:{connection:`salesforce`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return YC([{label:`Contact`,value:`Contact`},{label:`Account`,value:`Account`},{label:`Lead`,value:`Lead`},{label:`Opportunity`,value:`Opportunity`},{label:`Demo Object (custom)`,value:`Demo_Object__c`}],t);if(!n)throw new X.MissingSecretError({providerName:`salesforce`});return YC((await qC(n,`/services/data/${GC}/sobjects/`)).sobjects.filter(t=>t.queryable&&(!e?.updateableOnly||t.updateable)).map(e=>({label:e.custom?`${e.label} (custom)`:e.label,value:e.name})),t)},widgets:{provider_logo:{provider:`salesforce`}}}),ZC={requires:{connection:`salesforce`,fields:[`config.object`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`External Id (External_Id__c)`,value:`External_Id__c`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});let i=n?.config,a=rw(i?.object);return a?YC((await qC(t,`/services/data/${GC}/sobjects/${encodeURIComponent(a)}/describe`)).fields.filter(e=>e.externalId).map(e=>({label:`${e.label} (${e.name})`,value:e.name})),e):[]},widgets:{provider_logo:{provider:`salesforce`}}},QC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Prospecting`,value:`Prospecting`},{label:`Demo · Negotiation`,value:`Negotiation`},{label:`Demo · Closed Won ✓ won`,value:`Closed Won`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return YC((await JC(t,`SELECT ApiName, MasterLabel, IsClosed, IsWon FROM OpportunityStage ORDER BY SortOrder ASC`)).map(e=>({label:`${e.MasterLabel}${e.IsWon?` ✓ won`:e.IsClosed?` ✕ closed`:``}`,value:e.ApiName})),e)},widgets:{provider_logo:{provider:`salesforce`}}},$C={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Ada Lovelace (ada@example.com)`,value:`005000000000001AAA`},{label:`Demo · Alan Turing (alan@example.com)`,value:`005000000000002AAA`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return YC((await JC(t,`SELECT Id, Name, Email FROM User WHERE IsActive = true ORDER BY Name ASC LIMIT 500`)).map(e=>({label:`${e.Name} (${e.Email})`,value:e.Id})),e)},widgets:{provider_logo:{provider:`salesforce`}}},ew={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Open - Not Contacted`,value:`Open - Not Contacted`},{label:`Demo · Working - Contacted`,value:`Working - Contacted`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return YC((await JC(t,`SELECT ApiName, MasterLabel FROM LeadStatus ORDER BY SortOrder ASC`)).map(e=>({label:e.MasterLabel,value:e.ApiName})),e)},widgets:{provider_logo:{provider:`salesforce`}}},tw=(e,t)=>({requires:{connection:`salesforce`},options:async({query:n,secret:r,environment:i})=>{if(i===`sandbox`)return[{label:`Demo · Technology`,value:`Technology`},{label:`Demo · Finance`,value:`Finance`}];if(!r)throw new X.MissingSecretError({providerName:`salesforce`});return YC(((await qC(r,`/services/data/${GC}/sobjects/${encodeURIComponent(e)}/describe`)).fields.find(e=>e.name===t)?.picklistValues??[]).filter(e=>e.active).map(e=>({label:e.label,value:e.value})),n)},widgets:{provider_logo:{provider:`salesforce`}}}),nw=e=>({requires:{connection:`salesforce`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · All Records`,value:`00B000000000001AAA`},{label:`Demo · My Records`,value:`00B000000000002AAA`}];if(!n)throw new X.MissingSecretError({providerName:`salesforce`});return YC((await qC(n,`/services/data/${GC}/sobjects/${encodeURIComponent(e)}/listviews`)).listviews.map(e=>({label:e.soqlCompatible?e.label:`${e.label} (not SOQL-compatible)`,value:e.id})),t)},widgets:{provider_logo:{provider:`salesforce`}}});function rw(e){return Array.isArray(e)?e[0]??``:e??``}const iw=e=>{let t=new Set;for(let n of e)if(n)try{let e=Oo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Wl({name:e,resolvedName:e,label:e,description:``,type:t=>tu(t,e)?.type||`string`,format:`text`}))};async function aw(e,{objects:t,includeStages:n=!1,includeListViewsFor:r=[],includeOwners:i=!1,writableOnly:a=!1}){if(e.environment===`sandbox`)return{summary:[`Sandbox Salesforce org (demo data — field names below are examples, real orgs differ):`,`- Contact: FirstName, LastName, Email, Title, AccountId, OwnerId, Lead_Score__c (custom)`,`- Lead: FirstName, LastName, Email, Company, Status (options: Open - Not Contacted, Working - Contacted), IsConverted`,`- Account: Name, Website, Industry (picklist), NumberOfEmployees, AnnualRevenue`,`- Opportunity: Name, StageName (stages: Prospecting, Negotiation, Closed Won), Amount, CloseDate, IsClosed, IsWon`,"Use field API names verbatim (`__c` suffix = custom). Call this tool against a production connection for the org's real shape."].join(`
77
- `)};let o=e.connectionSecrets.salesforce;if(!o)return null;let s={},c=[];try{let[e]=await JC(o,`SELECT IsSandbox, OrganizationType FROM Organization`),t=null,n=!1;try{let e=await JC(o,`SELECT IsoCode FROM CurrencyType WHERE IsCorporate = true`);n=!0,t=e[0]?.IsoCode??null}catch{n=!1}s.org={is_sandbox:e?.IsSandbox??null,edition:e?.OrganizationType??null,multi_currency:n,corporate_currency_iso:t},c.push(`Org: ${e?.OrganizationType??`unknown edition`}${e?.IsSandbox?` (SANDBOX — tokens die on refresh, emails end in .invalid)`:``}${n?`; multi-currency (corporate ${t}) — prefix amount literals like ${t}5000`:``}.`)}catch{}for(let e of t){let t=await qC(o,`/services/data/${GC}/sobjects/${encodeURIComponent(e)}/describe`),n=t.fields.filter(e=>!a||e.updateable&&!e.calculated).map(e=>({name:e.name,label:e.label,type:e.type,updateable:e.updateable,createable:e.createable,external_id:e.externalId||void 0,read_only:e.calculated||!e.updateable?!0:void 0,restricted_picklist:e.restrictedPicklist||void 0,reference_to:e.referenceTo?.length?e.referenceTo:void 0,relationship_name:e.relationshipName??void 0,picklist_values:e.picklistValues?.length?e.picklistValues.filter(e=>e.active).slice(0,25).map(e=>e.value):void 0}));s[e]=n,e===`Account`&&t.fields.some(e=>e.name===`IsPersonAccount`)&&(s.has_person_accounts=!0,c.push(`Person Accounts are ENABLED: B2C people live as Accounts (PersonEmail); Account.Name is read-only on them.`));let r=n.filter(e=>e.restricted_picklist).map(e=>e.name);c.push(`${e}: ${n.length} fields${a?` (writable only)`:``}. Restricted picklists (values validated): ${r.join(`, `)||`none`}.`)}if(n)try{let e=await JC(o,`SELECT ApiName, MasterLabel, IsClosed, IsWon, SortOrder FROM OpportunityStage ORDER BY SortOrder ASC`);s.opportunity_stages=e,c.push(`Opportunity stages (use ApiName verbatim; never assume "Closed Won" exists): ${e.map(e=>`${e.ApiName}${e.IsWon?`(won)`:e.IsClosed?`(closed)`:``}`).join(`, `)}.`)}catch{}for(let e of r)try{let t=await qC(o,`/services/data/${GC}/sobjects/${encodeURIComponent(e)}/listviews`);s[`${e}_list_views`]=t.listviews.slice(0,25)}catch{}if(i)try{s.active_owners_sample=await JC(o,`SELECT Id, Name, Email FROM User WHERE IsActive = true ORDER BY Name ASC LIMIT 25`)}catch{}return c.push("Use field API names verbatim (`__c` = custom, `ns__Field__c` = managed package).",`Converted leads are read-only; duplicate rules may block writes (the error lists matching records).`,`Fields absent here may still exist but be hidden from the connected user by field-level security — and 'no match' can mean 'no record access' under private sharing.`),{summary:c.join(`
78
- `),data:s}}const ow=h(`company_domain`),sw=h(`salesforce_accounts_found_count`),cw=h(`salesforce_record_id`),lw=h(`salesforce_account_matches`),uw=`account:match:salesforce@1`,dw=r.object({pipe_id:r.literal(uw),run_if:b(),connector:x(),config:r.object({website_field:Hc({sectionKey:`general`,inputType:`text`,label:`Website field`,groupPath:`config.general`,path:`config.website_field`,placeholder:`Website`,info:"The Account field holding the company web address. Salesforce has NO standard domain field — matching normalizes this field's URL spellings. Point it at a custom field like `Domain__c` if your org keeps clean domains there."}).default(`Website`),custom_properties:Nc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`AnnualRevenue`,info:"Field API names added to each match JSON under `custom_properties` (standard-set names are already top-level)."}),input_fields:F(r.object({[ow.name]:w({fieldName:ow.name})})),output_fields:P(r.object({[sw.name]:D({fieldName:sw.name}),[cw.name]:D({fieldName:cw.name}),[lw.name]:D({fieldName:lw.name})}))}).optional()}),fw=e=>R(K(ow,e)),pw={"account-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},mw=class extends B{pipeId=uw;payload;payloadSchema=dw;billableOperations=pw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`account-match-salesforce-v1-salesforce`)}getInputRequirement(){return fw(this.payload.config)}getRawOutputFields(){return{[sw.name]:this.catalogOutput(sw),[cw.name]:this.catalogOutput(cw),[lw.name]:this.catalogOutput(lw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[`Account`]})}},hw=dw,gw={pipeId:uw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(uw),label:`Salesforce account match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find accounts in your Salesforce org by company domain. Salesforce has no domain field, so the match probes exact spellings of the Website URL (never substring matching). Multiple matches are normal; a clean miss completes with count = 0.`,tags:[U.WEBSITE],keywords:[`crm`,`sfdc`,`company`,`lookup`,`exists`,`dedupe`,`domain`],docPath:G(uw),guide:"Matching is exact-IN over ~10 generated Website spellings (acme.com, www.acme.com, https variants…) — exotic stored formats (acme.com/about-us) will miss; the org-side fix is a clean custom field targeted via `website_field`. Person accounts are excluded. `salesforce_record_id` = the OLDEST match (CreatedDate ASC — usually the canonical record); all matches ride in the matches JSON. found_count = 0 is a successful result.",billableOperations:pw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:fw(null),defaultPayload:{pipe_id:uw,connector:{strategy:`first`,connections:[]},run_if:null,config:{website_field:`Website`,custom_properties:[],input_fields:{company_domain:{alias:``}},output_fields:{salesforce_accounts_found_count:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_account_matches:{alias:``,enabled:!0}}}}},_w=h(`company_domain`),vw=h(`email`),yw=h(`salesforce_opportunities_found_count`),bw=h(`salesforce_record_id`),xw=h(`salesforce_opportunity_matches`),Sw=`opportunity:match:salesforce@1`,Cw=r.object({pipe_id:r.literal(Sw),run_if:b(),connector:x(),config:r.object({status:Wc({sectionKey:`general`,required:!1,label:`Opportunity status`,groupPath:`config.general`,path:`config.status`,description:`Filters on Salesforce's computed IsClosed / IsWon — org-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),stage:Xc({sectionKey:`general`,required:!1,label:`Stage`,groupPath:`config.general`,path:`config.stage`,info:`Only match opportunities in this stage (the org's own OpportunityStage list). Empty = all stages.`,enabledIf:g(`salesforce`),optionsDef:QC}),custom_properties:Nc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`NextStep`,info:"Field API names added to each match JSON under `custom_properties` (standard-set names are already top-level)."}),input_fields:F(r.object({[_w.name]:w({fieldName:_w.name}),[vw.name]:w({fieldName:vw.name})})),output_fields:P(r.object({[yw.name]:D({fieldName:yw.name}),[bw.name]:D({fieldName:bw.name}),[xw.name]:D({fieldName:xw.name})}))}).optional()}),ww=e=>Ul(R(K(_w,e)),R(K(vw,e))),Tw={"opportunity-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},Ew=class extends B{pipeId=Sw;payload;payloadSchema=Cw;billableOperations=Tw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`opportunity-match-salesforce-v1-salesforce`)}getInputRequirement(){return ww(this.payload.config)}getRawOutputFields(){return{[yw.name]:this.catalogOutput(yw),[bw.name]:this.catalogOutput(bw),[xw.name]:this.catalogOutput(xw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[`Opportunity`],includeStages:!0})}},Dw=Cw,Ow={pipeId:Sw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Sw),label:`Salesforce opportunity match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find opportunities in your Salesforce org for a company (by domain, via the matched account) or person (by email, via contact roles) — opportunities have no natural key of their own. A clean miss completes with count = 0.`,tags:[U.WEBSITE,U.EMAIL],keywords:[`crm`,`sfdc`,`deal`,`pipeline`,`lookup`,`exists`,`revenue`],docPath:G(Sw),guide:"Domain input resolves via account match → Opportunity.AccountId (preferred when both inputs are present); email resolves via the contact's OpportunityContactRole (note: OCRs the connected user cannot see are silently missed under private sharing). Filter open/won via `status` (computed IsClosed/IsWon — never assume a stage named 'Closed Won' exists); `stage` values are OpportunityStage ApiNames from get_provider_context. Contact roles ride each match as `contact_roles` edge metadata. found_count = 0 is a successful result.",billableOperations:Tw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:ww(null),defaultPayload:{pipe_id:Sw,connector:{strategy:`first`,connections:[]},run_if:null,config:{status:`any`,stage:``,custom_properties:[],input_fields:{company_domain:{alias:``},email:{alias:``}},output_fields:{salesforce_opportunities_found_count:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_opportunity_matches:{alias:``,enabled:!0}}}}},kw=h(`email`),Aw=h(`salesforce_person_found`),jw=h(`salesforce_record_id`),Mw=h(`salesforce_person_match`),Nw=`person:match:salesforce@1`,Pw=r.object({pipe_id:r.literal(Nw),run_if:b(),connector:x(),config:r.object({match_scope:Wc({sectionKey:`general`,required:!1,label:`Match scope`,groupPath:`config.general`,path:`config.match_scope`,description:`Which Salesforce person shapes to probe. Person Accounts are included automatically when the org has them.`,options:[{label:`Contacts and leads`,value:`contacts_and_leads`},{label:`Contacts only`,value:`contacts_only`},{label:`Leads only`,value:`leads_only`}]}).default(`contacts_and_leads`),custom_properties:Nc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`Lead_Score__c`,info:"Field API names added to the match JSON under `custom_properties` (standard-set names are already top-level). Dotted parent paths like `Account.Industry` work."}),input_fields:F(r.object({[kw.name]:w({fieldName:kw.name})})),output_fields:P(r.object({[Aw.name]:D({fieldName:Aw.name}),[jw.name]:D({fieldName:jw.name}),[Mw.name]:D({fieldName:Mw.name})}))}).optional()}),Fw=e=>R(K(kw,e)),Iw={"person-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},Lw=class extends B{pipeId=Nw;payload;payloadSchema=Pw;billableOperations=Iw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`person-match-salesforce-v1-salesforce`)}getInputRequirement(){return Fw(this.payload.config)}getRawOutputFields(){return{[Aw.name]:this.catalogOutput(Aw),[jw.name]:this.catalogOutput(jw),[Mw.name]:this.catalogOutput(Mw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[`Contact`,`Lead`]})}},Rw=Pw,zw={pipeId:Nw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Nw),label:`Salesforce person match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a person exists in your Salesforce org by email — across Contacts, Leads, and Person Accounts in one call, with deterministic precedence and converted-lead redirect. A clean miss completes with found = false.`,tags:[U.EMAIL],keywords:[`crm`,`sfdc`,`contact`,`lead`,`lookup`,`exists`,`dedupe`],docPath:G(Nw),guide:"Matches by exact email in ONE API call across up to three shapes, with precedence: live Contact → converted Lead's contact (is_converted_redirect = true) → live Lead → Person Account. found = false is a successful result — gate follow-ups with run_if on it. `object_type` in the match JSON says which shape matched; chain `salesforce_record_id` into record:update:salesforce@1 or record:lookup:salesforce@1. Note: 'no match' can also mean the connected user lacks record access (private sharing).",billableOperations:Iw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Fw(null),defaultPayload:{pipe_id:Nw,connector:{strategy:`first`,connections:[]},run_if:null,config:{match_scope:`contacts_and_leads`,custom_properties:[],input_fields:{email:{alias:``}},output_fields:{salesforce_person_found:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_person_match:{alias:``,enabled:!0}}}}},Bw=h(`salesforce_record_id`),Vw=h(`salesforce_record_created`),Hw=h(`salesforce_record_match`),Uw=`record:assert:salesforce@1`,Ww=r.object({pipe_id:r.literal(Uw),run_if:b(),connector:x(),config:r.object({object:Xc({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can create/update.`,enabledIf:g(`salesforce`),optionsDef:XC({updateableOnly:!0})}),external_id_field:Xc({sectionKey:`general`,required:!0,label:`External ID field`,groupPath:`config.general`,path:`config.external_id_field`,info:`The object's External-ID field anchoring the upsert (fields marked External ID in Setup). If the picker is empty, the object has none — create one in Setup; it is the ecosystem-standard idempotency anchor.`,enabledIf:g(`salesforce`),optionsDef:ZC}),external_id_value:gc({sectionKey:`general`,label:`External ID value`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.external_id_value`,placeholder:`{{ company_domain }}`,info:"The value to match/create on — a literal or a `{{ column }}` reference."}),values:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Field values`,info:`Field = the Salesforce API name. Include every field required at create (e.g. Name on Account, LastName+Company on Lead) — a create with missing required fields fails and names them. Blank values are skipped, never cleared.`,keyLabel:`Field API name`,valueLabel:`Value`,keyPlaceholder:`Name`,valuePlaceholder:`{{ company_name }}`,maxKeys:50}),bypass_duplicate_alerts:E({sectionKey:`general`,defaultValue:!1,label:`Bypass duplicate alerts`,groupPath:`config.general`,path:`config.bypass_duplicate_alerts`,info:`Acknowledge ALERT-mode duplicate rules and save anyway. BLOCK-mode rules can never be bypassed — those errors list the matching records.`}),output_fields:P(r.object({[Bw.name]:D({fieldName:Bw.name}),[Vw.name]:D({fieldName:Vw.name}),[Hw.name]:D({fieldName:Hw.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.values??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`values`,n]});if(t.includes(`{{`)){r("Field name must be a literal API name (no `{{ }}` templating).");continue}if(t.includes(`.`)){r(`Invalid field name "${t}" — dotted paths cannot be written; set the lookup ID field (e.g. AccountId) instead.`);continue}/^[a-zA-Z][a-zA-Z0-9_]*$/.test(t)||r(`Invalid Salesforce field name "${t}" — API names are letters, digits, and underscores (custom fields end in __c).`)}})}),Gw={"record-assert-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},Kw=class extends B{pipeId=Uw;payload;payloadSchema=Ww;billableOperations=Gw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-assert-salesforce-v1-salesforce`)}getTemplates(){return[this.payload.config.external_id_value,...Object.values(this.payload.config.values??{})].filter(e=>!!e)}getInputRequirement(){return z(...iw(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[Bw.name]:this.catalogOutput(Bw),[Vw.name]:this.catalogOutput(Vw),[Hw.name]:this.catalogOutput(Hw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[rw(this.payload.config.object)||`Account`],writableOnly:!0})}},qw=Ww,Jw={pipeId:Uw,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(Uw),label:`Salesforce assert record`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:"Create-or-update (upsert) a Salesforce record anchored on an External ID field — Salesforce's native idempotent write. One matching record updates, none creates; `created` says which happened.",tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`upsert`,`create`,`write`,`sync`,`idempotent`],docPath:G(Uw),guide:"The upsert is anchored on the External-ID field: no match creates, one match updates, MULTIPLE matches fail with the record IDs and write nothing (resolve duplicates or use record:update). On the create path Salesforce enforces required fields (the error names them) and duplicate rules may block the save (`bypass_duplicate_alerts` acknowledges ALERT-mode rules only). Call get_provider_context for the object's writable fields; blanks skip, never clear. `salesforce_record_created` = true means a new record — the fresh record rides the output JSON.",billableOperations:Gw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:z(),defaultPayload:{pipe_id:Uw,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Account`,external_id_field:``,external_id_value:`{{ company_domain }}`,values:{},bypass_duplicate_alerts:!1,output_fields:{salesforce_record_id:{alias:``,enabled:!0},salesforce_record_created:{alias:``,enabled:!0},salesforce_record_match:{alias:``,enabled:!0}}}}},Yw=h(`salesforce_record_found`),Xw=h(`salesforce_record_match`),Zw=`record:lookup:salesforce@1`,Qw=r.object({pipe_id:r.literal(Zw),run_if:b(),connector:x(),config:r.object({object:Xc({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can query.`,enabledIf:g(`salesforce`),optionsDef:XC()}),record_id:gc({sectionKey:`general`,label:`Record ID`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.record_id`,placeholder:`{{ salesforce_record_id }}`,info:"The Salesforce record ID to fetch — a literal 18-character ID or a `{{ column }}` reference, typically chained from a match pipe or search."}),output_fields:P(r.object({[Yw.name]:D({fieldName:Yw.name}),[Xw.name]:D({fieldName:Xw.name})}))})}),$w={"record-lookup-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},eT=class extends B{pipeId=Zw;payload;payloadSchema=Qw;billableOperations=$w;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-lookup-salesforce-v1-salesforce`)}getInputRequirement(){return z(...iw([this.payload.config.record_id]))}getSecretRequirements(){return H([this.payload.config.record_id])}getRawOutputFields(){return{[Yw.name]:this.catalogOutput(Yw),[Xw.name]:this.catalogOutput(Xw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[rw(this.payload.config.object)||`Contact`]})}},tT=Qw,nT={pipeId:Zw,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(Zw),label:`Salesforce record lookup`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Fetch a full Salesforce record (any standard or custom object) by its record ID — every field visible to the connected user. A deleted or missing record completes with found = false.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`read`,`fetch`,`get`,`record`,`custom object`],docPath:G(Zw),guide:"Resolve the record ID first via a match pipe or search (`{{ salesforce_record_id }}` chains from any Salesforce surface). Returns ALL fields the connected user can see, nested under `record` in the output JSON — fields hidden by field-level security are silently absent. found = false (deleted/missing id) is a successful result.",billableOperations:$w,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:z(),defaultPayload:{pipe_id:Zw,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Contact`,record_id:`{{ salesforce_record_id }}`,output_fields:{salesforce_record_found:{alias:``,enabled:!0},salesforce_record_match:{alias:``,enabled:!0}}}}},rT=h(`salesforce_update_result`),iT=`record:update:salesforce@1`,aT=(e,t)=>{let n=e.value;for(let r of Object.keys(n[t]??{})){let n=r.trim();if(!n)continue;let i=n=>e.issues.push({code:`custom`,input:r,message:n,path:[t,r]});if(n.includes(`{{`)){i("Field name must be a literal API name (no `{{ }}` templating).");continue}if(n.includes(`.`)){i(`Invalid field name "${n}" — dotted paths cannot be written; set the lookup ID field (e.g. AccountId) instead.`);continue}/^[a-zA-Z][a-zA-Z0-9_]*$/.test(n)||i(`Invalid Salesforce field name "${n}" — API names are letters, digits, and underscores (custom fields end in __c).`)}},oT=r.object({pipe_id:r.literal(iT),run_if:b(),connector:x(),config:r.object({object:Xc({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can update.`,enabledIf:g(`salesforce`),optionsDef:XC({updateableOnly:!0})}),record_id:gc({sectionKey:`general`,label:`Record ID`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.record_id`,placeholder:`{{ salesforce_record_id }}`,info:"The Salesforce record ID to update — a literal 18-character ID or a `{{ column }}` reference, typically chained from a match pipe."}),values:Ic({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Field values`,info:"Field = the Salesforce API name (`Title`, custom fields like `Lead_Score__c`). In the Value column, type `/` to insert a field reference. Blank values are skipped, never cleared. Restricted-picklist values must match existing entries exactly (case-sensitive); multi-select picklist writes REPLACE the whole set (semicolon-joined).",keyLabel:`Field API name`,valueLabel:`Value`,keyPlaceholder:`Title`,valuePlaceholder:`{{ job_title }}`,maxKeys:50}),bypass_duplicate_alerts:E({sectionKey:`general`,defaultValue:!1,label:`Bypass duplicate alerts`,groupPath:`config.general`,path:`config.bypass_duplicate_alerts`,info:`Acknowledge ALERT-mode duplicate rules and save anyway. BLOCK-mode rules can never be bypassed — those errors list the matching records.`}),output_fields:P(r.object({[rT.name]:D({fieldName:rT.name})}))}).check(e=>aT(e,`values`))}),sT={"record-update-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},cT=class extends B{pipeId=iT;payload;payloadSchema=oT;billableOperations=sT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-update-salesforce-v1-salesforce`)}getTemplates(){return[this.payload.config.record_id,...Object.values(this.payload.config.values??{})].filter(e=>!!e)}getInputRequirement(){return z(...iw(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[rT.name]:this.catalogOutput(rT)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[rw(this.payload.config.object)||`Contact`],writableOnly:!0})}},lT=oT,uT={pipeId:iT,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(iT),label:`Salesforce update record`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Update a Salesforce record (standard or custom object) by its record ID, mapping columns to fields. Blank values are skipped so un-enriched cells never erase CRM data; the output carries the fresh post-save record.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`write`,`sync`,`field`,`custom object`],docPath:G(iT),guide:"Resolve the record ID first via a match pipe (`{{ salesforce_record_id }}` chains from any Salesforce surface). Call get_provider_context for the object's WRITABLE fields and picklist values — formula fields are read-only, restricted-picklist values are validated before the write (case-sensitive), and converted leads are read-only entirely (update the contact via ConvertedContactId instead). Duplicate rules may block the save; the error includes the admin's message and the matching record IDs, and `bypass_duplicate_alerts` acknowledges ALERT-mode rules only. Rows where every value renders blank skip the API call. Consume post-write values from the result JSON's `record` — formulas and triggers may rewrite fields after save.",billableOperations:sT,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:z(),defaultPayload:{pipe_id:iT,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Contact`,record_id:`{{ salesforce_record_id }}`,values:{},bypass_duplicate_alerts:!1,output_fields:{salesforce_update_result:{alias:``,enabled:!0}}}}},dT=`person:devprofileurl:profileurl:waterfall@1`,fT=h(`profile_url`),pT=h(`developer_profile_url`),mT=h(`alternative_developer_profile_urls`),hT=[`crustdata`],gT=[{provider:`crustdata`}],_T=r.object({pipe_id:r.literal(dT),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:gT,availableProviders:hT}),input_fields:F(r.object({[fT.name]:w({fieldName:fT.name})})),output_fields:P(r.object({[pT.name]:D({fieldName:pT.name}),[mT.name]:D({fieldName:mT.name})}))}).optional()}),vT=e=>R(K(fT,e)),yT={"person-devprofileurl-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:2,level1:{credits:1.3,weight:1}},mode:`onSuccess`}},bT=class extends B{pipeId=dT;payload;payloadSchema=_T;billableOperations=yT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return vT(this.payload.config)}getRawOutputFields(){return{[pT.name]:this.catalogOutput(pT,{isPrimaryOutput:!0}),[mT.name]:this.catalogOutput(mT,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},xT=_T,ST={pipeId:dT,basePipe:W(dT),label:`GitHub profile from LinkedIn URL`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a developer profile URL (e.g. GitHub) for any prospect using multiple data providers in a waterfall motion.`,docPath:G(dT),tags:[U.LINKEDIN,U.WATERFALL,U.NEW],keywords:[`developer`,`dev`,`engineer`,`coder`,`git`],billableOperations:yT,defaultInputRequirement:vT(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:hT,allowedUserConnectionProviders:hT,deprecatedProviders:[],defaultPayload:{pipe_id:dT,connector:null,run_if:null,config:{providers:gT,input_fields:{profile_url:{alias:``}},output_fields:{developer_profile_url:{alias:``,enabled:!0},alternative_developer_profile_urls:{alias:``,enabled:!1}}}}},CT=`person:email:validate:millionverifier@1`,wT=h(`email`),TT=h(`email_validation_status`),ET=h(`million_validation_match`),DT=r.object({pipe_id:r.literal(CT),connector:S(),run_if:b(),config:r.object({input_fields:F(r.object({[wT.name]:w({fieldName:wT.name})})),output_fields:P(r.object({[TT.name]:D({fieldName:TT.name}),[ET.name]:D({fieldName:ET.name})}))}).optional()}),OT=e=>R(K(wT,e)),kT={"person-email-validate-millionverifier-v1-millionverifier":{provider:`millionverifier`,allowManagedConnection:!0,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`always`}},AT=class extends B{pipeId=CT;payload;payloadSchema=DT;billableOperations=kT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`millionverifier`]}estimateBillableOperations(e){return q(e,`person-email-validate-millionverifier-v1-millionverifier`)}getInputRequirement(){return OT(this.payload.config)}getRawOutputFields(){return{[TT.name]:this.catalogOutput(TT),[ET.name]:this.catalogOutput(ET)}}getConnectionsRequirements(){return[{provider:`millionverifier`,rateLimitRatio:1,rateLimitOperation:`millionverifier_generic`,allowManagedConnection:!0}]}},jT=DT,MT={pipeId:CT,basePipe:W(CT),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Verify email addresses to ensure is deliverability.`,tags:[U.EMAIL],keywords:[`verify`,`verification`,`deliverability`,`bounce`,`check`,`clean`],docPath:G(CT),billableOperations:kT,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`millionverifier`],managedProviders:[`millionverifier`],deprecatedProviders:[],defaultInputRequirement:OT(null),defaultPayload:{pipe_id:CT,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{email_validation_status:{alias:``,enabled:!0},million_validation_match:{alias:``,enabled:!0}}}}},NT=h(`email`),PT=h(`amplemarket_person_match`),FT=`person:identity:amplemarket@1`,IT=r.object({pipe_id:r.literal(FT),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[NT.name]:w({fieldName:NT.name})})),output_fields:P(r.object({[PT.name]:D({fieldName:PT.name})}))}).optional()}),LT=e=>R(K(NT,e)),RT={"person-identity-amplemarket-v1-amplemarket":{allowManagedConnection:!1,credits:null,mode:null,provider:`amplemarket`}},zT=class extends B{pipeId=FT;payload;payloadSchema=IT;billableOperations=RT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(){return[]}getInputRequirement(){return LT(this.payload.config)}getRawOutputFields(){return{[PT.name]:this.catalogOutput(PT)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_generic`,allowManagedConnection:!1}]}},BT=IT,VT={pipeId:FT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(FT),label:`Person identity`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find information on a person based on their email`,tags:[U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`contact`,`profile`],docPath:G(FT),billableOperations:RT,allowedUserConnectionProviders:[`amplemarket`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:LT(null),defaultPayload:{pipe_id:FT,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{amplemarket_person_match:{alias:``,enabled:!0}}}}},HT=`person:identity:email:waterfall@1`,UT=h(`email`),WT=h(`company_domain`),GT=h(`name`),KT=h(`job_title`),qT=h(`profile_url`),JT=h(`company_profile_url`),YT=h(`company_name`),XT=[`findymail`,`hunter`,`crustdata`],ZT=[{provider:`findymail`},{provider:`hunter`},{provider:`crustdata`}],QT=r.object({pipe_id:r.literal(HT),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:XT,defaultProviders:ZT,sectionKey:`general`}),input_fields:F(r.object({[UT.name]:w({fieldName:UT.name})})),output_fields:P(r.object({[GT.name]:D({fieldName:GT.name}),[qT.name]:D({fieldName:qT.name}),[KT.name]:D({fieldName:KT.name}),[WT.name]:D({fieldName:WT.name}),[YT.name]:D({fieldName:YT.name}),[JT.name]:D({fieldName:JT.name})}))}).optional()}),$T=e=>R(K(UT,e)),eE={"person-identity-email-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"person-identity-email-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"person-identity-email-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},tE=class extends B{pipeId=HT;payload;payloadSchema=QT;billableOperations=eE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return $T(this.payload.config)}getRawOutputFields(){return{[GT.name]:this.catalogOutput(GT,{isPrimaryOutput:!0}),[qT.name]:this.catalogOutput(qT,{isPrimaryOutput:!0}),[KT.name]:this.catalogOutput(KT,{isPrimaryOutput:!0}),[YT.name]:this.catalogOutput(YT,{isPrimaryOutput:!0}),[JT.name]:this.catalogOutput(JT,{isPrimaryOutput:!0}),[WT.name]:this.catalogOutput(WT,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={hunter:`prospeo_email_lookup`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},nE=QT,rE={pipeId:HT,basePipe:W(HT),label:`Person identity from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find identity of a person from their email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`contact`,`profile`],docPath:G(HT),managedProviders:XT,deprecatedProviders:[],allowedUserConnectionProviders:XT,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:eE,defaultInputRequirement:$T(null),defaultPayload:{pipe_id:HT,connector:null,run_if:null,config:{providers:ZT,input_fields:{email:{alias:``}},output_fields:{name:{alias:``,enabled:!0},profile_url:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_domain:{alias:``,enabled:!0}}}}},iE=h(`profile_url`),aE=h(`amplemarket_person_match`),oE=`person:match:amplemarket@1`,sE=r.object({pipe_id:r.literal(oE),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[iE.name]:w({fieldName:iE.name})})),output_fields:P(r.object({[aE.name]:D({fieldName:aE.name})}))}).optional()}),cE=e=>R(K(iE,e)),lE={"person-match-amplemarket-v1-amplemarket":{allowManagedConnection:!1,credits:null,mode:null,provider:`amplemarket`}},uE=class extends B{pipeId=oE;payload;payloadSchema=sE;billableOperations=lE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(){return[]}getInputRequirement(){return cE(this.payload.config)}getRawOutputFields(){return{[aE.name]:this.catalogOutput(aE)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_generic`,allowManagedConnection:!1}]}},dE=sE,fE={pipeId:oE,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(oE),label:`Person match`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find information on a person based on their LinkedIn profile URL.`,tags:[U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`linkedin`,`profile`,`lookup`,`contact`],docPath:G(oE),billableOperations:lE,allowedUserConnectionProviders:[`amplemarket`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:cE(null),defaultPayload:{pipe_id:oE,connector:null,run_if:null,config:{input_fields:{profile_url:{alias:``}},output_fields:{amplemarket_person_match:{alias:``,enabled:!0}}}}},pE=`person:match:role:waterfall@1`,mE=h(`company_domain`),hE=h(`role_finder_match`),gE=[`leadmagic`],_E=[{provider:`leadmagic`}],vE=r.object({pipe_id:r.literal(pE),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:_E,availableProviders:gE}),roles:Fc({sectionKey:`general`,groupPath:`config.general`,label:`Roles`,path:`config.roles`,info:`Company roles to include`,maxItems:3,minItems:1,suggestionsDef:m(`titles`),expectedTagType:`string`}),input_fields:F(r.object({[mE.name]:w({fieldName:mE.name})})),output_fields:P(r.object({[hE.name]:D({fieldName:hE.name})}))})}),yE=e=>Ul(K(mE,e)),bE={"person-match-role-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},xE=class extends B{pipeId=pE;payload;payloadSchema=vE;billableOperations=bE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return yE(this.payload.config)}getSecretRequirements(){return H(this.payload.config?.roles??[])}getConstantRequirements(){return ru(this.payload.config?.roles??[])}getRawOutputFields(){return{[hE.name]:this.catalogOutput(hE,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_role_finder`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},SE=vE,CE={pipeId:pE,basePipe:W(pE),managedProviders:gE,deprecatedProviders:[],allowedUserConnectionProviders:gE,label:`Role finder`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find role matches for a given companies like "CEO" or "CFO".`,tags:[U.PEOPLE_PROFILES],keywords:[`job title`,`title`,`ceo`,`executive`,`decision maker`,`employee`],docPath:G(pE),billableOperations:bE,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:yE(null),defaultPayload:{pipe_id:pE,run_if:null,connector:null,config:{roles:[],providers:_E,input_fields:{company_domain:{alias:``}},output_fields:{role_finder_match:{alias:``,enabled:!0}}}}},wE=`person:mobile:profileurl:waterfall@1`,TE=h(`profile_url`),EE=h(`mobile`),DE=[`leadmagic`,`prospeo`,`amplemarket`,`findymail`],OE=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`findymail`}],kE=r.object({pipe_id:r.literal(wE),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:OE,availableProviders:DE}),input_fields:F(r.object({[TE.name]:w({fieldName:TE.name})})),output_fields:P(r.object({[EE.name]:D({fieldName:EE.name})}))}).optional()}),AE=e=>R(K(TE,e)),jE={"person-mobile-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5,level1:{credits:3,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:6,level1:{credits:4,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4,level1:{credits:3,weight:1}},mode:`onSuccess`}},ME=class extends B{pipeId=wE;payload;payloadSchema=kE;billableOperations=jE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return AE(this.payload.config)}getRawOutputFields(){return{[EE.name]:this.catalogOutput(EE,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`,findymail:`findymail_phone_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},NE=kE,PE={pipeId:wE,basePipe:W(wE),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:G(wE),tags:[U.PHONE,U.WATERFALL],keywords:[`phone`,`phone number`,`cell`,`direct dial`],billableOperations:jE,defaultInputRequirement:AE(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:DE,allowedUserConnectionProviders:DE,deprecatedProviders:[],defaultPayload:{pipe_id:wE,connector:null,run_if:null,config:{providers:OE,input_fields:{profile_url:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},FE=`person:mobile:workemail:waterfall@1`,IE=h(`work_email`),LE=h(`mobile`),RE=[`leadmagic`,`amplemarket`],zE=[{provider:`leadmagic`},{provider:`amplemarket`}],BE=r.object({pipe_id:r.literal(FE),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:RE,defaultProviders:zE}),input_fields:F(r.object({[IE.name]:w({fieldName:IE.name})})),output_fields:P(r.object({[LE.name]:D({fieldName:LE.name})}))}).optional()}),VE=e=>R(K(IE,e)),HE={"person-mobile-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-mobile-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:5,level1:{credits:4,weight:1}},mode:`onSuccess`}},UE=class extends B{pipeId=FE;payload;payloadSchema=BE;billableOperations=HE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return VE(this.payload.config)}getRawOutputFields(){return{[LE.name]:this.catalogOutput(LE,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},WE=BE,GE={pipeId:FE,basePipe:W(FE),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],keywords:[`phone`,`phone number`,`cell`,`direct dial`],docPath:G(FE),billableOperations:HE,defaultInputRequirement:VE(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:RE,managedProviders:RE,deprecatedProviders:[],defaultPayload:{pipe_id:FE,connector:null,run_if:null,config:{providers:zE,input_fields:{work_email:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},KE=`person:name:join@1`,qE=h(`first_name`),JE=h(`last_name`),YE=h(`name`),XE=r.object({pipe_id:r.literal(KE),run_if:b(),connector:vc(),config:r.object({input_fields:F(r.object({[qE.name]:w({fieldName:qE.name}),[JE.name]:w({fieldName:JE.name})})),output_fields:P(r.object({[YE.name]:D({fieldName:YE.name})}))}).optional()}),ZE=e=>z(K(qE,e),K(JE,e)),QE={"person-name-join-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},$E=class extends B{pipeId=KE;payload;payloadSchema=XE;billableOperations=QE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-name-join-v1-pipe0`)}getInputRequirement(){return ZE(this.payload.config)}getRawOutputFields(){return{[YE.name]:this.catalogOutput(YE)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},eD=XE,tD={pipeId:KE,basePipe:W(KE),label:`Join name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Combine the first and last names of a prospect into a full name field.`,tags:[U.NAMES],keywords:[`combine`,`concatenate`,`merge`,`first`,`last`,`full`],docPath:G(KE),billableOperations:QE,defaultInputRequirement:ZE(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:KE,run_if:null,connector:null,config:{input_fields:{first_name:{alias:``},last_name:{alias:``}},output_fields:{name:{alias:``,enabled:!0}}}}},nD=`person:name:split@1`,rD=h(`name`),iD=h(`first_name`),aD=h(`last_name`),oD=r.object({pipe_id:r.literal(nD),connector:vc(),run_if:b(),config:r.object({input_fields:F(r.object({[rD.name]:w({fieldName:rD.name})})),output_fields:P(r.object({[iD.name]:D({fieldName:iD.name}),[aD.name]:D({fieldName:aD.name})}))}).optional()}),sD=e=>R(K(rD,e)),cD={"person-name-split-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},lD=class extends B{pipeId=nD;payload;payloadSchema=oD;billableOperations=cD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-name-split-v1-pipe0`)}getInputRequirement(){return sD(this.payload.config)}getRawOutputFields(){return{[iD.name]:this.catalogOutput(iD),[aD.name]:this.catalogOutput(aD)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},uD=oD,dD={pipeId:nD,basePipe:W(nD),label:`Split name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Split a full name into first and last name.`,tags:[U.NAMES],keywords:[`parse`,`separate`,`first`,`last`,`full`],docPath:G(nD),billableOperations:cD,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:sD(null),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:nD,run_if:null,connector:void 0,config:{input_fields:{name:{alias:``}},output_fields:{first_name:{alias:``,enabled:!0},last_name:{alias:``,enabled:!0}}}}},fD=`person:personalemail:profileurl:waterfall@1`,pD=h(`profile_url`),mD=h(`personal_email`),hD=h(`alternate_personal_emails`),gD=[`leadmagic`,`mixrank`],_D=[{provider:`leadmagic`},{provider:`mixrank`}],vD=r.object({pipe_id:r.literal(fD),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:gD,defaultProviders:_D}),input_fields:F(r.object({[pD.name]:w({fieldName:pD.name})})),output_fields:P(r.object({[mD.name]:D({fieldName:mD.name}),[hD.name]:D({fieldName:hD.name})}))}).optional()}),yD=e=>R(K(pD,e)),bD={"person-personalemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"person-personalemail-profileurl-waterfall-v1-mixrank":{provider:`mixrank`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},xD=class extends B{pipeId=fD;payload;payloadSchema=vD;billableOperations=bD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return yD(this.payload.config)}getRawOutputFields(){return{[mD.name]:this.catalogOutput(mD,{isPrimaryOutput:!0}),[hD.name]:this.catalogOutput(hD)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_personal_email_finder`,mixrank:`mixrank-person-match`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},SD=vD,CD={pipeId:fD,basePipe:W(fD),allowedUserConnectionProviders:gD,managedProviders:gD,deprecatedProviders:[],label:`Personal email from LinkedIn`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find the personal email address of a prospect by using a professional profile URL as input.`,tags:[U.EMAIL,U.PERSONAL_EMAIL],keywords:[`gmail`,`private`,`consumer`,`contact`],docPath:G(fD),billableOperations:bD,defaultInputRequirement:yD(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:fD,connector:null,run_if:null,config:{providers:_D,input_fields:{profile_url:{alias:``}},output_fields:{personal_email:{alias:``,enabled:!0},alternate_personal_emails:{alias:``,enabled:!1}}}}},wD=h(`profile_url`),TD=h(`post_list_string`),ED=h(`crustdata_post_list`),DD=`person:posts:content:crustdata@1`,OD=r.object({pipe_id:r.literal(DD),run_if:b(),connector:S(),config:r.object({limit:qc({path:`config.limit`,groupPath:`config.general`,max:100,min:1,sectionKey:`general`,info:``,label:`Limit`,legend:`Max. 100`}),input_fields:F(r.object({[wD.name]:w({fieldName:wD.name})})),output_fields:P(r.object({[TD.name]:D({fieldName:TD.name}),[ED.name]:D({fieldName:ED.name})}))}).optional()}),kD=e=>R(K(wD,e)),AD={"person-posts-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`,note:`1.5 credits per post. Posts are fetched in increments of 5.`,provider:`crustdata`}},jD=class extends B{pipeId=DD;payload;payloadSchema=OD;billableOperations=AD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`person-posts-crustdata-v1-crustdata`)}getInputRequirement(){return kD(this.payload.config)}getRawOutputFields(){return{[TD.name]:this.catalogOutput(TD),[ED.name]:this.catalogOutput(ED)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_post_fetch`,allowManagedConnection:!0}]}},MD=OD,ND={pipeId:DD,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(DD),label:`LinkedIn posts`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find list of recent LinkedIn posts.`,tags:[U.LINKEDIN],keywords:[`activity`,`content`,`social`,`updates`,`engagement`,`feed`],docPath:G(DD),billableOperations:AD,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:kD(null),defaultPayload:{pipe_id:DD,connector:null,run_if:null,config:{limit:5,input_fields:{profile_url:{alias:``}},output_fields:{crustdata_post_list:{alias:``,enabled:!0},post_list_string:{alias:``,enabled:!0}}}}},PD=`person:profile:waterfall@1`,FD=h(`profile`),ID=h(`profile_url`),LD=[`prospeo`,`icypeas`,`amplemarket`],RD=[{provider:`amplemarket`},{provider:`prospeo`},{provider:`icypeas`}],zD=r.object({pipe_id:r.literal(PD),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,availableProviders:LD,defaultProviders:RD}),input_fields:F(r.object({[ID.name]:w({fieldName:ID.name})})),output_fields:P(r.object({[FD.name]:D({fieldName:FD.name})}))}).optional()}),BD=e=>R(K(ID,e)),VD={"person-profile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0},"person-profile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0},"person-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0}},HD=class extends B{pipeId=PD;payload;payloadSchema=zD;billableOperations=VD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return BD(this.payload.config)}getRawOutputFields(){return{[FD.name]:this.catalogOutput(FD,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},UD=zD,WD={pipeId:PD,basePipe:W(PD),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a JSON representation of a LinkedIn profile.`,docPath:G(PD),tags:[U.LINKEDIN,U.WATERFALL],keywords:[`enrich`,`enrichment`,`json`,`scrape`,`bio`,`experience`],managedProviders:LD,deprecatedProviders:[],allowedUserConnectionProviders:LD,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:VD,defaultInputRequirement:BD(null),defaultPayload:{pipe_id:PD,run_if:null,connector:null,config:{providers:RD,input_fields:{profile_url:{alias:``}},output_fields:{profile:{alias:``,enabled:!0}}}}},GD=h(`work_email`),KD=h(`crustdata_person_match`),qD=h(`crustdata_profile_match_score`),JD=`person:profile:workemail:crustdata@1`,YD=r.object({pipe_id:r.literal(JD),run_if:b(),connector:S(),config:r.object({input_fields:F(r.object({[GD.name]:w({fieldName:GD.name})})),output_fields:P(r.object({[KD.name]:D({fieldName:KD.name}),[qD.name]:D({fieldName:qD.name})}))}).optional()}),XD=e=>R(K(GD,e)),ZD={"person-profile-workemail-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`,provider:`crustdata`}},QD=class extends B{pipeId=JD;payload;payloadSchema=YD;billableOperations=ZD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`person-profile-workemail-crustdata-v1-crustdata`)}getInputRequirement(){return XD(this.payload.config)}getRawOutputFields(){return{[KD.name]:this.catalogOutput(KD),[qD.name]:this.catalogOutput(qD)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_person_enrich`,allowManagedConnection:!0}]}},$D=YD,eO={pipeId:JD,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(JD),label:`Profile from work email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find person profile by their work email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`linkedin`,`person`],docPath:G(JD),billableOperations:ZD,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:XD(null),defaultPayload:{pipe_id:JD,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{crustdata_person_match:{alias:``,enabled:!0},crustdata_profile_match_score:{alias:``,enabled:!0}}}}},tO=`person:profileurl:email:waterfall@1`,nO=h(`email`),rO=h(`work_email`),iO=h(`profile_url`),aO=[`leadmagic`],oO=[{provider:`leadmagic`}],sO=r.object({pipe_id:r.literal(tO),run_if:b(),connector:S(),config:r.object({providers:T({sectionKey:`general`,defaultProviders:oO,availableProviders:aO}),input_fields:F(r.object({[nO.name]:w({fieldName:nO.name}),[rO.name]:w({fieldName:rO.name})})),output_fields:P(r.object({[iO.name]:D({fieldName:iO.name})}))}).optional()}),cO=e=>Ul(K(nO,e),K(rO,e)),lO={"person-profileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},uO=class extends B{pipeId=tO;payload;payloadSchema=sO;billableOperations=lO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return cO(this.payload.config)}getRawOutputFields(){return{[iO.name]:this.catalogOutput(iO,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},dO=sO,fO={pipeId:tO,basePipe:W(tO),managedProviders:aO,deprecatedProviders:[],allowedUserConnectionProviders:aO,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],keywords:[`profile`,`reverse lookup`,`social`,`person`],docPath:G(tO),billableOperations:lO,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:cO(null),defaultPayload:{pipe_id:tO,run_if:null,connector:null,config:{providers:oO,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},pO=`person:profileurl:name@1`,mO=h(`name`),hO=h(`company_name`),gO=h(`location_hint`),_O=h(`profile_url`),vO=r.object({pipe_id:r.literal(pO),connector:vc(),run_if:b(),config:r.object({input_fields:F(r.object({[mO.name]:w({fieldName:mO.name}),[hO.name]:w({fieldName:hO.name}),[gO.name]:w({fieldName:gO.name})})),output_fields:P(r.object({[_O.name]:D({fieldName:_O.name})}))}).optional()}),yO=e=>z(R(K(mO,e)),R(K(hO,e)),Wl(K(gO,e))),bO={"person-profileurl-name-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.6},mode:`always`}},xO=class extends B{pipeId=pO;payload;payloadSchema=vO;billableOperations=bO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-profileurl-name-v1-pipe0`)}getInputRequirement(){return yO(this.payload.config)}getRawOutputFields(){return{[_O.name]:this.catalogOutput(_O)}}getConnectionsRequirements(){return[{provider:`serper`,rateLimitRatio:1,rateLimitOperation:`serper_search`,allowManagedConnection:!0}]}},SO=vO,CO={pipeId:pO,basePipe:W(pO),label:`LinkedIn URL from name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],description:`Find the LinkedIn profile URL by using the prospect's name as input.`,docPath:G(pO),tags:[U.LINKEDIN],keywords:[`profile`,`social`,`lookup`,`person`],billableOperations:bO,defaultInputRequirement:yO(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:pO,connector:void 0,run_if:null,config:{input_fields:{company_name:{alias:``},location_hint:{alias:``},name:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},wO=`person:workemail:profileurl:waterfall@1`,TO=h(`profile_url`),EO=h(`work_email`),DO=h(`email_validation_status`),OO=[`hunter`,`amplemarket`,`findymail`,`leadmagic`,`crustdata`],kO=[{provider:`hunter`},{provider:`amplemarket`},{provider:`leadmagic`},{provider:`findymail`},{provider:`crustdata`}],AO=r.object({pipe_id:r.literal(wO),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:OO,defaultProviders:kO,sectionKey:`general`}),allow_catch_all_emails:E({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:``,label:`Allow catch-all emails`}),allow_risky_emails:E({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Higher chance of bouncing or being marked as spam.`,label:`Allow risky emails`}),input_fields:F(r.object({[TO.name]:w({fieldName:TO.name})})),output_fields:P(r.object({[EO.name]:D({fieldName:EO.name}),[DO.name]:D({fieldName:DO.name})}))}).optional()}),jO=e=>R(K(TO,e)),MO={"person-workemail-profileurl-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2,level1:{credits:.7,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5,level1:{credits:1.5,weight:1}},mode:`onSuccess`}},NO=class extends B{pipeId=wO;payload;payloadSchema=AO;billableOperations=MO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return jO(this.payload.config)}getRawOutputFields(){return{[EO.name]:this.catalogOutput(EO,{isPrimaryOutput:!0}),[DO.name]:this.catalogOutput(DO,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_b2b_lookup`,hunter:`prospeo_email_lookup`,amplemarket:`amplemarket-person-reveal`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},PO=AO,FO={pipeId:wO,basePipe:W(wO),label:`Work email from LinkedIn URL`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find work email addresses from B2B profile.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],keywords:[`business email`,`b2b`,`corporate`,`contact`],docPath:G(wO),managedProviders:OO,allowedUserConnectionProviders:OO,deprecatedProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:MO,defaultInputRequirement:jO(null),defaultPayload:{pipe_id:wO,connector:null,run_if:null,config:{providers:kO,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{profile_url:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},IO=`person:workemail:waterfall@1`,LO=h(`name`),RO=h(`company_domain`),zO=h(`company_name`),BO=h(`work_email`),VO=h(`email_validation_status`),HO=[`leadmagic`,`prospeo`,`amplemarket`,`hunter`,`icypeas`,`findymail`],UO=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`hunter`},{provider:`icypeas`},{provider:`findymail`}],WO={"person-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:.5,level1:{credits:.25,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-icypeas":{provider:`icypeas`,allowManagedConnection:!0,credits:{default:.5,level1:{credits:.25,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:1.5,level1:{credits:.75,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1.3,level1:{credits:.75,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`}},GO=r.object({pipe_id:r.literal(IO),connector:S(),run_if:b(),config:r.object({providers:T({availableProviders:HO,defaultProviders:UO,sectionKey:`general`,providerCredits:iu(WO,HO)}),allow_catch_all_emails:E({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Catch-alls appear valid but remain undeliverable-risk.`,label:`Allow catch-all emails`}),allow_risky_emails:E({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`DNS configuration and spam reputation may flag emails as high-risk.`,label:`Allow risky emails`}),input_fields:F(r.object({[LO.name]:w({fieldName:LO.name}),[RO.name]:w({fieldName:RO.name}),[zO.name]:w({fieldName:zO.name})})),output_fields:P(r.object({[BO.name]:D({fieldName:BO.name}),[VO.name]:D({fieldName:VO.name})}))}).optional()}),KO=e=>z(R(K(LO,e)),Ul(K(RO,e),K(zO,e))),qO=class extends B{pipeId=IO;payload;payloadSchema=GO;billableOperations=WO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return KO(this.payload.config)}getRawOutputFields(){return{[BO.name]:this.catalogOutput(BO,{isPrimaryOutput:!0}),[VO.name]:this.catalogOutput(VO,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_email_lookup`,icypeas:`icypeas_email_lookup`,findymail:`findymail_email_lookup`,hunter:`hunter_email_finder`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},JO=GO,YO={pipeId:IO,basePipe:W(IO),label:`Work email from name`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find work email addresses in a waterfall motion.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],keywords:[`business email`,`b2b`,`corporate`,`contact`],docPath:G(IO),managedProviders:HO,deprecatedProviders:[],allowedUserConnectionProviders:HO,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:WO,defaultInputRequirement:KO(null),defaultPayload:{pipe_id:IO,connector:null,run_if:null,config:{providers:UO,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{company_name:{alias:``},company_domain:{alias:``},name:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},XO=`prompt:run@1`,ZO=`prompt-run-v1`,QO=Ss(ZO),$O=r.object({pipe_id:r.literal(XO),connector:S(),run_if:b(),config:r.object({prompt:mc({sectionKey:`general`,path:`config.prompt`,placeholder:V(`prompt`),groupPath:`config.prompt`,supportedTags:[`input`,`output`]}),model:Gc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:QO})})}),ek=class extends B{pipeId=XO;payload;payloadSchema=$O;billableOperations=QO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return hs(this.payload.config.model)}estimateBillableOperations(e){return ws(e,{model:this.payload.config.model,prefix:ZO,inputTokens:600,outputTokens:800})}getInputRequirement(){return nu([this.payload.config.prompt.template])}getSecretRequirements(){return H([this.payload.config.prompt.template])}getConstantRequirements(){return ru([this.payload.config.prompt.template])}getRawOutputFields(){let e=this.payload.config.prompt.template,t=this.payload.config.prompt.json_schemas??{},n={},r;try{r=Oo(e)}catch{return n}for(let e of r.outputs){let r=e.type;if(r===`json`){let i=e.schemaRef?t[e.schemaRef]:void 0;n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:{zodSchema:i,exampleValue:null},format:null,isCatalogFIeld:!1,isPrimaryOutput:!1}}else n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:null,format:e.format??null,isCatalogFIeld:!1,isPrimaryOutput:!1}}return n}getConnectionsRequirements(){return gs(this.payload.config.model)}},tk=$O,nk={pipeId:XO,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(XO),label:`AI prompt`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,description:`Executes configurable AI prompts with structured output fields.`,guide:`General-purpose AI prompt runner. Inputs and outputs are fully dynamic — defined by the tags in the prompt template. For extracting a value from a JSON / known-schema field, do NOT use this — use the deterministic json:extract:multi@1 (JSONata) instead: it's cheaper, reproducible, and runs on a schedule with no model. Reserve prompt:run@1 for genuine judgment or free-text generation (classify, summarize, rewrite).`,tags:[U.AI],keywords:[`llm`,`gpt`,`chatgpt`,`openai`,`generate`,`classify`,`extract`],docPath:G(XO),defaultInputRequirement:null,billableOperations:QO,allowedUserConnectionProviders:_s(),managedProviders:_s(),deprecatedProviders:[],defaultPayload:{pipe_id:XO,connector:null,run_if:null,config:{model:`openai-high`,prompt:{template:``,json_schemas:{}}}}},rk=[{label:`demo-leads`,value:`demo-leads`},{label:`demo-companies`,value:`demo-companies`},{label:`demo-contacts`,value:`demo-contacts`}],ik=[{label:`Demo project`,value:`demo-project`},{label:`Sales pipeline`,value:`sales-pipeline`}];function ak(e){let t=e?.config?.project;return typeof t==`string`&&t.length>0?t:void 0}function ok(e){if(!e||e.conditions.length===0)return null;let t=JSON.stringify({logic:e.logic,conditions:e.conditions.map(e=>[e.field_name,e.operator,e.value])}),n=2166136261;for(let e=0;e<t.length;e++)n^=t.charCodeAt(e),n=Math.imul(n,16777619)>>>0;return n.toString(16).padStart(8,`0`)}function sk(e,t,n){let r=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40),i=`rr--${r(e)}--${r(t)}`;return n?`${i}--f-${r(n)}`:i}function ck(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}const lk={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?rk:t?(await t.sheets.list({query:e})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},uk={requires:{connection:`pipe0`,fields:[`config.project`]},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n,payload:r})=>n===`sandbox`?rk:t?(await t.sheets.list({query:e,projectSlug:ak(r)})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},dk={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see project suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?ik:t?(await t.projects.list({query:e})).map(e=>({label:e.name&&e.name!==e.slug?`${e.name} (${e.slug})`:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},fk=[{value:`email`,label:`email`,data:{type:`string`,format:`email`}},{value:`name`,label:`name`,data:{type:`string`}},{value:`company`,label:`company`,data:{type:`string`}}],pk={"demo-leads":fk,"demo-companies":[{value:`domain`,label:`domain`,data:{type:`string`,format:`website_url`}},{value:`company_name`,label:`company_name`,data:{type:`string`}}],"demo-contacts":fk},mk=e=>({requires:{connection:`pipe0`,fields:[e.sheetPath]},enabledIf:g(`pipe0`,`Select a pipe0 connection to see column suggestions`),options:async({payload:t,client:n,environment:r})=>{let i=ck(t,e.sheetPath);return typeof i!=`string`||!i.trim()||i.includes(`{{`)?[]:r===`sandbox`?pk[i.trim()]??fk:n?(await n.sheets.fields({slug:i.trim()})).filter(t=>(e.includeJson||t.type!==`json`)&&t.name.toLowerCase()!==`id`).map(e=>({value:e.name,label:e.name,data:{type:String(e.type),...e.format?{format:String(e.format)}:{}}})):[]},widgets:{provider_logo:{provider:`pipe0`}}}),hk=`row:append:sheet@1`,gk=h(`sheet_record_id`),_k=h(`created_sheet`),vk=r.object({pipe_id:r.literal(hk),connector:x(),run_if:b(),config:r.object({project:gc({label:`Project`,info:"Project the destination sheet lives in (its org-unique slug). Pick an existing project or type a new slug — a new project is created when `allow_entity_creation` is on.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.project`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:dk}),sheet:gc({label:`Sheet ID`,info:'The destination sheet\'s identifier (its slug — NOT the display name). Slugs are org-unique: pick an existing sheet to append into it, or type a NEW slug to create one — a generic slug (e.g. "results", "companies") is likely to match an unrelated existing sheet, so for a new sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") that can\'t collide. Type `@` to insert a field reference / `$` for a secret.',groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:uk,enabledIf:e=>e.config?.project?{disabled:!1}:{disabled:!0,message:`Select a project first`}}),run:E({defaultValue:!0,groupPath:`config.advanced`,path:`config.run`,sectionKey:`general`,description:`Auto-run sheet row after append action.`,label:`Run after append`}),allow_entity_creation:E({label:`Allow creating missing entities`,description:`Create missing fields, sheets, and projects as needed (unknown fields become columns; a missing sheet or project is created).`,defaultValue:!0,groupPath:`config.advanced`,path:`config.allow_entity_creation`,sectionKey:`general`}),write_fields:Ec({label:`Fields`,info:`All fields are written if empty.`,groupPath:`config.general`,path:`config.write_fields`,sectionKey:`general`,disableSearch:!0}),output_fields:P(r.object({[gk.name]:D({fieldName:gk.name}),[_k.name]:D({fieldName:_k.name})}))})}),yk={"row-append-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},bk=class extends B{pipeId=hk;payload;payloadSchema=vk;billableOperations=yk;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-append-sheet-v1-pipe0`)}getInputRequirement(){let e=[nu([this.payload.config.project,this.payload.config.sheet],{expectedType:`string`,expectedFormat:`text`})];if(this.payload.config.write_fields?.length)for(let t of this.payload.config.write_fields)e.push(R({name:t.field_name,resolvedName:t.field_name,label:``,description:``,type:e=>{let n=tu(e,t.field_name);if(!n)throw Error(`Unable to find field with name ${t.field_name}. But needed by prompt parser.`);return n.type||`unknown`},format:null}));return z(...e)}getSecretRequirements(){return H([this.payload.config.project,this.payload.config.sheet])}getConstantRequirements(){return ru([this.payload.config.project,this.payload.config.sheet])}getRawOutputFields(){return{[gk.name]:this.catalogOutput(gk),[_k.name]:this.catalogOutput(_k)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},xk=vk,Sk={pipeId:hk,basePipe:W(hk),label:`Append row to sheet`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:"Add rows to a pipe0 sheet in a given project. config.project and config.sheet may each be a literal slug or a `{{ field_name }}` tag.",guide:`Append records to another pipe0 sheet. config.project (REQUIRED) is the destination project's org-unique slug — when working inside a project, pass THAT project's slug (see CURRENT CONTEXT). config.sheet is the destination sheet's slug; both may be a \`{{ field }}\` tag for a per-row destination. With allow_entity_creation on, a missing project/sheet (and unknown fields) are created; if the sheet slug already exists in a DIFFERENT project the rows fail. Destination slugs are ORG-UNIQUE, so config.sheet addresses a sheet across your whole org: an existing slug REUSES that sheet (appending into it) when it's in config.project, and FAILS when it lives elsewhere — so for a genuinely NEW sheet use a short descriptive slug plus 3-4 random alphanumeric chars (e.g. "ceos-x7k2") — you cannot see other projects' slugs, so only the random suffix makes a new slug collision-proof; set the display name afterwards with sheet:update@1 config.name. To explode a LIST field into MANY rows (denormalize a 1:N relationship), use row:expandappend:sheet@1 instead. To bulk-copy existing rows across sheets, prefer the rows:copy_to_sheet@1 effect. NON-IDEMPOTENT: each run appends again, so re-running duplicates rows (and you cannot undo rows written to another sheet) — dry-run the flow in sandbox first (env:change@1), and to retry after a partial failure adopt the succeeded cells (rows:adopt@1 with adopt_statuses:["completed"]) then rows:enrich@1. Requires a pipe0 connection (list_connections).`,docPath:G(hk),tags:[U.FIELDS],keywords:[`add`,`insert`,`write`,`push`,`export`],billableOperations:yk,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:hk,connector:{strategy:`first`,connections:[]},run_if:null,config:{project:``,sheet:``,run:!0,allow_entity_creation:!0,write_fields:[],output_fields:{sheet_record_id:{alias:``,enabled:!0},created_sheet:{alias:``,enabled:!0}}}}},Ck=`row:expandappend:sheet@1`,wk=h(`sheet_record_ids`),Tk=h(`input_objects`),Ek=`expanded_value`,Dk=r.object({pipe_id:r.literal(Ck),connector:x(),run_if:b(),config:r.object({project:gc({label:`Project`,info:"Project the destination sheet lives in (its org-unique slug). Pick an existing project or type a new slug — a new project is created when `allow_entity_creation` is on.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.project`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:dk}),sheet:gc({label:`Sheet ID`,info:`The destination sheet's identifier (its slug — NOT the display name). Slugs are org-unique: pick an existing sheet to write into it, or type a NEW slug to create one. A generic slug (e.g. "results", "companies") is likely to match an unrelated existing sheet, so for a new sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") that can't collide.`,groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:uk,enabledIf:e=>e.config?.project?{disabled:!1}:{disabled:!0,message:`Select a project first`}}),run:E({defaultValue:!0,groupPath:`config.general`,path:`config.run`,sectionKey:`general`,info:`Enrich record after write. Ignored if target sheet writes to other sheets.`,label:`Run`}),allow_entity_creation:E({label:`Allow creating missing entities`,description:`Create missing entities as needed (a missing sheet or project is created, along with the output column on the destination).`,defaultValue:!0,groupPath:`config.advanced`,path:`config.allow_entity_creation`,sectionKey:`general`}),...Vc({groupPath:`config.destination`,sectionKey:`general`,defaultName:Ek,nameInfo:`Name of the field each list item is written to on the destination sheet. Each item is stored as-is (objects/arrays as one json cell); extract flat columns afterwards with json:extract:multi@1.`}),input_fields:F(r.object({[Tk.name]:w({fieldName:Tk.name})})),output_fields:P(r.object({[wk.name]:D({fieldName:wk.name})}))})}).check(e=>{let t=e.value.config?.destination_field_name;t&&Bl(t)&&e.issues.push({code:`custom`,input:t,path:[`config`,`destination_field_name`],message:`'${t}' is reserved and cannot be used as a destination field name.`})}),Ok={"row-expandappend-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},kk=e=>R(K(Tk,e)),Ak=class extends B{pipeId=Ck;payload;payloadSchema=Dk;billableOperations=Ok;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-expandappend-sheet-v1-pipe0`)}getInputRequirement(){return kk(this.payload.config)}getRawOutputFields(){return{[wk.name]:this.catalogOutput(wk)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},jk=Dk,Mk={pipeId:Ck,basePipe:W(Ck),label:`Expand list to sheet`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:"Expand a list into sheet rows — each item is written as-is to an `expanded_value` column (objects/arrays as json).",guide:`Denormalize a 1:N list into rows on ANOTHER sheet: each item in the input_objects array becomes its own row on config.sheet, inside config.project (REQUIRED — the destination project's org-unique slug; when working inside a project pass THAT slug, see CURRENT CONTEXT). Every item is written AS-IS to a single column on the destination — an object/array lands as one json cell (its fields are NOT spread into separate columns), a primitive as a scalar. That column is \`expanded_value\` by default; rename/retype it via config.destination_field_name / destination_field_type / destination_field_format / destination_field_label (type/format are inferred from the data when left unset). To get flat columns, run json:extract:multi@1 ON THE DESTINATION sheet afterwards to pull out exactly the values you need. With allow_entity_creation on, a missing project/sheet (and the expanded_value column) are created; a sheet slug that exists in a DIFFERENT project fails the rows. Destination slugs are ORG-UNIQUE, so config.sheet addresses a sheet across your whole org: an existing slug REUSES that sheet (appending into it) when it's in config.project, and FAILS when it lives elsewhere — a generic slug like "results"/"companies"/"current-employers" will likely hit an unrelated sheet. When you mean a genuinely NEW sheet, use a short descriptive slug plus 3-4 random alphanumeric chars (e.g. "ceos-x7k2", "prospects-employers-9fq") — you cannot see other projects' slugs, so only the random suffix makes a new slug collision-proof; give the sheet its human-readable name afterwards with sheet:update@1 config.name. Use it when a column holds a list you need per-element (e.g. a profile's current employers) BEFORE enriching each element — never collapse the list with an LLM. Requires a pipe0 connection (resolve via list_connections). Typical pipeline: json:extract:multi@1 to build the array column → this pipe to explode it into an intermediary sheet → json:extract:multi@1 THERE to flatten the fields you need out of expanded_value → enrich each row (e.g. person:match:role:waterfall@1) → rows:copy_to_sheet@1 to the final sheet. NON-IDEMPOTENT: each run appends again, so re-running duplicates rows (and you cannot undo rows written to another sheet) — dry-run the flow in sandbox first (env:change@1), and to retry after a partial failure adopt the succeeded cells (rows:adopt@1 with adopt_statuses:["completed"]) then rows:enrich@1.`,docPath:G(Ck),tags:[U.FIELDS],keywords:[`explode`,`denormalize`,`array`,`split`,`one to many`,`fan out`],billableOperations:Ok,defaultInputRequirement:kk(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:Ck,connector:{strategy:`first`,connections:[]},run_if:null,config:{project:``,sheet:``,run:!0,allow_entity_creation:!0,destination_field_name:Ek,destination_field_type:``,destination_field_format:``,destination_field_label:``,input_fields:{input_objects:{alias:``}},output_fields:{sheet_record_ids:{alias:``,enabled:!0}}}}},Nk=`row:roundrobin:sheet@1`,Pk=os(g(`pipe0`,`Add a pipe0 connection first`),as(e=>e.config?.sheet,`Select a sheet first`)),Fk=r.object({pipe_id:r.literal(Nk),connector:x(),run_if:b(),config:r.object({sheet:Xc({label:`Sheet`,info:`The sheet to rotate through — e.g. a roster of sellers. Always another sheet.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet`,required:!0,optionsDef:lk}),sheet_where:lc({label:`Rotation pool`,info:`Only target-sheet rows matching these conditions rotate. Leave empty to rotate over the whole sheet.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_where`,required:!1,enabledIf:Pk,fieldNamePlaceholder:`segment`,optionsDef:mk({sheetPath:`config.sheet`})}),sheet_unique_field:Oc({label:`Unique column`,info:`Column of the target sheet that must be filled and unique in every row — checked at run time.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_unique_field`,required:!0,enabledIf:Pk,optionsDef:mk({sheetPath:`config.sheet`})}),sheet_copy_fields:Dc({label:`Fields to bring over`,info:`Target-sheet columns copied from the picked row; each becomes an output column.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_copy_fields`,minItems:1,enabledIf:Pk,optionsDef:mk({sheetPath:`config.sheet`,includeJson:!0})}),sheet_weight_field:Oc({label:`Weight column`,info:`Numeric target-sheet column scaling each row's share. 0 pauses a row; empty counts as 1. Leave unset for equal shares.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_weight_field`,enabledIf:Pk,optionsDef:mk({sheetPath:`config.sheet`})}),counter_field:Oc({label:`Counter field`,info:`Column of this sheet whose unique values advance the rotation.`,groupPath:`config.general`,sectionKey:`general`,path:`config.counter_field`,required:!0})})}),Ik={"row-roundrobin-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},Lk=class extends B{pipeId=Nk;payload;payloadSchema=Fk;billableOperations=Ik;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-roundrobin-sheet-v1-pipe0`)}getTemplatedFields(){return(this.payload.config.sheet_where?.conditions??[]).map(e=>typeof e.value==`string`?e.value:null)}getInputRequirement(){let e=this.payload.config.counter_field.field_name;return z(R({name:e,resolvedName:e,label:``,description:``,type:t=>tu(t,e)?.type||`unknown`,format:null}),nu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`}))}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getBucketRequirements(){let e=$e(this.payload.config.sheet),t=this.payload.config.counter_field.field_name;if(!e||!t)return[];let n=this.payload.config.sheet_where??null;return(n?.conditions??[]).some(e=>typeof e.value==`string`&&e.value.includes(`{{`))?[]:[{slug:sk(e,t,ok(n)),type:`counter`,schema:null,allowCreation:!0}]}getRawOutputFields(){let e={};for(let t of this.payload.config.sheet_copy_fields)t.field_name&&(e[t.field_name]={description:`Value of the target sheet's "${t.field_name}" column on the round-robin-picked row.`,enabled:!0,format:t.format??null,label:t.field_name,name:t.field_name,resolvedName:t.field_name,jsonMeta:null,type:t.type??`unknown`,isCatalogFIeld:!1,isPrimaryOutput:!1});return e}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},Rk=Fk,zk={pipeId:Nk,basePipe:W(Nk),label:`Round-robin from sheet`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Rotate through the rows of another sheet (e.g. a sellers roster): each unique counter value picks the next row round-robin, and the selected columns of the picked row become outputs. Re-run safe — the same counter value always picks the same row.`,guide:"Round-robin assignment from another pipe0 sheet (the roster — e.g. sellers). config.sheet is the target sheet's org-unique slug — one FIXED sheet for the whole pipe, never a per-row reference. config.sheet_where (optional) restricts the ROTATION POOL to target-sheet rows matching the conditions (null = whole sheet); condition field_names are LITERAL target-sheet columns, string values may hold `{{ field }}` refs resolved per lead — e.g. segment eq {{ segment }} routes each lead over its own segment's rows. Each distinct RESOLVED filter cycles on its OWN counter (so slot numbers stay consecutive per pool — strict round robin within each pool); avoid high-cardinality templated filters ({{ email }}-like) — every distinct value creates a counter bucket and will exhaust the org bucket quota. config.sheet_unique_field names a TARGET-sheet column that must be filled in EVERY row and unique across rows — the run fails with a clear message if it has gaps or duplicates (this guarantees every roster row is a distinct assignee). config.sheet_copy_fields are the TARGET-sheet columns copied from the picked row; each becomes an output column named like the column, typed by the entry's `type`/`format` (snapshotted from the target sheet's schema when picked — if the target column's type drifts later, the run fails with an output-type mismatch; re-pick the column to refresh the snapshot). config.counter_field names a column of the CURRENT sheet: every unique value of it takes the next number from an internal counter bucket (first-seen → 1, next new value → 2, …; the SAME value always keeps the SAME number, so re-runs are stable). The pick is slot (n − 1) mod W over the pool's rows in creation order, where W is the pool's total weight (= row count when unweighted) — adding pool rows only changes the wrap; deleting or reordering reshuffles subsequent picks. config.sheet_weight_field (optional) names a NUMERIC target-sheet column: a row with weight w takes w of every W slots, spread evenly across the cycle (weight 2 ≠ two consecutive picks); weight 0 pauses the row; an empty cell counts as 1; a negative or non-integer weight fails the run loudly. Editing weights re-shapes FUTURE picks only — the counter and its bucket are untouched, so rotation never restarts. The internal counter is a REAL org-scoped counter bucket (visible in the buckets UI, slug `rr--<sheet>--<counter field>`); changing the sheet or the counter field starts a fresh rotation. A row with a missing/empty counter value is gated to skipped before the runner. Empty roster → all outputs no_result. A copied column that is empty on the picked row resolves to no_result. Missing sheet (bad slug) fails the record naming the slug. The target sheet is NEVER modified. FREE pipe0 operation; requires a pipe0 connection (list_connections).",docPath:G(Nk),tags:[U.FIELDS],keywords:[`rotate`,`rotation`,`distribute`,`routing`,`assign`,`alternate`],billableOperations:Ik,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`config`,defaultPayload:{pipe_id:Nk,connector:{strategy:`first`,connections:[]},run_if:null,config:{sheet:``,sheet_where:null,sheet_unique_field:{field_name:``},sheet_copy_fields:[],sheet_weight_field:{field_name:``},counter_field:{field_name:``}}}},Bk=`SELECT table_schema, table_name, column_name, data_type FROM information_schema.columns WHERE table_schema NOT IN ('pg_catalog', 'information_schema') ORDER BY table_schema, table_name, ordinal_position`,Vk=`table_catalog NOT IN ('system', '__databricks_internal') AND table_schema <> 'information_schema'`,Hk=`SELECT table_catalog, table_schema, table_name FROM system.information_schema.tables WHERE ${Vk} ORDER BY table_catalog, table_schema, table_name`,Uk=`SELECT table_catalog, table_schema, table_name, column_name, data_type FROM system.information_schema.columns WHERE ${Vk} ORDER BY table_catalog, table_schema, table_name, ordinal_position`;function Wk(e){return typeof e==`string`?e:String(e??``)}function Gk(e){let t=new Map;for(let n of e){let e=Wk(n.table_schema),r=Wk(n.table_name);if(!r)continue;let i=`${e}.${r}`,a=t.get(i);a||(a={schema:e,name:r,columns:[]},t.set(i,a)),a.columns.push({name:Wk(n.column_name),type:Wk(n.data_type)})}return t}function Kk(e){return`${e.catalog?`${e.catalog}.`:``}${e.schema?`${e.schema}.`:``}${e.name}`}function qk(e,t){if(e.length===0)return{summary:`The connected database exposes no tables outside the system schemas — nothing to query yet.`,data:{tables:[],truncated:t}};let n=e.map(e=>{if(e.columns.length===0)return`- ${Kk(e)} — (columns not listed; DESCRIBE or sample to inspect)`;let t=e.columns.slice(0,50),n=e.columns.length-t.length,r=t.map(e=>e.type?`${e.name}:${e.type}`:e.name).join(`, `);return`- ${Kk(e)} — ${r}${n>0?` (+${n} more)`:``}`}),r=e.some(e=>e.catalog)?` Names are fully qualified (catalog.schema.table) — use them VERBATIM in config.query.`:``;return{summary:[`Schema map (${e.length} table${e.length===1?``:`s`}${t?`, truncated — the database has more`:``}). Write config.query against these;${r} sample rows free via run_search_oneshot.`,...n].join(`
79
- `),data:{tables:e,truncated:t}}}async function Jk(e){let t=await e({query:Hk,limit:500}),n=new Map;for(let e of t.rows){let t=Wk(e.table_catalog),r=Wk(e.table_schema),i=Wk(e.table_name);i&&n.set(`${t}.${r}.${i}`,{catalog:t,schema:r,name:i,columns:[]})}let r=await e({query:Uk,limit:500});for(let e of r.rows)n.get(`${Wk(e.table_catalog)}.${Wk(e.table_schema)}.${Wk(e.table_name)}`)?.columns.push({name:Wk(e.column_name),type:Wk(e.data_type)});return qk([...n.values()],t.hasMore||r.hasMore)}async function Yk(e){let t=await e({query:`SHOW TABLES`,limit:500}),n=t.rows.map(e=>({schema:Wk(e.database??e.namespace),name:Wk(e.tableName??e.table_name)})).filter(e=>e.name),r=t.hasMore||n.length>25,i=[];for(let{schema:t,name:r}of n.slice(0,25)){let n=(await e({query:`DESCRIBE TABLE ${t?`${t}.`:``}${r}`,limit:500})).rows.map(e=>({name:Wk(e.col_name),type:Wk(e.data_type)})).filter(e=>e.name&&!e.name.startsWith(`#`));i.push({schema:t,name:r,columns:n})}return qk(i,r)}async function Xk(e,t){if(t.environment===`sandbox`)return{summary:`Schema exploration needs the real database connection — it's read-only and free. Switch to production (env:change@1) to explore the schema, then rehearse the pipeline in sandbox.`};if(!t.runQuery)return{summary:`Live schema exploration isn't available in this context.`};if(e===`databricks`)try{return await Jk(t.runQuery)}catch{try{let e=await t.runQuery({query:Bk,limit:500});return qk([...Gk(e.rows).values()],e.hasMore)}catch{return Yk(t.runQuery)}}let n=await t.runQuery({query:Bk,limit:500});return qk([...Gk(n.rows).values()],n.hasMore)}const Zk=`rows:find:databricks@1`,Qk=h(`db_rows_found_count`),$k=h(`db_found_rows`),eA=r.object({pipe_id:r.literal(Zk),connector:x(),run_if:b(),config:r.object({query:hc({label:`SQL query`,info:`A single read-only SELECT statement, resolved per row — use {{ field }} for input refs, {{ SECRETS.X }} / {{ CONSTANTS.X }} for secrets/constants. Do not add your own LIMIT for capping; use the row limit below.`,groupPath:`config.general`,sectionKey:`general`,path:`config.query`,rows:8,required:!0,maxLength:2e4}),limit:qc({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:50}),output_fields:P(r.object({[Qk.name]:D({fieldName:Qk.name}),[$k.name]:D({fieldName:$k.name})}))})}),tA={"rows-find-databricks-v1-databricks":{provider:`databricks`,allowManagedConnection:!1,mode:null,credits:null,note:`Querying your own Databricks SQL warehouse is free.`}},nA=class extends B{pipeId=Zk;payload;payloadSchema=eA;billableOperations=tA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`databricks`]}estimateBillableOperations(e){return q(e,`rows-find-databricks-v1-databricks`)}getTemplatedFields(){return[this.payload.config.query]}getInputRequirement(){return nu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[Qk.name]:this.catalogOutput(Qk),[$k.name]:this.catalogOutput($k)}}getConnectionsRequirements(){return[{provider:`databricks`,rateLimitRatio:1,rateLimitOperation:`databricks_query`,allowManagedConnection:!1}]}async getAgentContext(e){return Xk(`databricks`,e)}},rA=eA,iA={pipeId:Zk,basePipe:W(Zk),label:`Find rows in Databricks`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`databricks`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in your own Databricks SQL warehouse with a read-only SQL query resolved per row. Outputs the total match count and the matching rows.`,guide:"Databricks SQL dialect; config.query must be a single read-only SELECT, resolved per row via Liquid — `{{ field }}` input refs, `{{ SECRETS.X }}` / `{{ CONSTANTS.X }}` supported. Resolved values are interpolated as text, so quote them in the SQL (WHERE email = '{{ email }}'). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the workspace-wide table/column map (all Unity catalogs) for free. Always reference tables by their FULLY QUALIFIED three-part name exactly as the map lists them (catalog.schema.table); a bare table name resolves against the warehouse's unpredictable current catalog and usually fails with TABLE_OR_VIEW_NOT_FOUND. Tables under the `samples` catalog (and other built-in demo schemas like `tpch`) are DEMO data, NOT the customer's own — never answer from them without confirming. READ-ONLY and idempotent — the gateway enforces single-statement SELECT validation. db_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); db_rows_found_count is always the TRUE total. When nothing matches, db_found_rows resolves to no_result (NOT an empty array) — db_rows_found_count (0) still completes, so condition on it to branch on absence. A field resolving to empty renders as an empty string in the SQL — guard with run_if if that must not match. Requires a databricks connection (list_connections).",docPath:G(Zk),tags:[U.FIELDS,U.NEW],keywords:[`sql`,`query`,`lookup`,`warehouse`,`database`,`select`],billableOperations:tA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:Zk,connector:{strategy:`first`,connections:[]},run_if:null,config:{query:``,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!1},db_found_rows:{alias:``,enabled:!0}}}}},aA=`rows:find:postgres@1`,oA=h(`db_rows_found_count`),sA=h(`db_found_rows`),cA=r.object({pipe_id:r.literal(aA),connector:x(),run_if:b(),config:r.object({query:hc({label:`SQL query`,info:`A single read-only SELECT statement, resolved per row — use {{ field }} for input refs, {{ SECRETS.X }} / {{ CONSTANTS.X }} for secrets/constants. Do not add your own LIMIT for capping; use the row limit below.`,groupPath:`config.general`,sectionKey:`general`,path:`config.query`,rows:8,required:!0,maxLength:2e4}),limit:qc({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:50}),output_fields:P(r.object({[oA.name]:D({fieldName:oA.name}),[sA.name]:D({fieldName:sA.name})}))})}),lA={"rows-find-postgres-v1-postgres":{provider:`postgres`,allowManagedConnection:!1,mode:null,credits:null,note:`Querying your own PostgreSQL database is free.`}},uA=class extends B{pipeId=aA;payload;payloadSchema=cA;billableOperations=lA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`postgres`]}estimateBillableOperations(e){return q(e,`rows-find-postgres-v1-postgres`)}getTemplatedFields(){return[this.payload.config.query]}getInputRequirement(){return nu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[oA.name]:this.catalogOutput(oA),[sA.name]:this.catalogOutput(sA)}}getConnectionsRequirements(){return[{provider:`postgres`,rateLimitRatio:1,rateLimitOperation:`postgres_query`,allowManagedConnection:!1}]}async getAgentContext(e){return Xk(`postgres`,e)}},dA=cA,fA={pipeId:aA,basePipe:W(aA),label:`Find rows in Postgres`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`postgres`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in your own PostgreSQL database with a read-only SQL query resolved per row. Outputs the total match count and the matching rows.`,guide:"PostgreSQL dialect; config.query must be a single read-only SELECT, resolved per row via Liquid — `{{ field }}` input refs, `{{ SECRETS.X }}` / `{{ CONSTANTS.X }}` supported. Resolved values are interpolated as text, so quote them in the SQL (WHERE email = '{{ email }}'). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the full table/column map for free. READ-ONLY and idempotent — the gateway enforces single-statement SELECT validation and a read-only transaction. db_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); db_rows_found_count is always the TRUE total. When nothing matches, db_found_rows resolves to no_result (NOT an empty array) — db_rows_found_count (0) still completes, so condition on it to branch on absence. A field resolving to empty renders as an empty string in the SQL — guard with run_if if that must not match. Requires a postgres connection (list_connections).",docPath:G(aA),tags:[U.FIELDS,U.NEW],keywords:[`sql`,`query`,`lookup`,`database`,`select`],billableOperations:lA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:aA,connector:{strategy:`first`,connections:[]},run_if:null,config:{query:``,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!1},db_found_rows:{alias:``,enabled:!0}}}}},pA=`rows:find:sheet@1`,mA=h(`sheet_rows_found_count`),hA=h(`sheet_found_rows`),gA=h(`sheet_found_row_ids`),_A=r.object({pipe_id:r.literal(pA),connector:x(),run_if:b(),config:r.object({sheet:gc({label:`Sheet ID`,info:"The sheet to search (its org-unique slug — NOT the display name). Type `@` to insert a field reference for a per-row sheet.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:lk}),where:lc({label:`Match conditions`,info:"Conditions on the target sheet's columns. Column names are literal; in the value, type `/` to insert a field reference (e.g. `{{ email }}`).",groupPath:`config.general`,sectionKey:`general`,path:`config.where`,fieldNamePlaceholder:`email`,optionsDef:mk({sheetPath:`config.sheet`})}),limit:qc({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:100}),output_fields:P(r.object({[mA.name]:D({fieldName:mA.name}),[hA.name]:D({fieldName:hA.name}),[gA.name]:D({fieldName:gA.name})}))})}),vA={"rows-find-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},yA=class extends B{pipeId=pA;payload;payloadSchema=_A;billableOperations=vA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-find-sheet-v1-pipe0`)}getTemplatedFields(){return[this.payload.config.sheet,...(this.payload.config.where?.conditions??[]).map(e=>typeof e.value==`string`?e.value:null)]}getInputRequirement(){return nu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return ru(this.getTemplatedFields())}getRawOutputFields(){return{[mA.name]:this.catalogOutput(mA),[hA.name]:this.catalogOutput(hA),[gA.name]:this.catalogOutput(gA)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},bA=_A,xA={pipeId:pA,basePipe:W(pA),label:`Find rows in sheet`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in another pipe0 sheet matching a condition block (and/or over eq, neq, gt, gte, lt, lte, contains, matches). Outputs the total match count, the matching rows, and their record IDs.`,guide:'Find rows in another pipe0 sheet. config.sheet is the target sheet\'s org-unique slug (a literal or a `{{ field }}` tag). config.where is a condition block over the TARGET sheet\'s columns: `logic` "and"/"or" combines value conditions; each condition\'s field_name is a LITERAL column name (never templated, NOT validated against the target sheet — a wrong name behaves like a null cell), and its value may be a literal or contain `{{ field }}` tags resolved per row. Operators: eq/neq compare as text (a number cell 42 matches the value "42"; neq ALSO matches rows where the column is missing or null; JSON object/array cells effectively never match); gt/gte/lt/lte compare numerically (non-numeric cells never match; a non-numeric condition value fails the row); contains is case-INsensitive substring; matches is case-SENSITIVE regex (invalid pattern fails the row). A `null` value with eq matches missing/null cells. READ-ONLY and idempotent — one query per row, the target sheet is never modified. sheet_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); sheet_rows_found_count is always the TRUE total. When nothing matches, sheet_found_rows and sheet_found_row_ids resolve to no_result (NOT an empty array) — sheet_rows_found_count (0) still completes, so condition on it to branch on absence. String condition values that resolve to an empty string fail the row (a blank field must not match everything) — guard with run_if. Requires a pipe0 connection (list_connections).',docPath:G(pA),tags:[U.FIELDS],keywords:[`lookup`,`query`,`search`,`match`,`filter`,`vlookup`],billableOperations:vA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:pA,connector:{strategy:`first`,connections:[]},run_if:null,config:{sheet:``,where:null,limit:10,output_fields:{sheet_rows_found_count:{alias:``,enabled:!1},sheet_found_rows:{alias:``,enabled:!0},sheet_found_row_ids:{alias:``,enabled:!1}}}}},SA=`template:fill@1`,CA=h(`template_output`),wA=r.object({pipe_id:r.literal(SA),connector:S(),run_if:b(),config:r.object({template:hc({sectionKey:`general`,path:`config.template`,label:`Template`,placeholder:V(`template`),groupPath:`config.general`,required:!0}),output_fields:P(r.object({[CA.name]:D({fieldName:CA.name})}))})}),TA={"template-fill-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,provider:`pipe0`,mode:`always`}},EA=class extends B{pipeId=SA;payload;payloadSchema=wA;billableOperations=TA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`template-fill-v1-pipe0`)}getInputRequirement(){return nu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return ru([this.payload.config.template])}getRawOutputFields(){return{[CA.name]:this.catalogOutput(CA)}}getConnectionsRequirements(){return[]}},DA=wA,OA={pipeId:SA,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(SA),label:`Fill a text template`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Replaces template tags like {{ name }} with actual values.`,tags:[U.TEXT],keywords:[`merge`,`personalize`,`liquid`,`placeholder`,`variables`,`mail merge`],docPath:G(SA),defaultInputRequirement:null,billableOperations:TA,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:SA,connector:null,run_if:null,config:{template:``,output_fields:{template_output:{alias:``,enabled:!0}}}}},kA=`website:extract:firecrawl@1`,AA=h(`website_url`),jA=h(`firecrawl_extract_result`),MA=r.object({pipe_id:r.literal(kA),connector:S(),run_if:b(),config:r.object({json_schema:Yc({sectionKey:`general`,groupPath:`config.extraction`,path:`config.json_schema`,label:`Output JSON schema`,info:`Specify the data you want to extract as a JSON schema.`,allowEmpty:!1}),extraction_prompt:Uc({sectionKey:`general`,groupPath:`config.extraction`,path:`config.extraction_prompt`,label:`Extraction Prompt`,info:`Prompt the scraper on what it should extract. Template tags are not supported.`,rows:5,minLength:10,placeholder:`E.g. Extract the company missing and latest news.`}),enable_full_domain_crawl:E({sectionKey:`general`,groupPath:`config.extraction`,defaultValue:!1,path:`config.enable_full_domain_crawl`,info:`If this option is enabled all URLs from this domain will be scraped.`,label:`Crawl full domain`}),enable_web_search:E({sectionKey:`general`,groupPath:`config.extraction`,label:`Enable web search`,path:`enable_web_search`,defaultValue:!1,info:`When 'true', the extraction will follow links outside the specified domain.`}),input_fields:F(r.object({[AA.name]:w({fieldName:AA.name})})),output_fields:P(r.object({[jA.name]:D({fieldName:jA.name})}))})}),NA=e=>R(K(AA,e)),PA={"website-extract-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`}},FA=class extends B{pipeId=kA;payload;payloadSchema=MA;billableOperations=PA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-extract-firecrawl-v1-firecrawl`)}getInputRequirement(){return NA(this.payload.config)}getRawOutputFields(){return{[jA.name]:this.catalogOutput(jA)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},IA=MA,LA={pipeId:kA,basePipe:W(kA),label:`Extract`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Perform advanced AI scraping to extract data from any website. Search all subdomains and combine scraped data with search results.`,tags:[U.SCRAPE],keywords:[`scrape`,`crawl`,`ai`,`structured data`,`json`,`web`],docPath:G(kA),billableOperations:PA,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:NA(null),defaultPayload:{pipe_id:kA,run_if:null,connector:null,config:{json_schema:{type:`object`},enable_full_domain_crawl:!1,enable_web_search:!1,extraction_prompt:``,input_fields:{website_url:{alias:``}},output_fields:{firecrawl_extract_result:{alias:``,enabled:!0}}}}},RA=`website:extract:parallel@1`,zA=h(`website_url`),BA=h(`parallel_extract_result`),VA=r.object({pipe_id:r.literal(RA),connector:S(),run_if:b(),config:r.object({objective:Uc({sectionKey:`general`,groupPath:`config.extraction`,path:`config.objective`,label:`Objective`,info:`Natural-language description of what to extract. Template tags are not supported.`,rows:5,minLength:10,placeholder:`E.g. When was the company founded and what does it do?`}),input_fields:F(r.object({[zA.name]:w({fieldName:zA.name})})),output_fields:P(r.object({[BA.name]:D({fieldName:BA.name})}))})}),HA=e=>R(K(zA,e)),UA={"website-extract-parallel-v1-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.1},mode:`onSuccess`}},WA=class extends B{pipeId=RA;payload;payloadSchema=VA;billableOperations=UA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`parallel`]}estimateBillableOperations(e){return q(e,`website-extract-parallel-v1-parallel`)}getInputRequirement(){return HA(this.payload.config)}getRawOutputFields(){return{[BA.name]:this.catalogOutput(BA,{isPrimaryOutput:!0})}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitRatio:1,rateLimitOperation:`parallel_extract`,allowManagedConnection:!0}]}},GA=VA,KA={pipeId:RA,basePipe:W(RA),label:`Extract (Parallel)`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Extract relevant content from a website using Parallel's Extract API. Returns a flat list of results — page title, publish date and the excerpts most relevant to your objective.`,tags:[U.SCRAPE],keywords:[`scrape`,`crawl`,`content`,`web`,`research`],docPath:G(RA),billableOperations:UA,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`parallel`],managedProviders:[`parallel`],deprecatedProviders:[],defaultInputRequirement:HA(null),defaultPayload:{pipe_id:RA,run_if:null,connector:null,config:{objective:``,input_fields:{website_url:{alias:``}},output_fields:{parallel_extract_result:{alias:``,enabled:!0}}}}},qA=`website:maplinks:firecrawl@1`,JA={"website-maplinks-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:1},mode:`onSuccess`}},YA=h(`website_url`),XA=h(`mapped_links`),ZA=r.object({pipe_id:r.literal(qA),connector:S(),run_if:b(),config:r.object({page_limit:qc({label:`Page limit`,info:`Number of pages searched`,groupPath:`config.general`,max:50,min:1,path:`config.page_limit`,sectionKey:`general`}).nullish(),sitemap:Wc({label:`Sitemap`,info:`Include sitemap links`,sectionKey:`general`,groupPath:`config.general`,path:`config.sitemap`,defaultValue:`include`,required:!1,options:[{value:`include`,label:`Include`},{value:`skip`,label:`Skip`},{value:`only`,label:`Only`}]}),search:Hc({sectionKey:`general`,label:`Search`,inputType:`text`,info:`Return matching urls`,groupPath:`config.general`,path:`config.search`}).nullable().default(``),input_fields:F(r.object({[YA.name]:w({fieldName:YA.name})})),output_fields:P(r.object({[XA.name]:D({fieldName:XA.name})}))}).optional()}),QA=e=>R(K(YA,e)),$A=class extends B{pipeId=qA;payload;payloadSchema=ZA;billableOperations=JA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-maplinks-firecrawl-v1-firecrawl`)}getInputRequirement(){return QA(this.payload.config)}getRawOutputFields(){return{[XA.name]:this.catalogOutput(XA)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_map_requests`,allowManagedConnection:!0}]}},ej=ZA,tj={pipeId:qA,basePipe:W(qA),label:`Map domain links`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Input a website and get all internal URLs on the website. Results do not include links to external pages.`,tags:[U.SCRAPE],keywords:[`sitemap`,`crawl`,`urls`,`pages`,`discover`,`internal`],docPath:G(qA),billableOperations:JA,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:QA(null),defaultPayload:{pipe_id:qA,run_if:null,connector:null,config:{page_limit:25,sitemap:`include`,search:``,input_fields:{website_url:{alias:``}},output_fields:{mapped_links:{alias:``,enabled:!0}}}}},nj=`website:scrape:firecrawl@1`,rj=h(`website_url`),ij=h(`website_markdown`),aj=h(`website_html`),oj=h(`website_links`),sj=r.object({pipe_id:r.literal(nj),connector:S(),run_if:b(),config:r.object({scrape_main_only:E({defaultValue:!1,label:`Scrape main content only?`,info:`If selected, content like headers, footers, and sidebars are excluded from the scrape results.`,sectionKey:`general`,groupPath:`config.general`,path:`config.scrape_main_only`}),input_fields:F(r.object({[rj.name]:w({fieldName:rj.name})})),output_fields:P(r.object({[ij.name]:D({fieldName:ij.name}),[aj.name]:D({fieldName:aj.name}),[oj.name]:D({fieldName:oj.name})}))}).optional()}),cj=e=>R(K(rj,e)),lj={"website-scrape-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`onSuccess`}},uj=class extends B{pipeId=nj;payload;payloadSchema=sj;billableOperations=lj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-scrape-firecrawl-v1-firecrawl`)}getInputRequirement(){return cj(this.payload.config)}getRawOutputFields(){return{[ij.name]:this.catalogOutput(ij),[aj.name]:this.catalogOutput(aj),[oj.name]:this.catalogOutput(oj)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},dj=sj,fj={pipeId:nj,basePipe:W(nj),label:`Scrape`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Turn any URL into clean data.`,tags:[U.SCRAPE],keywords:[`crawl`,`html`,`markdown`,`content`,`web page`,`fetch`],docPath:G(nj),billableOperations:lj,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:cj(null),defaultPayload:{pipe_id:nj,run_if:null,connector:null,config:{scrape_main_only:!0,input_fields:{website_url:{alias:``}},output_fields:{website_markdown:{alias:``,enabled:!0},website_html:{alias:``,enabled:!1},website_links:{alias:``,enabled:!1}}}}},pj=`website:scrapelist:firecrawl@1`,mj={"website-scrapelist-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`onSuccess`,note:`You are charged per url that is scraped.`}},hj=h(`urls`),gj=h(`scrape_list_response`),_j=r.object({pipe_id:r.literal(pj),connector:S(),run_if:b(),config:r.object({scrape_main_only:E({label:`Scrape main content only?`,defaultValue:!1,info:`If selected headers, footers, and sidebars will be excluded from the results.`,sectionKey:`general`,groupPath:`config.general`,path:`config.scrape_main_only`}),formats:Kc({options:[{label:`Markdown`,value:`markdown`},{label:`HTML`,value:`html`},{label:`Links`,value:`links`}],disableSearch:!0,info:`Choose what you want to scrape from the website`,required:!1,label:`Formats`,sectionKey:`general`,groupPath:`config.general`,path:`config.formats`}).default([]),input_fields:F(r.object({[hj.name]:w({fieldName:hj.name})})),output_fields:P(r.object({[gj.name]:D({fieldName:gj.name})}))}).optional()}),vj=e=>R(K(hj,e)),yj=class extends B{pipeId=pj;payload;payloadSchema=_j;billableOperations=mj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return[{billableOperation:`website-scrapelist-firecrawl-v1-firecrawl`,quantity:e.count*5}]}getInputRequirement(){return vj(this.payload.config)}getRawOutputFields(){return{[gj.name]:this.catalogOutput(gj)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},bj=_j,xj={pipeId:pj,basePipe:W(pj),label:`Scrape list`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Turn a list of URLs into clean scraped data.`,tags:[U.SCRAPE],keywords:[`crawl`,`html`,`markdown`,`content`,`batch`,`bulk`],docPath:G(pj),billableOperations:mj,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:vj(null),defaultPayload:{pipe_id:pj,run_if:null,connector:null,config:{scrape_main_only:!0,formats:[`html`,`markdown`,`links`],input_fields:{urls:{alias:``}},output_fields:{scrape_list_response:{alias:``,enabled:!0}}}}},Sj=`companies:profiles:crustdata@1.companies:profiles:crustdata@2.companies:profiles:amplemarket@1.companies:profiles:amplemarket@2.people:profiles:crustdata@1.people:profiles:crustdata@2.people:profiles:crustdata@3.people:profiles:amplemarket@1.people:profiles:amplemarket@2.companies:entitysearch:parallel@1.people:entitysearch:parallel@1.people:eventguests:luma@1.sheet:rows@1.bucket:entries@1.query:postgres@1.query:databricks@1.posts:content:crustdata@1.contacts:hubspot@1.companies:hubspot@1.deals:hubspot@1.owners:hubspot@1.contacts:salesforce@1.leads:salesforce@1.accounts:salesforce@1.opportunities:salesforce@1.users:salesforce@1.query:salesforce@1`.split(`.`),Cj=r.enum(Sj);function wj(e,t){let n={name:e,config:t};return Tl.hashObject(n)}var Z=class{estimateBillableOperations(e){let{cost:t,billableOperation:n}=this.billing;return t.allowManagedConnection?[{billableOperation:n,quantity:t.mode===`per_result`?e.count:t.mode===`per_page`?e.count/100:1}]:[]}validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}catalogOutput(e){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:e.type,format:e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0,order:`order`in e?e.order:void 0}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}getDedupConfig(){return{match:`any`,fields:[]}}async getAgentContext(e){return null}getHashKey(){return wj(this.searchId,this.payload)}};function Q(e){return e.split(`@`)[0]}function $(e){return`/docs/search-catalog/${Q(e)}/${e.split(`@`)[1]}`}const Tj=`bucket:entries@1`,Ej=r.object({search_id:r.literal(Tj),connector:bc(),config:r.object({bucket:sl({path:`config.bucket`,groupPath:`config.general`,inputType:`text`,label:`Bucket`,sectionKey:`general`,description:`The bucket's org-unique slug. Its entries (one row each) are returned.`}),limit:N({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entries per page`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),include_metadata:al({path:`config.include_metadata`,groupPath:`config.general`,sectionKey:`general`,label:`Include metadata`,description:`Provenance (source sheet/row/run) and expiry as extra columns.`,defaultValue:!1})})}),Dj={allowManagedConnection:!0,mode:`per_search`,credits:{default:0},info:`Reading your own bucket is free.`},Oj=`bucket-entries-v1-pipe0`,kj=class extends Z{billing={billableOperation:Oj,cost:Dj};searchId=Tj;schema=Ej;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}},Aj=Ej,jj={searchId:Tj,billableOperation:Oj,baseSearch:Q(Tj),outputFieldMode:`dynamic`,paginationType:`cursor`,label:`Read bucket entries`,categories:[`data`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`List the entries in a bucket — one row per entry, with its identifying field values (and counter number / expiry).`,tags:[U.FIELDS,U.NEW],keywords:[`claims`,`counter`,`suppression`,`list`,`lookup`,`rows`],docPath:$(Tj),cost:Dj,provider:`pipe0`,defaultPayload:{search_id:Tj,connector:{strategy:`first`,connections:[]},config:{bucket:``,limit:100,cursor:``,include_metadata:!1}}},Mj=`companies:entitysearch:parallel@1`,Nj=h(`company_name`),Pj=h(`company_domain`),Fj=h(`company_description`),Ij=h(`company_profile_url`),Lj=h(`parallel_company_entity_match`),Rj=r.object({search_id:r.literal(Mj),connector:xc(),config:r.object({objective:cl({path:`config.objective`,sectionKey:`general`,groupPath:`config.general`,label:`Objective`,rows:4,minLength:10,placeholder:`AI startups in Europe that raised a Series A in 2024`,description:`Plain-text natural-language description of the companies to find.`}),limit:N({path:`config.limit`,min:5,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entities to return (5–1000).`}).default(100),output_fields:P(r.object({[Nj.name]:A({fieldName:Nj.name}),[Pj.name]:A({fieldName:Pj.name}),[Fj.name]:A({fieldName:Fj.name}),[Ij.name]:A({fieldName:Ij.name}),[Lj.name]:A({fieldName:Lj.name})}))})}),zj={match:`any`,fields:[{fieldName:`company_profile_url`}]},Bj={allowManagedConnection:!0,mode:`per_page`,credits:{default:.5},info:`1 page = 100 results; billed per 100 results returned (e.g. 100 results = 1 page, 1,000 results = 10 pages). A search returns up to your selected limit in a single request.`},Vj=`companies-entitysearch-parallel-v1`,Hj=class extends Z{billing={billableOperation:Vj,cost:Bj};searchId=Mj;schema=Rj;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[Nj.name]:this.catalogOutput(Nj),[Pj.name]:this.catalogOutput(Pj),[Fj.name]:this.catalogOutput(Fj),[Ij.name]:this.catalogOutput(Ij),[Lj.name]:this.catalogOutput(Lj)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitOperation:`parallel_entity_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return zj}},Uj=Rj,Wj={searchId:Mj,billableOperation:Vj,baseSearch:Q(Mj),label:`Company search (AI)`,categories:[`companies`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Natural-language company search powered by Parallel Entity Search.`,tags:[U.COMPANY_PROFILES],keywords:[`find companies`,`accounts`,`prospect`,`natural language`,`organizations`],docPath:$(Mj),cost:Bj,provider:`parallel`,defaultPayload:{search_id:Mj,connector:null,config:{objective:``,limit:100,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},parallel_company_entity_match:{enabled:!1,alias:``}}}}},Gj=`companies:hubspot@1`,Kj=h(`hubspot_object_id`),qj=h(`company_name`),Jj=h(`company_domain`),Yj=h(`hubspot_company_match`),Xj=r.object({search_id:r.literal(Gj),connector:bc(),config:r.object({query:sl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable company properties (name, domain, website, phone).`}).nullable(),custom_properties:Qc({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`account_tier`,info:"Added to the company JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:Zc({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`industry`,info:`Rows filter on any HubSpot property by internal name — including custom properties. Enumeration values are the portal's internal option values (case-sensitive).`}),domains:k({path:`config.domains`,groupPath:`config.general`,sectionKey:`general`,label:`Domains`,placeholder:`acme.com`}),owner:ul({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Pf}),created_within:ll({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:ll({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),limit:N({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[Kj.name]:A({fieldName:Kj.name}),[qj.name]:A({fieldName:qj.name}),[Jj.name]:A({fieldName:Jj.name}),[Yj.name]:A({fieldName:Yj.name})}))})}),Zj={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},Qj=`companies-hubspot-v1`,$j=class extends Z{billing={billableOperation:Qj,cost:Zj};searchId=Gj;schema=Xj;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[Kj.name]:this.catalogOutput(Kj),[qj.name]:this.catalogOutput(qj),[Jj.name]:this.catalogOutput(Jj),[Yj.name]:this.catalogOutput(Yj)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Lf(e,{objectTypes:[[`companies`,`0-2`]]})}},eM=Xj,tM={searchId:Gj,billableOperation:Qj,baseSearch:Q(Gj),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot companies`,categories:[`companies`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List companies from your HubSpot portal: identity columns (id, name, domain) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.WEBSITE,U.NEW],keywords:[`crm`,`lookup`,`list`,`records`,`import`,`account`],docPath:$(Gj),guide:"Call get_provider_context first for this portal's property names and enumeration option values — use internal names verbatim. Domain include/exclude matches the primary `domain` property (lowercased). Newly created records lag search indexing by a few moments; archived records never appear. Total results cap at 10,000 per query.",cost:Zj,provider:`hubspot`,defaultPayload:{search_id:Gj,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:null,domains:{include:[],exclude:[]},owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},hubspot_company_match:{enabled:!0,alias:``}}}}};function nM(e){let t=!0,n=e=>{if(t!==!1&&typeof e==`object`&&e){Array.isArray(e)&&e.length>0&&(t=!1);for(let r of Object.values(e))typeof r!=`object`&&r!=null&&r!==``&&(t=!1),typeof r==`object`&&r&&n(r)}};return n(e),t}const rM=`companies:profiles:amplemarket@2`,iM=h(`company_name`),aM=h(`company_domain`),oM=h(`company_description`),sM=h(`company_profile_url`),cM=h(`amplemarket_company_match`),lM=r.object({search_id:r.literal(rM),connector:xc(),config:r.object({limit:N({label:`Limit`,description:`Max number of search results`,path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`}).default(100),page_number:N({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:P(r.object({[iM.name]:A({fieldName:iM.name}),[aM.name]:A({fieldName:aM.name}),[oM.name]:A({fieldName:oM.name}),[sM.name]:A({fieldName:sM.name}),[cM.name]:A({fieldName:cM.name})})),filters:r.object({hq_locations:M({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),company_names:k({sectionKey:`config.filters`,path:`config.filters.company_names`,label:`Company names`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),company_domains:k({sectionKey:`config.filters`,path:`config.filters.company_domains`,label:`Company domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_profile_urls:k({sectionKey:`config.filters`,path:`config.filters.company_profile_urls`,label:`Company LinkedIn URLs`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),company_types:j({sectionKey:`config.filters`,path:`config.filters.company_types`,disableSearch:!1,label:`Company Type`,description:``,groupPath:`config.filters.categories`,options:p(`amplemarket.company_types`),required:!1}).default([]),investors:dl({sectionKey:`config.filters`,path:`config.filters.investors`,label:`Investor names`,optionsDef:m(`company.crunchbase_investors.crustdata`),description:`A list of company investor names`,placeholder:V(`investor`),groupPath:`config.filters.investors`,disableSearch:!1,required:!1}).default([]),company_industries:tl({sectionKey:`config.filters`,path:`config.filters.company_industries`,optionsDef:ze(`amplemarket.industries`),disableSearch:!1,label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),customer_types:j({sectionKey:`config.filters`,path:`config.filters.customer_types`,options:[{value:`b2b`,label:`B2B`},{value:`b2c`,label:`B2C`}],required:!1,disableSearch:!0,label:`Customer Types`,description:``,groupPath:`config.filters.industry`}).default([]),keywords:k({sectionKey:`config.filters`,path:`config.filters.keywords`,label:`Keywords`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),revenue_groups:j({path:`config.filters.revenue_groups`,sectionKey:`config.filters`,label:`Revenue groups`,description:``,disableSearch:!0,options:p(`amplemarket.company_revenue`),required:!1,groupPath:`config.filters.financials`}).default([]),founded_year:el({path:`config.filters.founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.general`,min:0,max:2040,description:``}).default({min:null,max:null}),open_position_titles:O({path:`config.filters.open_position_titles`,sectionKey:`config.filters`,label:`Job openings for titles`,groupPath:`config.filters.job_openings`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),headcount:j({sectionKey:`config.filters`,path:`config.filters.headcount`,disableSearch:!1,options:p(`amplemarket.company_size`),label:`Company sizes`,required:!1,description:``,groupPath:`config.filters.company_size`}).default([]),headcount_growth_l6m_in_percent:el({path:`config.filters.headcount_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months (in %)`,groupPath:`config.filters.company_size`,description:``,max:1e4,min:0}).default({min:null,max:null})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),uM={match:`any`,fields:[{fieldName:`company_profile_url`}]},dM={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},fM=`companies-profiles-amplemarket-v2`,pM=class extends Z{billing={billableOperation:fM,cost:dM};searchId=rM;schema=lM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[iM.name]:this.catalogOutput(iM),[aM.name]:this.catalogOutput(aM),[oM.name]:this.catalogOutput(oM),[sM.name]:this.catalogOutput(sM),[cM.name]:this.catalogOutput(cM)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_company_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return uM}},mM=lM,hM={searchId:rM,billableOperation:fM,baseSearch:Q(`companies:profiles:amplemarket@2`),label:`Company search`,categories:[`companies`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],keywords:[`accounts`,`prospect`,`find companies`,`organizations`,`firmographic`],docPath:$(rM),cost:dM,provider:`amplemarket`,defaultPayload:{search_id:rM,connector:null,config:{limit:100,page_number:1,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},amplemarket_company_match:{enabled:!0,alias:``}},filters:{company_industries:{include:[],exclude:[]},company_names:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}},gM=`companies:profiles:crustdata@2`,_M=h(`company_name`),vM=h(`company_domain`),yM=h(`company_description`),bM=h(`company_profile_url`),xM=h(`crustdata_company_match`),SM=r.object({search_id:r.literal(gM),connector:xc(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[_M.name]:A({fieldName:_M.name}),[vM.name]:A({fieldName:vM.name}),[yM.name]:A({fieldName:yM.name}),[bM.name]:A({fieldName:bM.name}),[xM.name]:A({fieldName:xM.name})})),filters:r.object({hq_locations:M({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),crunchbase_categories:M({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,placeholder:V(`crunchbase_category`),description:``,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default({include:[],exclude:[]}),crunchbase_investors:M({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default({include:[],exclude:[]}),tracxn_investors:M({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.tracxn_investors.crustdata`)}).default({include:[],exclude:[]}),company_types:tl({sectionKey:`config.filters`,path:`config.filters.company_types`,optionsDef:{type:`static`,options:p(`crustdata.company_types`)},label:`Company types`,placeholder:`Public, Private, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),linkedin_industries:M({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),markets:M({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),placeholder:`NYSE, TYO, ...`,label:`Markets`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),linkedin_categories:M({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`LinkedIn category`,placeholder:`Marketing, Branding, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),headcount:tl({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,placeholder:`1-10`,optionsDef:{type:`static`,options:p(`crustdata.company_size`)},groupPath:`config.filters.company_size`}).default({include:[],exclude:[]}),linkedin_headcount_ranges:j({path:`config.filters.linkedin_headcount_ranges`,sectionKey:`config.filters`,label:`Size bracket`,description:`Headcount range a company self-reports on its LinkedIn page.`,options:p(`crustdata.linkedin_headcount_ranges`),placeholder:`2-10`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),headcount_growth_l6m_in_percent:j({path:`config.filters.headcount_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),placeholder:`0-10%`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:rl({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:tl({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,placeholder:`Series A`,disableSearch:!0,optionsDef:{type:`static`,options:p(`crustdata.funding_rounds`)},description:``,groupPath:`config.filters.financials`}).default({include:[],exclude:[]}),last_funding_amount:rl({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:j({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,placeholder:`1-500`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_l6m_in_percent:j({path:`config.filters.follower_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,required:!1,disableSearch:!0,placeholder:`0-10%`,description:``,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:k({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,placeholder:V(`company_profile_keyword`),description:``,groupPath:`config.filters.keywords`}).default({include:[],exclude:[]}),competitor_domains:k({path:`config.filters.competitor_domains`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domain`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.competitors`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_domains:k({path:`config.filters.company_domains`,sectionKey:`config.filters`,maxItems:400,label:`Company domain`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.web_presence`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_profile_urls:k({path:`config.filters.company_profile_urls`,sectionKey:`config.filters`,maxItems:2e3,label:`Company LinkedIn URL`,description:``,placeholder:`https://linkedin.com/company/...`,groupPath:`config.filters.web_presence`}).default({include:[],exclude:[]}),company_names:k({path:`config.filters.company_names`,sectionKey:`config.filters`,maxItems:2e3,label:`Company name`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.web_presence`}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),CM={match:`any`,fields:[{fieldName:`company_profile_url`}]},wM={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},TM=`companies-profiles-crustdata-v2`,EM=class extends Z{billing={billableOperation:TM,cost:wM};searchId=gM;schema=SM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[_M.name]:this.catalogOutput(_M),[vM.name]:this.catalogOutput(vM),[yM.name]:this.catalogOutput(yM),[bM.name]:this.catalogOutput(bM),[xM.name]:this.catalogOutput(xM)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return CM}},DM=SM,OM={searchId:gM,billableOperation:TM,baseSearch:Q(`companies:profiles:crustdata@2`),label:`Company search`,categories:[`companies`],paginationType:`cursor`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],keywords:[`accounts`,`prospect`,`find companies`,`organizations`,`firmographic`,`linkedin`],docPath:$(gM),cost:wM,provider:`crustdata`,defaultPayload:{search_id:gM,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:{include:[],exclude:[]},linkedin_industries:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},crunchbase_categories:{include:[],exclude:[]},markets:{include:[],exclude:[]},revenue_in_usd:{from:null,to:null},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},follower_growth_l6m_in_percent:[],headcount:{include:[],exclude:[]},linkedin_headcount_ranges:[],hq_locations:{include:[],exclude:[]},number_of_followers:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[],exclude:[]},company_domains:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_names:{include:[],exclude:[]}}}}},kM=`contacts:hubspot@1`,AM=h(`hubspot_object_id`),jM=h(`email`),MM=h(`first_name`),NM=h(`last_name`),PM=h(`hubspot_contact_match`),FM=r.object({search_id:r.literal(kM),connector:bc(),config:r.object({query:sl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable contact properties (name, email, phone, company).`}).nullable(),custom_properties:Qc({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`product_signup_date`,info:"Added to the contact JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:Zc({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`lifecyclestage`,info:`Rows filter on any HubSpot property by internal name — including custom properties. Enumeration values are the portal's internal option values (case-sensitive).`}),lifecycle_stage:ul({path:`config.lifecycle_stage`,groupPath:`config.general`,sectionKey:`general`,label:`Lifecycle stage`,required:!1,info:`This portal's actual stages — custom stages included.`,enabledIf:g(`hubspot`),optionsDef:Ff(`contacts`,`lifecyclestage`)}),owner:ul({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Pf}),created_within:ll({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:ll({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),limit:N({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[AM.name]:A({fieldName:AM.name}),[jM.name]:A({fieldName:jM.name}),[MM.name]:A({fieldName:MM.name}),[NM.name]:A({fieldName:NM.name}),[PM.name]:A({fieldName:PM.name})}))})}),IM={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},LM=`contacts-hubspot-v1`,RM=class extends Z{billing={billableOperation:LM,cost:IM};searchId=kM;schema=FM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[AM.name]:this.catalogOutput(AM),[jM.name]:this.catalogOutput(jM),[MM.name]:this.catalogOutput(MM),[NM.name]:this.catalogOutput(NM),[PM.name]:this.catalogOutput(PM)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Lf(e,{objectTypes:[[`contacts`,`0-1`]]})}},zM=FM,BM={searchId:kM,billableOperation:LM,baseSearch:Q(kM),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot contacts`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List contacts from your HubSpot portal: identity columns (id, email, name) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`lookup`,`list`,`records`,`import`,`person`],docPath:$(kM),guide:`Call get_provider_context first for this portal's property names and enumeration option values — use internal names verbatim. Standard fields become typed columns; the standard set rides flat in the contact JSON and picked custom properties nest under custom_properties — expand it or chain json:extract downstream. Filters support any property; the lifecycle-stage picker shows the portal's actual stages (custom stages have opaque internal values). Newly created records lag search indexing by a few moments; archived records never appear. Total results cap at 10,000 per query — narrow with filters or date windows.`,cost:IM,provider:`hubspot`,defaultPayload:{search_id:kM,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:null,lifecycle_stage:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},email:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},hubspot_contact_match:{enabled:!0,alias:``}}}}},VM=`query:databricks@1`,HM=r.object({search_id:r.literal(VM),connector:bc(),config:r.object({query:cl({path:`config.query`,groupPath:`config.general`,sectionKey:`general`,label:`SQL query`,description:`A single read-only SELECT statement. It is wrapped automatically for pagination, so do not add your own LIMIT/OFFSET for paging.`,rows:8,minLength:1,maxLength:2e4}),limit:N({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:N({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index (offset pagination)`}).nullable().default(1)})}),UM={allowManagedConnection:!1,mode:null,credits:null,info:`Querying your own Databricks SQL warehouse is free.`},WM=`data-query-databricks-v1`,GM=class extends Z{billing={billableOperation:WM,cost:UM};searchId=VM;schema=HM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`databricks`,rateLimitOperation:`databricks_query`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return Xk(`databricks`,e)}},KM=HM,qM={searchId:VM,billableOperation:WM,baseSearch:Q(VM),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Databricks`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SQL query against your Databricks SQL warehouse and return the rows.`,guide:"Databricks SQL dialect; config.query must be a single read-only statement (no self-managed LIMIT/OFFSET — pagination is wrapped automatically). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the workspace-wide table/column map (all Unity catalogs) for free. Always reference tables by their FULLY QUALIFIED three-part name exactly as the map lists them (catalog.schema.table, e.g. samples.accuweather.forecast_daily); a bare table name resolves against the warehouse's unpredictable current catalog and usually fails with TABLE_OR_VIEW_NOT_FOUND. Sample actual rows (also free) with run_search_oneshot, then write the real config.query. Tables under the `samples` catalog (and Databricks' other built-in example schemas like `tpch` and `tpcds_*`) are DEMO data shipped to every workspace, NOT the customer's own data. If the user asks about their data and the only match is under `samples`/a demo schema — or the map shows only demo tables — the connection isn't pointed at their catalog: confirm the intended table with the user before querying, and never answer their question from a demo table.",tags:[U.FIELDS,U.NEW],keywords:[`sql`,`database`,`warehouse`,`select`,`table`,`read data`],docPath:$(VM),cost:UM,provider:`databricks`,defaultPayload:{search_id:VM,connector:{strategy:`first`,connections:[]},config:{query:``,limit:100,page_number:1}}},JM=`query:postgres@1`,YM=r.object({search_id:r.literal(JM),connector:bc(),config:r.object({query:cl({path:`config.query`,groupPath:`config.general`,sectionKey:`general`,label:`SQL query`,description:`A single read-only SELECT statement. It is wrapped automatically for pagination, so do not add your own LIMIT/OFFSET for paging.`,rows:8,minLength:1,maxLength:2e4}),limit:N({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:N({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index (offset pagination)`}).nullable().default(1)})}),XM={allowManagedConnection:!1,mode:null,credits:null,info:`Querying your own PostgreSQL database is free.`},ZM=`data-query-postgres-v1`,QM=class extends Z{billing={billableOperation:ZM,cost:XM};searchId=JM;schema=YM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`postgres`,rateLimitOperation:`postgres_query`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return Xk(`postgres`,e)}},$M=YM,eN={searchId:JM,billableOperation:ZM,baseSearch:Q(JM),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Postgres`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SQL query against your own PostgreSQL database and return the rows.`,guide:`PostgreSQL dialect; config.query must be a single read-only SELECT (no self-managed LIMIT/OFFSET — pagination is wrapped automatically). To discover the schema, draft a payload with a placeholder config.query like "SELECT 1" and the chosen connection in connector.connections, then call get_provider_context once — it returns the full table/column map for free. Sample actual rows (also free) with run_search_oneshot, then write the real config.query.`,tags:[U.FIELDS,U.NEW],keywords:[`sql`,`database`,`select`,`table`,`read data`],docPath:$(JM),cost:XM,provider:`postgres`,defaultPayload:{search_id:JM,connector:{strategy:`first`,connections:[]},config:{query:``,limit:100,page_number:1}}},tN=`deals:hubspot@1`,nN=h(`hubspot_object_id`),rN=h(`deal_name`),iN=h(`deal_amount`),aN=h(`hubspot_deal_match`),oN=r.object({search_id:r.literal(tN),connector:bc(),config:r.object({query:sl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable deal properties (deal name, pipeline, stage, description).`}).nullable(),custom_properties:Qc({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`contract_term`,info:"Added to the deal JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:r.object({conditions:Zc({path:`config.filters.conditions`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`amount`,info:`Rows filter on any HubSpot property by internal name — including custom properties.`}),pipeline:ul({path:`config.filters.pipeline`,groupPath:`config.general`,sectionKey:`general`,label:`Pipeline`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:jf(`deals`)}),deal_stage:ul({path:`config.filters.deal_stage`,groupPath:`config.general`,sectionKey:`general`,label:`Deal stage`,required:!1,info:`Stages of the selected pipeline (stage ids are numeric outside the default pipeline).`,enabledIf:g(`hubspot`),optionsDef:If}),status:ll({required:!1,path:`config.filters.status`,groupPath:`config.general`,sectionKey:`general`,label:`Deal status`,description:`Filters on HubSpot's computed hs_is_closed / hs_is_closed_won — portal-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),owner:ul({path:`config.filters.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Pf}),created_within:ll({required:!1,path:`config.filters.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created`,description:`Relative window, resolved at every run — schedule-friendly. Exact date ranges go in the property filters (createdate gte/lte).`,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:ll({required:!1,path:`config.filters.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``)}),limit:N({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[nN.name]:A({fieldName:nN.name}),[rN.name]:A({fieldName:rN.name}),[iN.name]:A({fieldName:iN.name}),[aN.name]:A({fieldName:aN.name})}))})}),sN={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},cN=`deals-hubspot-v1`,lN=class extends Z{billing={billableOperation:cN,cost:sN};searchId=tN;schema=oN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[nN.name]:this.catalogOutput(nN),[rN.name]:this.catalogOutput(rN),[iN.name]:this.catalogOutput(iN),[aN.name]:this.catalogOutput(aN)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Lf(e,{objectTypes:[[`deals`,`0-3`]],includePipelinesFor:[`deals`]})}},uN=oN,dN={searchId:tN,billableOperation:cN,baseSearch:Q(tN),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot deals`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List deals from your HubSpot portal: identity columns (id, name, amount) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.FIELDS,U.NEW],keywords:[`crm`,`opportunity`,`pipeline`,`list`,`records`,`import`],docPath:$(tN),guide:`Call get_provider_context first — it includes this portal's pipelines with per-pipeline stage ids and labels (stage ids are numeric outside the default pipeline; never assume 'closedwon' exists). Prefer the status filter (computed hs_is_closed/hs_is_closed_won) over stage names for open/won/lost. Standard fields become typed columns; pipeline, stage and close date ride flat in the deal JSON, picked custom properties nest under custom_properties — expand it or chain json:extract downstream. Total results cap at 10,000 per query.`,cost:sN,provider:`hubspot`,defaultPayload:{search_id:tN,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:{conditions:null,pipeline:``,deal_stage:``,status:`any`,owner:``,created_within:``,modified_within:``},limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},deal_name:{enabled:!0,alias:``},deal_amount:{enabled:!0,alias:``},hubspot_deal_match:{enabled:!0,alias:``}}}}},fN=`companies:profiles:amplemarket@1`,pN=h(`company_name`),mN=h(`company_website_url`),hN=h(`company_description`),gN=h(`company_profile_url`),_N=h(`amplemarket_company_match`),vN=r.object({search_id:r.literal(fN),connector:Za.nullable().optional(),config:r.object({limit:N({label:`Limit`,description:`Max number of search results`,path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`}),page_number:N({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:P(r.object({[pN.name]:A({fieldName:pN.name}),[mN.name]:A({fieldName:mN.name}),[hN.name]:A({fieldName:hN.name}),[gN.name]:A({fieldName:gN.name}),[_N.name]:A({fieldName:_N.name})})),filters:r.object({hq_locations:M({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),company_names:k({sectionKey:`config.filters`,path:`config.filters.company_names`,label:`Company names`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),company_website_urls:k({sectionKey:`config.filters`,path:`config.filters.company_website_urls`,label:`Company domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),company_profile_urls:k({sectionKey:`config.filters`,path:`config.filters.company_profile_urls`,label:`Company LinkedIn URLs`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),company_types:j({sectionKey:`config.filters`,path:`config.filters.company_types`,disableSearch:!1,label:`Company Type`,description:``,groupPath:`config.filters.categories`,options:p(`amplemarket.company_types`),required:!1}).default([]),investors:dl({sectionKey:`config.filters`,path:`config.filters.investors`,label:`Investor names`,optionsDef:m(`company.crunchbase_investors.crustdata`),description:`A list of company investor names`,placeholder:V(`investor`),groupPath:`config.filters.investors`,disableSearch:!1,required:!1}).default([]),company_industries:tl({sectionKey:`config.filters`,path:`config.filters.company_industries`,optionsDef:ze(`amplemarket.industries`),disableSearch:!1,label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),customer_types:j({sectionKey:`config.filters`,path:`config.filters.customer_types`,options:[{value:`b2b`,label:`B2B`},{value:`b2c`,label:`B2C`}],required:!1,disableSearch:!0,label:`Customer Types`,description:``,groupPath:`config.filters.industry`}).default([]),keywords:k({sectionKey:`config.filters`,path:`config.filters.keywords`,label:`Keywords`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),revenue_groups:j({path:`config.filters.revenue_groups`,sectionKey:`config.filters`,label:`Revenue groups`,description:``,disableSearch:!0,options:p(`amplemarket.company_revenue`),required:!1,groupPath:`config.filters.financials`}).default([]),founded_year:el({path:`config.filters.founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.general`,min:0,max:2040,description:``}).default({min:null,max:null}),open_positions_titles:O({path:`config.filters.open_positions_titles`,sectionKey:`config.filters`,label:`Job openings for titles`,groupPath:`config.filters.job_openings`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),headcount:j({sectionKey:`config.filters`,path:`config.filters.company_sizes`,disableSearch:!1,options:p(`amplemarket.company_size`),label:`Headcount groups`,required:!1,description:``,groupPath:`config.filters.company_size`}).default([]),headcount_growth_last_6_months_in_percent:el({path:`config.filters.headcount_growth_last_6_months_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months (in %)`,groupPath:`config.filters.company_size`,description:``,max:1e4,min:0}).default({min:null,max:null})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),yN={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},bN=`companies-profiles-amplemarket-v1`,xN=class extends Z{billing={billableOperation:bN,cost:yN};searchId=fN;schema=vN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[pN.name]:this.catalogOutput(pN),[mN.name]:this.catalogOutput(mN),[hN.name]:this.catalogOutput(hN),[gN.name]:this.catalogOutput(gN),[_N.name]:this.catalogOutput(_N)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_company_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},SN=vN,CN={searchId:fN,billableOperation:bN,baseSearch:Q(`companies:profiles:amplemarket@1`),label:`Company search`,categories:[`deprecated`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`companies:profiles:amplemarket@2`},description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:$(fN),cost:yN,provider:`amplemarket`,defaultPayload:{search_id:fN,connector:null,config:{limit:100,page_number:1,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},amplemarket_company_match:{enabled:!0,alias:``}},filters:{company_industries:{include:[],exclude:[]},company_names:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_website_urls:{include:[],exclude:[]},customer_types:[],headcount_growth_last_6_months_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_positions_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}},wN=`companies:profiles:crustdata@1`,TN=h(`company_name`),EN=h(`company_website_url`),DN=h(`company_description`),ON=h(`company_profile_url`),kN=h(`crustdata_company_match`),AN=r.object({search_id:r.literal(wN),connector:Za.nullable().optional(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[TN.name]:A({fieldName:TN.name}),[EN.name]:A({fieldName:TN.name}),[DN.name]:A({fieldName:DN.name}),[ON.name]:A({fieldName:ON.name}),[kN.name]:A({fieldName:kN.name})})),filters:r.object({hq_locations:M({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),crunchbase_categories:M({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,placeholder:V(`crunchbase_category`),description:``,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default({include:[],exclude:[]}),crunchbase_investors:M({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default({include:[],exclude:[]}),tracxn_investors:M({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.tracxn_investors.crustdata`)}).default({include:[],exclude:[]}),company_types:tl({sectionKey:`config.filters`,path:`config.filters.company_types`,optionsDef:{type:`static`,options:p(`crustdata.company_types`)},label:`Company types`,placeholder:`Public, Private, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),linkedin_industries:M({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),markets:M({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),placeholder:`NYSE, TYO, ...`,label:`Markets`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),linkedin_categories:M({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`LinkedIn category`,placeholder:`Marketing, Branding, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),headcount:tl({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,placeholder:`1-10`,optionsDef:{type:`static`,options:p(`crustdata.company_size`)},groupPath:`config.filters.company_size`}).default({include:[],exclude:[]}),headcount_growth_last_6m_in_percent:j({path:`config.filters.headcount_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),placeholder:`0-10%`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:rl({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:tl({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,placeholder:`Series A`,disableSearch:!0,optionsDef:{type:`static`,options:p(`crustdata.funding_rounds`)},description:``,groupPath:`config.filters.financials`}).default({include:[],exclude:[]}),last_funding_amount:rl({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:j({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,placeholder:`1-500`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_last_6m_in_percent:j({path:`config.filters.follower_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,required:!1,disableSearch:!0,placeholder:`0-10%`,description:``,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:k({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,placeholder:V(`company_profile_keyword`),description:``,groupPath:`config.filters.keywords`}).default({include:[],exclude:[]}),competitor_websites:k({path:`config.filters.competitor_websites`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.competitors`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),jN={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},MN=`companies-profiles-crustdata-v1`,NN=class extends Z{billing={billableOperation:MN,cost:jN};searchId=wN;schema=AN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[TN.name]:this.catalogOutput(TN),[EN.name]:this.catalogOutput(EN),[DN.name]:this.catalogOutput(DN),[ON.name]:this.catalogOutput(ON),[kN.name]:this.catalogOutput(kN)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},PN=AN,FN={searchId:wN,billableOperation:MN,baseSearch:Q(`companies:profiles:crustdata@1`),label:`Company search`,categories:[`deprecated`],paginationType:`cursor`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`companies:profiles:crustdata@2`},description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:$(wN),cost:jN,provider:`crustdata`,defaultPayload:{search_id:wN,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:{include:[],exclude:[]},headcount_growth_last_6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:{include:[],exclude:[]},linkedin_industries:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},crunchbase_categories:{include:[],exclude:[]},markets:{include:[],exclude:[]},revenue_in_usd:{from:null,to:null},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},follower_growth_last_6m_in_percent:[],headcount:{include:[],exclude:[]},hq_locations:{include:[],exclude:[]},number_of_followers:[],profile_summary_keywords:{include:[],exclude:[]},competitor_websites:{include:[],exclude:[]}}}}},IN=`people:profiles:amplemarket@1`,LN=h(`name`),RN=h(`company_website_url`),zN=h(`profile_url`),BN=h(`job_title`),VN=h(`amplemarket_person_match`),HN=r.object({search_id:r.literal(IN),connector:Za.nullable().optional(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,label:`Limit`,sectionKey:`pagination`,description:`Max number of search results`}),page_number:N({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:P(r.object({[LN.name]:A({fieldName:LN.name}),[RN.name]:A({fieldName:RN.name}),[zN.name]:A({fieldName:zN.name}),[BN.name]:A({fieldName:BN.name}),[VN.name]:A({fieldName:VN.name})})),filters:r.object({person_names:O({label:`Full name`,path:`config.filters.person_names`,sectionKey:`config.filters`,groupPath:`config.filters.general`}),current_locations:M({path:`config.filters.current_locations`,sectionKey:`config.filters`,label:`Location`,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:O({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,placeholder:V(`title`),description:``,order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}),current_seniority_levels:j({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,placeholder:V(`seniority`),label:`Seniority`,required:!1,disableSearch:!1,options:p(`amplemarket.seniority_levels`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_departments:j({path:`config.filters.current_departments`,sectionKey:`config.filters`,label:`Department`,placeholder:V(`department`),disableSearch:!1,required:!1,options:p(`amplemarket.departments`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_job_functions:j({path:`config.filters.current_job_functions`,sectionKey:`config.filters`,label:`Job function`,placeholder:V(`job_function`),disableSearch:!1,required:!1,options:p(`amplemarket.job_functions`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_employer_locations:M({path:`config.filters.current_employer_locations`,sectionKey:`config.filters`,label:`Headquarters`,optionsDef:m(`locations`),groupPath:`config.filters.current_company`,placeholder:V(`location`)}).default({include:[],exclude:[]}),current_employer_names:k({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`company_name`),suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),current_employer_website_urls:k({path:`config.filters.current_employer_website_urls`,sectionKey:`config.filters`,label:`Company domain`,description:``,maxItems:200,placeholder:V(`company_domain`),groupPath:`config.filters.current_company`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),current_employer_linkedin_industries:j({path:`config.filters.current_employer_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,disableSearch:!1,groupPath:`config.filters.current_company`,description:``,placeholder:V(`industry`),required:!1,options:p(`linkedin.industries`)}).default([]),current_employer_estimated_revenue:j({path:`config.filters.current_employer_estimated_revenue`,sectionKey:`config.filters`,label:`Estimated revenue`,disableSearch:!1,required:!1,groupPath:`config.filters.current_company`,description:``,options:p(`amplemarket.company_revenue`)}).default([]),current_employer_founded_year:el({path:`config.filters.current_employer_founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.current_company`,min:0,max:2040,description:``}).default({min:null,max:null}),current_employer_investors:O({path:`config.filters.current_employer_investors`,sectionKey:`config.filters`,label:`Employer investors`,groupPath:`config.filters.current_company`,placeholder:V(`investor`),description:``}),current_employer_open_positions_titles:O({path:`config.filters.current_employer_open_positions_titles`,sectionKey:`config.filters`,label:`Open positions`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),school_names:M({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),UN={allowManagedConnection:!0,mode:`per_page`,credits:{default:3},info:`1 page = 100 records; 200 results = 2 pages`},WN=`people-profiles-amplemarket-v1`,GN=class extends Z{billing={billableOperation:WN,cost:UN};searchId=IN;schema=HN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[LN.name]:this.catalogOutput(LN),[RN.name]:this.catalogOutput(RN),[zN.name]:this.catalogOutput(zN),[BN.name]:this.catalogOutput(BN),[VN.name]:this.catalogOutput(VN)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_people_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},KN=HN,qN={searchId:IN,billableOperation:WN,baseSearch:Q(`people:profiles:amplemarket@1`),paginationType:`page_number`,label:`People search`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:amplemarket@2`},description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:$(IN),cost:UN,provider:`amplemarket`,defaultPayload:{search_id:IN,connector:null,config:{limit:50,page_number:1,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},amplemarket_person_match:{enabled:!0,alias:``}},filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_positions_titles:[],current_job_functions:[],current_locations:{include:[],exclude:[]},current_employer_linkedin_industries:[],current_employer_website_urls:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}},JN=`people:profiles:crustdata@1`,YN=h(`name`),XN=h(`company_website_url`),ZN=h(`profile_url`),QN=h(`job_title`),$N=h(`crustdata_person_match`),eP=r.object({search_id:r.literal(JN),connector:Za.nullable().optional(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[YN.name]:A({fieldName:YN.name}),[XN.name]:A({fieldName:XN.name}),[ZN.name]:A({fieldName:ZN.name}),[QN.name]:A({fieldName:QN.name}),[$N.name]:A({fieldName:$N.name})})),filters:r.object({locations:M({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:k({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employers:k({path:`config.filters.current_employers`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employers_website_urls:k({path:`config.filters.current_employers_website_urls`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),current_employers_linkedin_industries:M({path:`config.filters.current_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),years_at_current_company:j({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employers_website_urls:k({path:`config.filters.previous_employers_website_urls`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),previous_seniority_levels:tl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employers:k({path:`config.filters.previous_employers`,sectionKey:`config.filters`,label:`Previous employer`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_job_titles:k({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employers_linkedin_industries:M({path:`config.filters.previous_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Previous employer industries`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),profile_headline_keywords:k({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),profile_summary_keywords:k({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_languages:tl({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile language`,placeholder:V(`languages`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),languages:tl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),skills:M({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]}),years_of_experience:j({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:tl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),certifications:k({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``}).default({include:[],exclude:[]}),honors:k({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``}).default({include:[],exclude:[]}),recently_changed_jobs:ol({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:M({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),degree_names:M({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),school_names:M({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),current_school_names:M({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),extracurricular_activities:k({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,placeholder:V(`extracurricular`),groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),tP={allowManagedConnection:!0,mode:`per_page`,credits:{default:5},info:`1 page = 100 records; 200 results = 2 pages`},nP=`people-profiles-crustdata-v1`,rP=class extends Z{billing={billableOperation:nP,cost:tP};searchId=JN;schema=eP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[YN.name]:this.catalogOutput(YN),[XN.name]:this.catalogOutput(XN),[ZN.name]:this.catalogOutput(ZN),[QN.name]:this.catalogOutput(QN),[$N.name]:this.catalogOutput($N)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},iP=eP,aP={searchId:JN,billableOperation:nP,baseSearch:Q(`people:profiles:crustdata@1`),paginationType:`cursor`,label:`People search`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:crustdata@2`},description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:$(JN),cost:tP,provider:`crustdata`,defaultPayload:{search_id:JN,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:{include:[],exclude:[]},languages:{include:[],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},current_employers:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},years_at_current_company:[],certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employers_linkedin_industries:{include:[],exclude:[]},current_employers_website_urls:{include:[],exclude:[]},previous_employers_website_urls:{include:[],exclude:[]},current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},locations:{include:[],exclude:[]},profile_languages:{include:[],exclude:[]},recently_changed_jobs:null,extracurricular_activities:{include:[],exclude:[]},school_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},previous_employers:{include:[],exclude:[]},current_job_titles:{include:[],exclude:[]},skills:{include:[],exclude:[]},years_of_experience:[],previous_employers_linkedin_industries:{include:[],exclude:[]}}}}},oP=`owners:hubspot@1`,sP=h(`hubspot_owner_id`),cP=h(`email`),lP=h(`first_name`),uP=h(`last_name`),dP=h(`hubspot_owned_count`),fP=h(`hubspot_owner_match`),pP=r.object({search_id:r.literal(oP),connector:bc(),config:r.object({email:sl({path:`config.email`,groupPath:`config.general`,inputType:`text`,label:`Email`,sectionKey:`general`,info:`Only return the owner with this exact email.`}).nullable(),include_archived:al({path:`config.include_archived`,groupPath:`config.general`,sectionKey:`general`,label:`Include deactivated owners`,description:``,defaultValue:!1}),owned_object_type:ll({required:!1,path:`config.owned_object_type`,groupPath:`config.counts`,sectionKey:`general`,label:`Count owned`,description:"Which records to count per owner (via `hubspot_owner_id`).",options:[{label:`Companies`,value:`companies`},{label:`Contacts`,value:`contacts`},{label:`Deals`,value:`deals`}]}).default(`companies`),min_owned_count:N({path:`config.min_owned_count`,min:0,groupPath:`config.counts`,sectionKey:`general`,label:`Minimum owned`,description:`Only return owners owning MORE than this many records. Counting costs one search request per owner (~5/second).`}).nullable(),include_ownership_counts:al({path:`config.include_ownership_counts`,groupPath:`config.counts`,sectionKey:`general`,label:`Include ownership counts`,description:`Adds an owned-record count column (one search request per owner, ~5/second).`,defaultValue:!0}),limit:N({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Maximum number of owners returned.`}).default(500),output_fields:P(r.object({[sP.name]:A({fieldName:sP.name}),[cP.name]:A({fieldName:cP.name}),[lP.name]:A({fieldName:lP.name}),[uP.name]:A({fieldName:uP.name}),[dP.name]:A({fieldName:dP.name}),[fP.name]:A({fieldName:fP.name})}))})}),mP={allowManagedConnection:!1,mode:null,credits:null,info:`Listing your own HubSpot owners is free.`},hP=`owners-hubspot-v1`,gP=class extends Z{billing={billableOperation:hP,cost:mP};searchId=oP;schema=pP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[sP.name]:this.catalogOutput(sP),[cP.name]:this.catalogOutput(cP),[lP.name]:this.catalogOutput(lP),[uP.name]:this.catalogOutput(uP),[dP.name]:this.catalogOutput(dP),[fP.name]:this.catalogOutput(fP)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_owner_id`}]}}async getAgentContext(e){return Lf(e,{objectTypes:[]})}},_P=pP,vP={searchId:oP,billableOperation:hP,baseSearch:Q(oP),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot owners`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List the owners (users) of your HubSpot portal, optionally with how many companies, contacts, or deals each owns — e.g. all owners with more than 50 companies.`,tags:[U.FIELDS,U.NEW],keywords:[`crm`,`users`,`sales reps`,`assignment`,`rollup`,`count`],docPath:$(oP),guide:"HubSpot has no aggregation API — ownership counts are computed with one count-search per owner against the portal's shared 5 requests/second search budget (expect ~N/5 seconds for N owners). Counts are accurate beyond the 10,000-result search cap. The owner id column matches `hubspot_owner_id` values on records.",cost:mP,provider:`hubspot`,defaultPayload:{search_id:oP,connector:{strategy:`first`,connections:[]},config:{email:``,include_archived:!1,owned_object_type:`companies`,min_owned_count:null,include_ownership_counts:!0,limit:500,output_fields:{hubspot_owner_id:{enabled:!0,alias:``},email:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},hubspot_owned_count:{enabled:!0,alias:``},hubspot_owner_match:{enabled:!0,alias:``}}}}},yP=()=>Qc({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom fields`,placeholder:`Lead_Score__c`,info:"Field API names added to the record JSON under `custom_properties` — custom fields included; dotted parent paths like `Account.Industry` work (standard-set names are already top-level)."}),bP=e=>Zc({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Field filters`,fieldNamePlaceholder:e,info:`Rows filter on any Salesforce field by API name — custom fields and dotted parent paths included. Picklist values are the org's API values (case-sensitive); date values accept ISO dates or SOQL literals like LAST_N_DAYS:30.`}),xP=e=>ul({path:`config.list_view`,groupPath:`config.general`,sectionKey:`general`,label:`List view`,required:!1,info:`Run one of the org's own list views instead of filters — the view's conditions (including 'My …' scoping) apply server-side. Cannot be combined with filters or shortcuts.`,enabledIf:g(`salesforce`),optionsDef:nw(e)}),SP=()=>ul({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`salesforce`),optionsDef:$C}),CP=[{label:`Any time`,value:``},{label:`Today`,value:`24h`},{label:`Last 2 days`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}],wP=()=>ll({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:CP}).default(``),TP=()=>ll({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:CP}).default(``),EP=()=>N({path:`config.limit`,min:1,max:500,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page.`}).default(100),DP=()=>sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),OP=e=>t=>{let n=t.value;if(!rw(n.list_view))return;let r=[];n.filters&&r.push(`filters`);for(let t of e){let e=n[t];if(!(e==null||e===``||e===!1)){if(typeof e==`object`&&!Array.isArray(e)){let t=e;if((t.include?.length??0)===0&&(t.exclude?.length??0)===0&&t.min==null&&t.max==null)continue}r.push(t)}}r.length>0&&t.issues.push({code:`custom`,input:n.list_view,message:`A list view already carries its own conditions — clear ${r.join(`, `)} or clear the list view.`,path:[`list_view`]})},kP=`accounts:salesforce@1`,AP=h(`salesforce_record_id`),jP=h(`company_name`),MP=h(`company_domain`),NP=h(`salesforce_account_match`),PP=r.object({search_id:r.literal(kP),connector:bc(),config:r.object({custom_properties:yP(),filters:bP(`Industry`),list_view:xP(`Account`),domains:k({path:`config.domains`,groupPath:`config.general`,sectionKey:`general`,label:`Domains`,placeholder:`acme.com`,info:`Matches exact spellings of the Website URL (Salesforce has no domain field).`}),industry:ul({path:`config.industry`,groupPath:`config.general`,sectionKey:`general`,label:`Industry`,required:!1,info:`The org's actual Industry picklist values.`,enabledIf:g(`salesforce`),optionsDef:tw(`Account`,`Industry`)}),owner:SP(),created_within:wP(),modified_within:TP(),limit:EP(),cursor:DP(),output_fields:P(r.object({[AP.name]:A({fieldName:AP.name}),[jP.name]:A({fieldName:jP.name}),[MP.name]:A({fieldName:MP.name}),[NP.name]:A({fieldName:NP.name})}))}).check(e=>OP([`domains`,`industry`,`owner`,`created_within`,`modified_within`])(e))}),FP={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},IP=`accounts-salesforce-v1`,LP=class extends Z{billing={billableOperation:IP,cost:FP};searchId=kP;schema=PP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[AP.name]:this.catalogOutput(AP),[jP.name]:this.catalogOutput(jP),[MP.name]:this.catalogOutput(MP),[NP.name]:this.catalogOutput(NP)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return aw(e,{objects:[`Account`],includeListViewsFor:[`Account`]})}},RP=PP,zP={searchId:kP,billableOperation:IP,baseSearch:Q(kP),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce accounts`,categories:[`companies`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List accounts from your Salesforce org: identity columns (id, name, domain) plus a JSON record with the standard field set and any custom fields you pick. Filter with field conditions or run one of the org's own list views.`,tags:[U.WEBSITE,U.NEW],keywords:[`crm`,`sfdc`,`company`,`list`,`records`,`import`,`organization`],docPath:$(kP),guide:"Call get_provider_context first for the org's field API names and picklist values. The domain column is derived from the Website URL (Salesforce has no domain field) — accounts with exotic Website formats yield null. Person accounts (B2C orgs) appear as accounts here. `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:FP,provider:`salesforce`,defaultPayload:{search_id:kP,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,domains:{include:[],exclude:[]},industry:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},salesforce_account_match:{enabled:!0,alias:``}}}}},BP=`contacts:salesforce@1`,VP=h(`salesforce_record_id`),HP=h(`first_name`),UP=h(`last_name`),WP=h(`email`),GP=h(`salesforce_contact_match`),KP=r.object({search_id:r.literal(BP),connector:bc(),config:r.object({custom_properties:yP(),filters:bP(`Title`),list_view:xP(`Contact`),email_domains:k({path:`config.email_domains`,groupPath:`config.general`,sectionKey:`general`,label:`Email domains`,placeholder:`acme.com`,info:`Matches the email's domain part. Large orgs: domain matching is unindexed — combine with other filters when it times out.`}),has_email:al({path:`config.has_email`,groupPath:`config.general`,sectionKey:`general`,label:`Has email`,description:``,defaultValue:!1}),owner:SP(),created_within:wP(),modified_within:TP(),limit:EP(),cursor:DP(),output_fields:P(r.object({[VP.name]:A({fieldName:VP.name}),[HP.name]:A({fieldName:HP.name}),[UP.name]:A({fieldName:UP.name}),[WP.name]:A({fieldName:WP.name}),[GP.name]:A({fieldName:GP.name})}))}).check(e=>OP([`email_domains`,`has_email`,`owner`,`created_within`,`modified_within`])(e))}),qP={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},JP=`contacts-salesforce-v1`,YP=class extends Z{billing={billableOperation:JP,cost:qP};searchId=BP;schema=KP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[VP.name]:this.catalogOutput(VP),[HP.name]:this.catalogOutput(HP),[UP.name]:this.catalogOutput(UP),[WP.name]:this.catalogOutput(WP),[GP.name]:this.catalogOutput(GP)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return aw(e,{objects:[`Contact`],includeListViewsFor:[`Contact`]})}},XP=KP,ZP={searchId:BP,billableOperation:JP,baseSearch:Q(BP),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce contacts`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List contacts from your Salesforce org: identity columns (id, name, email) plus a JSON record with the standard field set and any custom fields you pick. Filter with field conditions or run one of the org's own list views.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`sfdc`,`lookup`,`list`,`records`,`import`,`person`],docPath:$(BP),guide:"Call get_provider_context first for the org's field API names and picklist values — use them verbatim (`__c` = custom). Standard fields become typed columns; picked custom fields nest under custom_properties in the contact JSON. Filters accept dotted parent paths (Account.Industry); date values accept SOQL literals like LAST_N_DAYS:30. `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id (creation order) — a cursor never expires. Rows the connected user cannot see are silently absent (sharing rules).",cost:qP,provider:`salesforce`,defaultPayload:{search_id:BP,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,email_domains:{include:[],exclude:[]},has_email:!1,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},salesforce_contact_match:{enabled:!0,alias:``}}}}},QP=`leads:salesforce@1`,$P=h(`salesforce_record_id`),eF=h(`first_name`),tF=h(`last_name`),nF=h(`email`),rF=h(`company_name`),iF=h(`salesforce_lead_match`),aF=r.object({search_id:r.literal(QP),connector:bc(),config:r.object({custom_properties:yP(),filters:bP(`LeadSource`),list_view:xP(`Lead`),lead_status:ul({path:`config.lead_status`,groupPath:`config.general`,sectionKey:`general`,label:`Lead status`,required:!1,info:`The org's actual status values — custom entries included.`,enabledIf:g(`salesforce`),optionsDef:ew}),include_converted:al({path:`config.include_converted`,groupPath:`config.general`,sectionKey:`general`,label:`Include converted leads`,description:`Converted leads are read-only history pointing at the contact they became — excluded by default.`,defaultValue:!1}),owner:SP(),created_within:wP(),modified_within:TP(),limit:EP(),cursor:DP(),output_fields:P(r.object({[$P.name]:A({fieldName:$P.name}),[eF.name]:A({fieldName:eF.name}),[tF.name]:A({fieldName:tF.name}),[nF.name]:A({fieldName:nF.name}),[rF.name]:A({fieldName:rF.name}),[iF.name]:A({fieldName:iF.name})}))}).check(e=>OP([`lead_status`,`owner`,`created_within`,`modified_within`])(e))}),oF={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},sF=`leads-salesforce-v1`,cF=class extends Z{billing={billableOperation:sF,cost:oF};searchId=QP;schema=aF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[$P.name]:this.catalogOutput($P),[eF.name]:this.catalogOutput(eF),[tF.name]:this.catalogOutput(tF),[nF.name]:this.catalogOutput(nF),[rF.name]:this.catalogOutput(rF),[iF.name]:this.catalogOutput(iF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return aw(e,{objects:[`Lead`],includeListViewsFor:[`Lead`]})}},lF=aF,uF={searchId:QP,billableOperation:sF,baseSearch:Q(QP),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce leads`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List leads from your Salesforce org: identity columns (id, name, email, company) plus a JSON record with the standard field set. Converted leads are excluded by default; filter with field conditions or run one of the org's own list views.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`sfdc`,`prospect`,`list`,`records`,`import`,`demand gen`],docPath:$(QP),guide:"Call get_provider_context first for the org's field API names and status values — use them verbatim. Leads are pre-qualification records: Company is plain text (no account link), and converted leads (IsConverted = true) are read-only history excluded by default — the JSON carries IsConverted/ConvertedContactId when you include them. Duplicate emails across leads are normal in demand-gen orgs. `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:oF,provider:`salesforce`,defaultPayload:{search_id:QP,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,lead_status:``,include_converted:!1,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},salesforce_lead_match:{enabled:!0,alias:``}}}}},dF=`opportunities:salesforce@1`,fF=h(`salesforce_record_id`),pF=h(`deal_name`),mF=h(`deal_amount`),hF=h(`salesforce_opportunity_match`),gF=r.object({search_id:r.literal(dF),connector:bc(),config:r.object({custom_properties:yP(),filters:bP(`StageName`),list_view:xP(`Opportunity`),status:ll({required:!1,path:`config.status`,groupPath:`config.general`,sectionKey:`general`,label:`Status`,description:`Filters on Salesforce's computed IsClosed / IsWon — org-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),stage:ul({path:`config.stage`,groupPath:`config.general`,sectionKey:`general`,label:`Stage`,required:!1,info:`The org's own OpportunityStage list.`,enabledIf:g(`salesforce`),optionsDef:QC}),amount:el({path:`config.amount`,groupPath:`config.general`,sectionKey:`general`,label:`Amount`,min:0,max:0xe8d4a51000,info:`In multi-currency orgs the bounds compare in the corporate currency.`}),owner:SP(),created_within:wP(),modified_within:TP(),limit:EP(),cursor:DP(),output_fields:P(r.object({[fF.name]:A({fieldName:fF.name}),[pF.name]:A({fieldName:pF.name}),[mF.name]:A({fieldName:mF.name}),[hF.name]:A({fieldName:hF.name})}))}).check(e=>OP([`stage`,`amount`,`owner`,`created_within`,`modified_within`])(e))}),_F={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},vF=`opportunities-salesforce-v1`,yF=class extends Z{billing={billableOperation:vF,cost:_F};searchId=dF;schema=gF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[fF.name]:this.catalogOutput(fF),[pF.name]:this.catalogOutput(pF),[mF.name]:this.catalogOutput(mF),[hF.name]:this.catalogOutput(hF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return aw(e,{objects:[`Opportunity`],includeStages:!0,includeListViewsFor:[`Opportunity`]})}},bF=gF,xF={searchId:dF,billableOperation:vF,baseSearch:Q(dF),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce opportunities`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List opportunities from your Salesforce org: identity columns (id, name, amount) plus a JSON record with the standard field set (including IsClosed/IsWon). Filter by status, stage, amount, or field conditions — or run one of the org's own list views.`,tags:[U.NEW],keywords:[`crm`,`sfdc`,`deal`,`pipeline`,`revenue`,`list`,`records`],docPath:$(dF),guide:"Filter open/won via `status` (computed IsClosed/IsWon — org-invariant); `stage` values are OpportunityStage ApiNames from get_provider_context — never assume a stage named 'Closed Won' exists. Close-date windows go through filter rows (CloseDate lte/gte with ISO dates or SOQL literals). In multi-currency orgs Amount bounds compare in the corporate currency. `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:_F,provider:`salesforce`,defaultPayload:{search_id:dF,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,status:`any`,stage:``,amount:{min:null,max:null},owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},deal_name:{enabled:!0,alias:``},deal_amount:{enabled:!0,alias:``},salesforce_opportunity_match:{enabled:!0,alias:``}}}}},SF=`query:salesforce@1`,CF=r.object({search_id:r.literal(SF),connector:bc(),config:r.object({soql:cl({path:`config.soql`,groupPath:`config.general`,sectionKey:`general`,label:`SOQL query`,description:`A single read-only SELECT statement (SOQL, not SQL). Pagination is wrapped automatically — add your own LIMIT/OFFSET only to cap results.`,rows:8,minLength:1,maxLength:2e4}),limit:N({path:`config.limit`,min:1,max:500,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:N({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index. Salesforce caps OFFSET at 2,000 rows — narrow with WHERE past that, or use the object searches (their cursors have no depth limit).`}).nullable().default(1)})}),wF={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},TF=`query-salesforce-v1`,EF=class extends Z{billing={billableOperation:TF,cost:wF};searchId=SF;schema=CF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return aw(e,{objects:[`Contact`,`Lead`,`Account`,`Opportunity`],includeStages:!0})}},DF=CF,OF={searchId:SF,billableOperation:TF,baseSearch:Q(SF),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Salesforce (SOQL)`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SOQL query against your Salesforce org — including native aggregates (GROUP BY / HAVING / COUNT), e.g. every owner with more than 10 accounts.`,guide:`SOQL SELECT only (no SOSL, no DML). Get object/field API names from get_provider_context and use them verbatim. Aggregates (GROUP BY/HAVING/COUNT) are supported but capped to ONE page — Salesforce can't paginate aggregate results. Use IsClosed = false for open opportunities (never assume stage names); date literals like LAST_N_DAYS:30 work; in multi-currency orgs prefix amount literals (Amount > USD5000). OFFSET is capped at 2,000 rows — past that, narrow with WHERE or use the object searches.`,tags:[U.FIELDS,U.NEW],keywords:[`soql`,`sql`,`crm`,`sfdc`,`aggregate`,`group by`,`report`],docPath:$(SF),cost:wF,provider:`salesforce`,defaultPayload:{search_id:SF,connector:{strategy:`first`,connections:[]},config:{soql:``,limit:100,page_number:1}}},kF=`users:salesforce@1`,AF=h(`salesforce_record_id`),jF=h(`first_name`),MF=h(`last_name`),NF=h(`email`),PF=h(`salesforce_owned_count`),FF=h(`salesforce_user_match`),IF=r.object({search_id:r.literal(kF),connector:bc(),config:r.object({owned_object:ll({required:!1,path:`config.owned_object`,groupPath:`config.counts`,sectionKey:`general`,label:`Count owned`,description:`Which records to count per user (via OwnerId).`,options:[{label:`Accounts`,value:`accounts`},{label:`Contacts`,value:`contacts`},{label:`Leads`,value:`leads`},{label:`Opportunities`,value:`opportunities`}]}).default(`accounts`),min_owned_count:N({path:`config.min_owned_count`,min:0,groupPath:`config.counts`,sectionKey:`general`,label:`Minimum owned`,description:`Only return users owning MORE than this many records. Counted in ONE aggregate query for all users.`}).nullable(),include_ownership_counts:al({path:`config.include_ownership_counts`,groupPath:`config.counts`,sectionKey:`general`,label:`Include ownership counts`,description:`Adds an owned-record count column (one aggregate query, all users at once).`,defaultValue:!0}),include_inactive:al({path:`config.include_inactive`,groupPath:`config.general`,sectionKey:`general`,label:`Include deactivated users`,description:``,defaultValue:!1}),custom_properties:yP(),limit:EP(),cursor:DP(),output_fields:P(r.object({[AF.name]:A({fieldName:AF.name}),[jF.name]:A({fieldName:jF.name}),[MF.name]:A({fieldName:MF.name}),[NF.name]:A({fieldName:NF.name}),[PF.name]:A({fieldName:PF.name}),[FF.name]:A({fieldName:FF.name})}))})}),LF={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},RF=`users-salesforce-v1`,zF=class extends Z{billing={billableOperation:RF,cost:LF};searchId=kF;schema=IF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[AF.name]:this.catalogOutput(AF),[jF.name]:this.catalogOutput(jF),[MF.name]:this.catalogOutput(MF),[NF.name]:this.catalogOutput(NF),[PF.name]:this.catalogOutput(PF),[FF.name]:this.catalogOutput(FF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return aw(e,{objects:[`User`],includeOwners:!0})}},BF=IF,VF={searchId:kF,billableOperation:RF,baseSearch:Q(kF),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce users`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List users (record owners) from your Salesforce org, with per-user owned-record counts computed in a single aggregate query — e.g. every rep owning more than 10 accounts.`,tags:[U.NEW],keywords:[`crm`,`sfdc`,`owner`,`rep`,`seller`,`team`,`ownership`],docPath:$(kF),guide:"Ownership counts come from ONE `GROUP BY OwnerId` aggregate — cheap even for many users. Caveat: aggregate results don't paginate, so orgs with more than 2,000 distinct owners of the counted object get a precise error — use query:salesforce@1 with your own GROUP BY/HAVING there. The user id chains as `salesforce_record_id` into owner filters on the object searches.",cost:LF,provider:`salesforce`,defaultPayload:{search_id:kF,connector:{strategy:`first`,connections:[]},config:{owned_object:`accounts`,min_owned_count:null,include_ownership_counts:!0,include_inactive:!1,custom_properties:[],limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},salesforce_owned_count:{enabled:!0,alias:``},salesforce_user_match:{enabled:!0,alias:``}}}}},HF=`people:entitysearch:parallel@1`,UF=h(`name`),WF=h(`job_title`),GF=h(`profile_url`),KF=h(`parallel_person_entity_match`),qF=r.object({search_id:r.literal(HF),connector:xc(),config:r.object({objective:cl({path:`config.objective`,sectionKey:`general`,groupPath:`config.general`,label:`Objective`,rows:4,minLength:10,placeholder:`Heads of Engineering at Series B fintech companies in the US`,description:`Plain-text natural-language description of the people to find.`}),limit:N({path:`config.limit`,min:5,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entities to return (5–1000).`}).default(100),output_fields:P(r.object({[UF.name]:A({fieldName:UF.name}),[WF.name]:A({fieldName:WF.name}),[GF.name]:A({fieldName:GF.name}),[KF.name]:A({fieldName:KF.name})}))})}),JF={match:`any`,fields:[{fieldName:`profile_url`}]},YF={allowManagedConnection:!0,mode:`per_page`,credits:{default:.5},info:`1 page = 100 results; billed per 100 results returned (e.g. 100 results = 1 page, 1,000 results = 10 pages). A search returns up to your selected limit in a single request.`},XF=`people-entitysearch-parallel-v1`,ZF=class extends Z{billing={billableOperation:XF,cost:YF};searchId=HF;schema=qF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[UF.name]:this.catalogOutput(UF),[WF.name]:this.catalogOutput(WF),[GF.name]:this.catalogOutput(GF),[KF.name]:this.catalogOutput(KF)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitOperation:`parallel_entity_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return JF}},QF=qF,$F={searchId:HF,billableOperation:XF,baseSearch:Q(HF),label:`People search (AI)`,categories:[`people`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Natural-language people search powered by Parallel Entity Search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`natural language`],docPath:$(HF),cost:YF,provider:`parallel`,defaultPayload:{search_id:HF,connector:null,config:{objective:``,limit:100,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},parallel_person_entity_match:{enabled:!1,alias:``}}}}},eI=`people:eventguests:luma@1`,tI=h(`name`),nI=h(`email`),rI=h(`luma_id`),iI=h(`registered_at`),aI=h(`luma_event_guest_match`),oI=[{label:`Sample Meetup — Berlin`,value:`evt-sandbox-1`},{label:`Sample Conference — SF`,value:`evt-sandbox-2`}],sI={requires:{connection:`luma`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return oI;if(!t)throw Error(`A Luma connection is required to list events.`);let r=await fetch(`https://public-api.luma.com/v1/calendar/list-events`,{headers:{accept:`application/json`,"x-luma-api-key":t}});if(!r.ok){let e=await r.text();throw Error(`Failed to list Luma events: ${e}`)}let i=((await r.json()).entries||[]).filter(e=>!!e?.id).map(e=>({label:e.name||e.id,value:e.id}));return e?i.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):i}},cI=r.object({search_id:r.literal(eI),connector:bc(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of guests per page`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[tI.name]:A({fieldName:tI.name}),[nI.name]:A({fieldName:nI.name}),[rI.name]:A({fieldName:rI.name}),[iI.name]:A({fieldName:iI.name}),[aI.name]:A({fieldName:aI.name})})),filters:r.object({event_id:ul({path:`config.filters.event_id`,sectionKey:`config.filters`,groupPath:`config.filters.event`,label:`Event`,required:!0,info:`Pick one of your Luma events; guests of this event are returned.`,enabledIf:g(`luma`),optionsDef:sI}),approval_status:ll({path:`config.filters.approval_status`,sectionKey:`config.filters`,groupPath:`config.filters.event`,label:`Approval status`,description:`Only return guests with this approval status.`,required:!1,options:[{value:`approved`,label:`Approved`},{value:`pending_approval`,label:`Pending approval`},{value:`declined`,label:`Declined`},{value:`waitlist`,label:`Waitlist`},{value:`invited`,label:`Invited`}]})})})}),lI={match:`any`,fields:[{fieldName:`luma_id`}]},uI={allowManagedConnection:!0,mode:`per_page`,credits:{default:1},info:`1 page = up to 100 guests.`},dI=`people-eventguests-luma-v1`,fI=class extends Z{billing={billableOperation:dI,cost:uI};searchId=eI;schema=cI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[tI.name]:this.catalogOutput(tI),[nI.name]:this.catalogOutput(nI),[rI.name]:this.catalogOutput(rI),[iI.name]:this.catalogOutput(iI),[aI.name]:this.catalogOutput(aI)}}getConnectionsRequirements(){return[{provider:`luma`,rateLimitOperation:`luma_get_guests`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return lI}},pI=cI,mI={searchId:eI,billableOperation:dI,baseSearch:Q(eI),paginationType:`cursor`,label:`List event guests`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Fetch all guests of a Luma event using your own Luma API key.`,tags:[U.PEOPLE_PROFILES,U.EVENTS,U.NEW],keywords:[`attendees`,`rsvp`,`meetup`,`conference`,`registrations`,`participants`],docPath:$(eI),cost:uI,provider:`luma`,defaultPayload:{search_id:eI,connector:{strategy:`first`,connections:[]},config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},luma_id:{enabled:!0,alias:``},registered_at:{enabled:!0,alias:``},luma_event_guest_match:{enabled:!0,alias:``}},filters:{event_id:``,approval_status:``}}}},hI=`people:profiles:amplemarket@2`,gI=h(`name`),_I=h(`company_domain`),vI=h(`profile_url`),yI=h(`job_title`),bI=h(`amplemarket_person_match`),xI=r.object({search_id:r.literal(hI),connector:xc(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,label:`Page size`,sectionKey:`pagination`,description:`Max number of search results per page`}).default(50),page_number:N({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:P(r.object({[gI.name]:A({fieldName:gI.name}),[_I.name]:A({fieldName:_I.name}),[vI.name]:A({fieldName:vI.name}),[yI.name]:A({fieldName:yI.name}),[bI.name]:A({fieldName:bI.name})})),filters:r.object({person_names:O({label:`Full name`,path:`config.filters.person_names`,sectionKey:`config.filters`,groupPath:`config.filters.general`}),current_locations:M({path:`config.filters.current_locations`,sectionKey:`config.filters`,label:`Location`,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:O({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,placeholder:V(`title`),description:``,order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}),current_seniority_levels:j({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,placeholder:V(`seniority`),label:`Seniority`,required:!1,disableSearch:!1,options:p(`amplemarket.seniority_levels`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_departments:j({path:`config.filters.current_departments`,sectionKey:`config.filters`,label:`Department`,placeholder:V(`department`),disableSearch:!1,required:!1,options:p(`amplemarket.departments`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_job_functions:j({path:`config.filters.current_job_functions`,sectionKey:`config.filters`,label:`Job function`,placeholder:V(`job_function`),disableSearch:!1,required:!1,options:p(`amplemarket.job_functions`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_employer_locations:M({path:`config.filters.current_employer_locations`,sectionKey:`config.filters`,label:`Headquarters`,optionsDef:m(`locations`),groupPath:`config.filters.current_company`,placeholder:V(`location`)}).default({include:[],exclude:[]}),current_employer_names:k({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`company_name`),suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),current_employer_domains:k({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,description:``,maxItems:200,placeholder:V(`company_domain`),groupPath:`config.filters.current_company`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_linkedin_industries:j({path:`config.filters.current_employer_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,disableSearch:!1,groupPath:`config.filters.current_company`,description:``,placeholder:V(`industry`),required:!1,options:p(`linkedin.industries`)}).default([]),current_employer_estimated_revenue:j({path:`config.filters.current_employer_estimated_revenue`,sectionKey:`config.filters`,label:`Estimated revenue`,disableSearch:!1,required:!1,groupPath:`config.filters.current_company`,description:``,options:p(`amplemarket.company_revenue`)}).default([]),current_employer_founded_year:el({path:`config.filters.current_employer_founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.current_company`,min:0,max:2040,description:``}).default({min:null,max:null}),current_employer_investors:O({path:`config.filters.current_employer_investors`,sectionKey:`config.filters`,label:`Employer investors`,groupPath:`config.filters.current_company`,placeholder:V(`investor`),description:``}),current_employer_open_position_titles:O({path:`config.filters.current_employer_open_position_titles`,sectionKey:`config.filters`,label:`Open positions`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),school_names:M({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),SI={match:`any`,fields:[{fieldName:`profile_url`}]},CI={allowManagedConnection:!0,mode:`per_page`,credits:{default:3},info:`1 page = 100 records; 200 results = 2 pages`},wI=`people-profiles-amplemarket-v2`,TI=class extends Z{billing={billableOperation:wI,cost:CI};searchId=hI;schema=xI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[gI.name]:this.catalogOutput(gI),[_I.name]:this.catalogOutput(_I),[vI.name]:this.catalogOutput(vI),[yI.name]:this.catalogOutput(yI),[bI.name]:this.catalogOutput(bI)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_people_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return SI}},EI=xI,DI={searchId:hI,billableOperation:wI,baseSearch:Q(`people:profiles:amplemarket@2`),paginationType:`page_number`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`filters`],docPath:$(hI),cost:CI,provider:`amplemarket`,defaultPayload:{search_id:hI,connector:null,config:{limit:50,page_number:1,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},amplemarket_person_match:{enabled:!0,alias:``}},filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}},OI=`people:profiles:crustdata@2`,kI=h(`name`),AI=h(`company_domain`),jI=h(`profile_url`),MI=h(`job_title`),NI=h(`crustdata_person_match`),PI=r.object({search_id:r.literal(OI),connector:xc(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[kI.name]:A({fieldName:kI.name}),[AI.name]:A({fieldName:AI.name}),[jI.name]:A({fieldName:jI.name}),[MI.name]:A({fieldName:MI.name}),[NI.name]:A({fieldName:NI.name})})),filters:r.object({locations:M({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:k({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employer_names:k({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employer_domains:k({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_industries:M({path:`config.filters.current_employer_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),years_at_current_company:j({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employer_domains:k({path:`config.filters.previous_employer_domains`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),previous_seniority_levels:tl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employer_names:k({path:`config.filters.previous_employer_names`,sectionKey:`config.filters`,label:`Previous employer`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_job_titles:k({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employer_industries:M({path:`config.filters.previous_employer_industries`,sectionKey:`config.filters`,label:`Previous employer industries`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),profile_headline_keywords:k({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),profile_summary_keywords:k({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_languages:tl({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile language`,placeholder:V(`languages`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),languages:tl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),skills:M({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]}),years_of_experience:j({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:tl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),certifications:k({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``}).default({include:[],exclude:[]}),honors:k({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``}).default({include:[],exclude:[]}),recently_changed_jobs:ol({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:M({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),degree_names:M({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),school_names:M({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),current_school_names:M({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),extracurricular_activities:k({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,placeholder:V(`extracurricular`),groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)}).default({include:[],exclude:[]}),post_processing_exclude_company_profile_urls:O({path:`config.filters.post_processing_exclude_company_profile_urls`,sectionKey:`config.filters`,groupPath:`config.filters.post_processing`,label:`Exclude company profiles`,maxItems:5e3,placeholder:`https://linkedin.com/company/...`,description:`Company LinkedIn URLs (https://www.linkedin.com/company/{slug}) removed from the search results`}).default([]),post_processing_exclude_company_names:O({path:`config.filters.post_processing_exclude_company_names`,sectionKey:`config.filters`,groupPath:`config.filters.post_processing`,label:`Exclude company names`,maxItems:5e3,placeholder:V(`company_name`),description:`Company names removed from the search results`}).default([])}).check(e=>{let{post_processing_exclude_company_profile_urls:t,post_processing_exclude_company_names:n,...r}=e.value;nM(r)&&e.issues.push({code:`custom`,message:`You must set at least one meaningful filter.`,input:e.value})})})}),FI={match:`any`,fields:[{fieldName:`profile_url`}]},II={allowManagedConnection:!0,mode:`per_page`,credits:{default:5},info:`1 page = 100 records; 200 results = 2 pages`},LI=`people-profiles-crustdata-v2`,RI=class extends Z{billing={billableOperation:LI,cost:II};searchId=OI;schema=PI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[kI.name]:this.catalogOutput(kI),[AI.name]:this.catalogOutput(AI),[jI.name]:this.catalogOutput(jI),[MI.name]:this.catalogOutput(MI),[NI.name]:this.catalogOutput(NI)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return FI}},zI=PI,BI={searchId:OI,billableOperation:LI,baseSearch:Q(`people:profiles:crustdata@2`),paginationType:`cursor`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`linkedin`],docPath:$(OI),cost:II,provider:`crustdata`,defaultPayload:{search_id:OI,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:{include:[],exclude:[]},languages:{include:[],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},current_employer_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},years_at_current_company:[],certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employer_industries:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},locations:{include:[],exclude:[]},profile_languages:{include:[],exclude:[]},recently_changed_jobs:null,extracurricular_activities:{include:[],exclude:[]},school_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},current_job_titles:{include:[],exclude:[]},skills:{include:[],exclude:[]},years_of_experience:[],previous_employer_industries:{include:[],exclude:[]},post_processing_exclude_company_profile_urls:[],post_processing_exclude_company_names:[]}}}},VI=`people:profiles:crustdata@3`,HI=h(`name`),UI=h(`profile_url`),WI=h(`person_profile_match`),GI=r.object({search_id:r.literal(VI),connector:xc(),config:r.object({limit:N({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:P(r.object({[HI.name]:A({fieldName:HI.name}),[UI.name]:A({fieldName:UI.name}),[WI.name]:A({fieldName:WI.name})})),filters:r.object({recently_changed_jobs:ol({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),certifications:k({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``,suggestionsDef:m(`person.certifications.crustdata`)}).default({include:[],exclude:[]}),honors:k({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``,suggestionsDef:m(`person.honors.crustdata`)}).default({include:[],exclude:[]}),current_employer_domains:k({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_headcount_brackets:j({path:`config.filters.current_employer_headcount_brackets`,sectionKey:`config.filters`,label:`Headcount`,description:``,placeholder:`1-10`,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.current_employer`}).default([]),current_employer_industries:M({path:`config.filters.current_employer_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),current_employer_names:k({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employment_job_functions:j({path:`config.filters.current_employment_job_functions`,sectionKey:`config.filters`,label:`Function`,groupPath:`config.filters.current_employer`,placeholder:V(`job_function`),description:``,disableSearch:!0,required:!1,options:p(`employment_function.crustdata`)}).default([]),current_employment_job_titles:k({path:`config.filters.current_employment_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employment_seniority_levels:j({path:`config.filters.current_employment_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),options:ze(`crustdata.person_seniority`).options,required:!1,description:``,groupPath:`config.filters.current_employer`}).default([]),current_employment_tenure_brackets:j({path:`config.filters.current_employment_tenure_brackets`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),current_school_names:M({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),degree_names:M({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),fields_of_study:M({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Field of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),school_names:M({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),previous_employer_domains:k({path:`config.filters.previous_employer_domains`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),previous_employer_headcount_brackets:j({path:`config.filters.previous_employer_headcount_brackets`,sectionKey:`config.filters`,label:`Previous employer headcount`,description:``,placeholder:`1-10`,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.experience`}).default([]),previous_employer_industries:M({path:`config.filters.previous_employer_industries`,sectionKey:`config.filters`,label:`Previous employer industry`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),previous_employer_names:k({path:`config.filters.previous_employer_names`,sectionKey:`config.filters`,label:`Previous employer name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_employment_job_functions:j({path:`config.filters.previous_employment_job_functions`,sectionKey:`config.filters`,label:`Previous function`,groupPath:`config.filters.experience`,placeholder:V(`job_function`),description:``,disableSearch:!0,required:!1,options:p(`employment_function.crustdata`)}).default([]),previous_employment_job_titles:k({path:`config.filters.previous_employment_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employment_seniority_levels:j({path:`config.filters.previous_employment_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,options:ze(`crustdata.person_seniority`).options,required:!1,description:``,groupPath:`config.filters.experience`}).default([]),previous_employment_tenure_brackets:j({path:`config.filters.previous_employment_tenure_brackets`,sectionKey:`config.filters`,label:`Years at previous company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),total_years_of_experience_brackets:j({path:`config.filters.total_years_of_experience_brackets`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),languages:tl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),locations:M({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),about_section_keywords:k({path:`config.filters.about_section_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_headline_keywords:k({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),skills:M({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]})}).check(e=>{nM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),KI={match:`any`,fields:[{fieldName:`profile_url`}]},qI={allowManagedConnection:!0,mode:`per_result`,credits:{default:.15,level1:{credits:.07,weight:10}},info:`1 page = 100 records; 200 results = 2 pages`},JI=`people-profiles-crustdata-v3`,YI=class extends Z{billing={billableOperation:JI,cost:qI};searchId=VI;schema=GI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[HI.name]:this.catalogOutput(HI),[UI.name]:this.catalogOutput(UI),[WI.name]:this.catalogOutput(WI)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return KI}},XI=GI,ZI={searchId:VI,billableOperation:JI,baseSearch:Q(`people:profiles:crustdata@2`),paginationType:`cursor`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`linkedin`],docPath:$(VI),cost:qI,provider:`crustdata`,defaultPayload:{search_id:VI,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},person_profile_match:{enabled:!0,alias:``}},filters:{recently_changed_jobs:null,certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},current_employer_headcount_brackets:[],current_employer_industries:{include:[],exclude:[]},current_employer_names:{include:[],exclude:[]},current_employment_job_functions:[],current_employment_job_titles:{include:[],exclude:[]},current_employment_seniority_levels:[],current_employment_tenure_brackets:[],current_school_names:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},school_names:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},previous_employer_headcount_brackets:[],previous_employer_industries:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},previous_employment_job_functions:[],previous_employment_job_titles:{include:[],exclude:[]},previous_employment_seniority_levels:[],previous_employment_tenure_brackets:[],total_years_of_experience_brackets:[],languages:{include:[],exclude:[]},locations:{include:[],exclude:[]},about_section_keywords:{include:[],exclude:[]},profile_headline_keywords:{include:[],exclude:[]},skills:{include:[],exclude:[]}}}}},QI=`posts:content:crustdata@1`,$I=h(`post_match`),eL=h(`post_text`),tL=h(`post_id`),nL=r.object({search_id:r.literal(QI),connector:xc(),config:r.object({limit:N({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),output_fields:P(r.object({[tL.name]:A({fieldName:tL.name}),[$I.name]:A({fieldName:$I.name}),[eL.name]:A({fieldName:eL.name})})),filters:r.object({keywords:O({path:`config.filters.keywords`,sectionKey:`config.filters`,label:`Search keywords`,groupPath:`config.filters.general`,maxItems:6,placeholder:V(`profile_keywords`),description:``}).default([]),keyword_operator:ll({path:`config.filters.keyword_operator`,sectionKey:`config.filters`,label:`Keyword operator`,groupPath:`config.filters.general`,options:[{value:`OR`,label:`Any keyword (OR)`},{value:`AND`,label:`All keywords (AND)`}],required:!0,defaultValue:`OR`,description:`Post must match any or all keywords.`}).default(`OR`),date_posted:ll({path:`config.filters.date_posted`,sectionKey:`config.filters`,label:`Date posted`,groupPath:`config.filters.general`,options:ze(`crustdata.post_date_posted`).options,placeholder:`Past 24h, past week, ...`,required:!1,defaultValue:``,description:`Only return posts published within this recency window.`}).default(``),content_types:j({path:`config.filters.content_types`,sectionKey:`config.filters`,label:`Content type`,groupPath:`config.filters.general`,options:p(`crustdata.post_content_type`),disableSearch:!0,required:!1,placeholder:`Photos, jobs, ...`,description:``}).default([]),author_industries:dl({path:`config.filters.author_industries`,sectionKey:`config.filters`,label:`Author industry`,groupPath:`config.filters.author`,optionsDef:m(`linkedin_industries.crustdata`),disableSearch:!1,required:!1,maxItems:100,placeholder:V(`industry`),description:`Only return posts whose author works in one of these industries.`}).default([]),author_company_profile_url:O({path:`config.filters.author_company_profile_url`,sectionKey:`config.filters`,label:`Author company profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts whose author currently works at these companies (by LinkedIn profile URL).`}).default([]),author_title:O({path:`config.filters.author_title`,sectionKey:`config.filters`,label:`Author title`,groupPath:`config.filters.author`,maxItems:50,suggestionsDef:m(`titles`),placeholder:V(`title`),description:`Only return posts whose author holds one of these titles.`}).default([]),author_profile_url:O({path:`config.filters.author_profile_url`,sectionKey:`config.filters`,label:`Author profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/in/..., ...`,description:`Only return posts authored by these people (by LinkedIn profile URL).`}).default([]),authoring_company_profile_url:O({path:`config.filters.authoring_company_profile_url`,sectionKey:`config.filters`,label:`Authoring company profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts authored by these companies (by LinkedIn profile URL).`}).default([]),companies_mentioned_in_post:O({path:`config.filters.companies_mentioned_in_post`,sectionKey:`config.filters`,label:`Companies mentioned in post`,groupPath:`config.filters.mentions`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts that mention these companies (by LinkedIn profile URL).`}).default([]),people_mentioned_in_post:O({path:`config.filters.people_mentioned_in_post`,sectionKey:`config.filters`,label:`People mentioned in post`,groupPath:`config.filters.mentions`,maxItems:50,placeholder:`https://linkedin.com/in/..., ...`,description:`Only return posts that mention these people (by LinkedIn profile URL).`}).default([])}).check(e=>{let t=e.value,n=t.keywords.some(e=>e.trim()!==``),r=[t.author_industries,t.author_company_profile_url,t.author_title,t.author_profile_url,t.authoring_company_profile_url,t.companies_mentioned_in_post,t.people_mentioned_in_post].some(e=>e.length>0);!n&&!r&&e.issues.push({code:`custom`,message:`Provide a keyword or at least one filter.`,input:e.value,path:[`keywords`]});let i=t.author_industries.length>0||t.author_company_profile_url.length>0||t.author_title.length>0||t.author_profile_url.length>0;t.authoring_company_profile_url.length>0&&i&&e.issues.push({code:`custom`,message:`Authoring company profile URL can't be combined with author profile URL, company name, title, or industry filters.`,input:e.value,path:[`authoring_company_profile_url`]})})})}),rL={match:`any`,fields:[{fieldName:`post_id`}]},iL={allowManagedConnection:!0,mode:`per_result`,credits:{default:2}},aL=`posts-content-crustdata-v1`,oL=class extends Z{billing={billableOperation:aL,cost:iL};searchId=QI;schema=nL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[tL.name]:this.catalogOutput(tL),[$I.name]:this.catalogOutput($I),[eL.name]:this.catalogOutput(eL)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_social_post_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return rL}},sL=nL,cL={searchId:QI,billableOperation:aL,baseSearch:Q(QI),paginationType:`page_number`,label:`LinkedIn post search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Keyword-based LinkedIn post search.`,tags:[U.LINKEDIN],keywords:[`content`,`social`,`engagement`,`keyword`,`activity`],docPath:$(QI),cost:iL,provider:`crustdata`,defaultPayload:{search_id:QI,connector:null,config:{limit:100,output_fields:{post_id:{enabled:!0,alias:``},post_text:{enabled:!0,alias:``},post_match:{enabled:!0,alias:``}},filters:{keywords:[],keyword_operator:`OR`,date_posted:``,content_types:[],author_industries:[],author_company_profile_url:[],author_title:[],author_profile_url:[],authoring_company_profile_url:[],companies_mentioned_in_post:[],people_mentioned_in_post:[]}}}},lL=`sheet:rows@1`,uL=[{label:`Demo leads`,value:`demo-leads`},{label:`Demo companies`,value:`demo-companies`},{label:`Demo contacts`,value:`demo-contacts`}],dL={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?uL:t?(await t.sheets.list({query:e})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},fL=r.object({search_id:r.literal(lL),connector:bc(),config:r.object({sheet:ul({path:`config.sheet`,sectionKey:`general`,groupPath:`config.general`,label:`Sheet`,required:!0,info:`Pick one of your pipe0 sheets; its rows are returned.`,enabledIf:g(`pipe0`),optionsDef:dL}),limit:N({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),cursor:sl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),include_metadata:al({path:`config.include_metadata`,groupPath:`config.general`,sectionKey:`general`,label:`Include metadata`,description:`Widgets and prevenance tags.`,defaultValue:!1})})}),pL={allowManagedConnection:!0,mode:`per_search`,credits:{default:0},info:`Reading your own pipe0 sheet is free.`},mL=`sheet-items-v1-pipe0`,hL=class extends Z{billing={billableOperation:mL,cost:pL};searchId=lL;schema=fL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}},gL=fL,_L={searchId:lL,billableOperation:mL,baseSearch:Q(lL),outputFieldMode:`dynamic`,paginationType:`cursor`,label:`Read sheet rows`,categories:[`data`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`List rows from a pipe0 sheet.`,tags:[U.FIELDS,U.NEW],keywords:[`lookup`,`list`,`records`,`table`,`fetch`],docPath:$(lL),cost:pL,provider:`pipe0`,defaultPayload:{search_id:lL,connector:{strategy:`first`,connections:[]},config:{sheet:``,limit:100,cursor:``,include_metadata:!1}}},vL={"people:profiles:crustdata@1":rP,"people:profiles:crustdata@2":RI,"people:profiles:crustdata@3":YI,"companies:profiles:crustdata@1":NN,"companies:profiles:crustdata@2":EM,"people:profiles:amplemarket@1":GN,"people:profiles:amplemarket@2":TI,"companies:profiles:amplemarket@1":xN,"companies:profiles:amplemarket@2":pM,"companies:entitysearch:parallel@1":Hj,"people:entitysearch:parallel@1":ZF,"people:eventguests:luma@1":fI,"posts:content:crustdata@1":oL,"sheet:rows@1":hL,"bucket:entries@1":kj,"query:postgres@1":QM,"query:databricks@1":GM,"contacts:hubspot@1":RM,"companies:hubspot@1":$j,"deals:hubspot@1":lN,"owners:hubspot@1":gP,"contacts:salesforce@1":YP,"leads:salesforce@1":cF,"accounts:salesforce@1":LP,"opportunities:salesforce@1":yF,"users:salesforce@1":zF,"query:salesforce@1":EF},yL={"people:profiles:crustdata@1":iP,"people:profiles:crustdata@2":zI,"people:profiles:crustdata@3":XI,"companies:profiles:crustdata@1":PN,"companies:profiles:crustdata@2":DM,"people:profiles:amplemarket@1":KN,"people:profiles:amplemarket@2":EI,"companies:profiles:amplemarket@1":SN,"companies:profiles:amplemarket@2":mM,"companies:entitysearch:parallel@1":Uj,"people:entitysearch:parallel@1":QF,"people:eventguests:luma@1":pI,"posts:content:crustdata@1":sL,"sheet:rows@1":gL,"bucket:entries@1":Aj,"query:postgres@1":$M,"query:databricks@1":KM,"contacts:hubspot@1":zM,"companies:hubspot@1":eM,"deals:hubspot@1":uN,"owners:hubspot@1":_P,"contacts:salesforce@1":XP,"leads:salesforce@1":lF,"accounts:salesforce@1":RP,"opportunities:salesforce@1":bF,"users:salesforce@1":BF,"query:salesforce@1":DF},bL={"people:profiles:crustdata@1":aP,"people:profiles:crustdata@2":BI,"people:profiles:crustdata@3":ZI,"companies:profiles:crustdata@1":FN,"companies:profiles:crustdata@2":OM,"people:profiles:amplemarket@1":qN,"people:profiles:amplemarket@2":DI,"companies:profiles:amplemarket@1":CN,"companies:profiles:amplemarket@2":hM,"companies:entitysearch:parallel@1":Wj,"people:entitysearch:parallel@1":$F,"people:eventguests:luma@1":mI,"posts:content:crustdata@1":cL,"sheet:rows@1":_L,"bucket:entries@1":jj,"query:postgres@1":eN,"query:databricks@1":qM,"contacts:hubspot@1":BM,"companies:hubspot@1":tM,"deals:hubspot@1":dN,"owners:hubspot@1":vP,"contacts:salesforce@1":ZP,"leads:salesforce@1":uF,"accounts:salesforce@1":zP,"opportunities:salesforce@1":xF,"users:salesforce@1":VF,"query:salesforce@1":OF};function xL(e){return vL[e]}const SL=t.discriminatedUnion(`search_id`,Object.values(yL).map(e=>e)).openapi(`SearchPayloadSchema`);function CL(e,t){return yt(t,bL[e].defaultPayload)}const wL=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`search_id`in e))return e;let t=CL(e.search_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},SL),TL=t.object({config:t.object({environment:t.enum([`production`,`sandbox`]).default(`production`),widgets:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1}),field_definitions:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1})}).default({environment:`production`,widgets:{enabled:!1},field_definitions:{enabled:!1}}),search:wL}).openapi(`SearchRequestSchema`),EL=Oa,DL=t.object({value:ma,status:pa,type:da.optional(),format:ja.nullable().optional(),resolved_by:La.nullable().optional(),widgets:Da.optional()}),OL=t.record(t.string(),DL.nullable());function kL(e){return yL[e]}const AL=t.enum([`cursor`,`page_number`]),jL=t.object({id:t.string(),status:t.enum([`completed`,`failed`,`pending`,`processing`]),search_id:Cj,errors:t.array(EL),results:t.array(OL),organization_id:t.string(),next_page:wL.nullable(),pagination_type:AL.nullable(),total_pages:t.int32().nullable(),field_definitions:Na.optional()}).openapi(`SearchResponseSchema`);function ML(e){let t=e.split(`@`)[1];if(!t)throw Error(`No search version found`);return Number(t)}function NL(){let e={};for(let t of Object.values(bL)){let{baseSearch:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=ML(e.searchId);return ML(t.searchId)-n})}),e}function PL(e){return bL[e]}const FL=NL();function IL(e){let t=[];for(let[n,r]of Object.entries(FL)){let i=r[0];if(!i)throw Error(`Found empty entry`);i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||i.categories.includes(e))&&t.push({...i,baseSearch:n,latestVersion:ML(i.searchId)})}return t}function LL(e){let t=bL[e].defaultPayload.config.output_fields;return t?Object.keys(t):[]}function RL(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={};for(let e of n){if(e.lifecycle&&e.lifecycle.deprecatedOn){i.Deprecated??=[],i.Deprecated.push(e.searchId);continue}a[e.provider]??=[],a[e.provider].push(e.searchId);for(let t of LL(e.searchId))r[t]??=[],r[t].push(e.searchId);for(let t of e.tags)i[t]??=[],i[t].push(e.searchId)}return{searchIdsByOutputField:r,searchIdsByTag:i,searchIdsByProvider:a,sortedTagEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),searchEntriesByBaseSearch:FL}}function zL(e){let t=PL(e);return{[t.provider]:t.cost.allowManagedConnection?t.cost.credits.default:0}}const BL={"prompt:run@1":ek,"agent:run@1":_u,"company:newssummary:website@1":Vh,"company:newssummary:domain@1":pp,"company:techstack:builtwith@1":kg,"company:techstack:builtwith@2":Bp,"company:websiteurl:email@1":Rg,"company:domain:workemail@1":sd,"company:funding:leadmagic@1":Pm,"company:funding:leadmagic@2":xd,"company:funding:waterfall@1":zd,"people:workemail:waterfall@1":qb,"person:workemail:waterfall@1":qO,"people:email:iswork@1":qg,"email:iswork@1":nx,"people:name:split@1":_v,"person:name:split@1":lD,"people:validate:email:zerobounce@1":bb,"people:email:validate:zerobounce@2":f_,"email:validate:zerobounce@1":Ex,"people:mobilenumber:workemail:waterfall@1":sv,"person:name:join@1":$E,"company:overview@1":ng,"company:overview@2":vg,"company:overview@3":kp,"json:extract:multi@1":OS,"company:lookalikes:companyenrich@1":dh,"company:lookalikes:companyenrich@2":gf,"company:match:logodev@1":Mh,"company:match:logodev@2":ip,"person:posts:content:crustdata@1":jD,"people:profile:workemail:crustdata@1":Qy,"person:profile:workemail:crustdata@1":QD,"people:identity:email:waterfall@1":O_,"person:identity:email:waterfall@1":tE,"person:identity:amplemarket@1":zT,"email:send:resend@1":gx,"contact:create:resend@1":Zp,"lead:enroll:lemlist@1":lC,"lead:enroll:amplemarket@1":VS,"email:send:gmail@1":lx,"email:write@1":Fx,"fields:merge@1":pS,"field:slugify@1":$x,"field:domainify@1":Wx,"http:request@1":SS,"template:fill@1":EA,"message:send:slack@1":_C,"message:write@1":TC,"people:personalemail:profile:waterfall@1":kv,"person:personalemail:profileurl:waterfall@1":xD,"website:scrape:firecrawl@1":uj,"website:scrapelist:firecrawl@1":yj,"website:extract:firecrawl@1":FA,"website:extract:parallel@1":WA,"website:maplinks:firecrawl@1":$A,"row:append:sheet@1":bk,"bucket:claim@1":Gu,"bucket:count@1":Qu,"bucket:check@1":Ru,"row:expandappend:sheet@1":Ak,"row:roundrobin:sheet@1":Lk,"rows:find:sheet@1":yA,"rows:find:postgres@1":uA,"rows:find:databricks@1":nA,"people:match:role:waterfall@1":z_,"person:match:role:waterfall@1":xE,"company:match:crustdata@1":bh,"company:match:crustdata@2":Tf,"contact:match:hubspot@1":cm,"company:match:hubspot@1":Kf,"deal:match:hubspot@1":bm,"object:update:hubspot@1":HC,"object:associations:hubspot@1":PC,"person:match:salesforce@1":Lw,"account:match:salesforce@1":mw,"opportunity:match:salesforce@1":Ew,"record:lookup:salesforce@1":eT,"record:update:salesforce@1":cT,"record:assert:salesforce@1":Kw,"person:match:amplemarket@1":uE,"company:identity@2":nh,"company:identity@3":Xd,"company:identity:crustdata@1":sf,"people:phone:profile:waterfall@1":Bv,"person:mobile:profileurl:waterfall@1":ME,"person:devprofileurl:profileurl:waterfall@1":bT,"people:phone:workemail:waterfall@1":Zv,"person:mobile:workemail:waterfall@1":UE,"people:profile:waterfall@1":Hy,"person:profile:waterfall@1":HD,"people:profileurl:email:waterfall@1":ub,"person:profileurl:email:waterfall@1":uO,"person:profileurl:name@1":xO,"people:email:validate:zerobounce@1":n_,"person:email:validate:millionverifier@1":AT,"people:workemail:profileurl:waterfall@1":Nb,"person:workemail:profileurl:waterfall@1":NO,"company:identity@1":Gm,"people:professionalprofile:waterfall@1":cy,"people:professionalprofileurl:name@1":jy,"people:professionalprofileurl:email:waterfall@1":by,"people:mobilenumber:professionalprofile:waterfall@1":X_},VL={"prompt:run@1":tk,"agent:run@1":vu,"company:newssummary:website@1":Hh,"company:newssummary:domain@1":mp,"company:techstack:builtwith@1":Ag,"company:techstack:builtwith@2":Vp,"company:websiteurl:email@1":zg,"company:domain:workemail@1":cd,"company:funding:leadmagic@1":Fm,"company:funding:leadmagic@2":Sd,"company:funding:waterfall@1":Bd,"people:workemail:waterfall@1":Jb,"person:workemail:waterfall@1":JO,"people:email:iswork@1":Jg,"email:iswork@1":rx,"people:name:split@1":vv,"person:name:split@1":uD,"people:validate:email:zerobounce@1":xb,"people:email:validate:zerobounce@2":p_,"email:validate:zerobounce@1":Dx,"people:mobilenumber:workemail:waterfall@1":cv,"person:name:join@1":eD,"company:overview@1":rg,"company:overview@2":yg,"company:overview@3":Ap,"json:extract:multi@1":kS,"email:write@1":Ix,"fields:merge@1":mS,"field:slugify@1":eS,"field:domainify@1":Gx,"http:request@1":CS,"email:send:resend@1":_x,"contact:create:resend@1":Qp,"lead:enroll:lemlist@1":uC,"lead:enroll:amplemarket@1":HS,"company:lookalikes:companyenrich@1":fh,"company:lookalikes:companyenrich@2":_f,"company:match:logodev@1":Nh,"company:match:logodev@2":ap,"person:posts:content:crustdata@1":MD,"people:profile:workemail:crustdata@1":$y,"person:profile:workemail:crustdata@1":$D,"people:identity:email:waterfall@1":k_,"person:identity:email:waterfall@1":nE,"company:match:crustdata@1":xh,"company:match:crustdata@2":Ef,"contact:match:hubspot@1":lm,"company:match:hubspot@1":qf,"deal:match:hubspot@1":xm,"object:update:hubspot@1":UC,"object:associations:hubspot@1":FC,"person:match:salesforce@1":Rw,"account:match:salesforce@1":hw,"opportunity:match:salesforce@1":Dw,"record:lookup:salesforce@1":tT,"record:update:salesforce@1":lT,"record:assert:salesforce@1":qw,"person:identity:amplemarket@1":BT,"message:send:slack@1":vC,"email:send:gmail@1":ux,"message:write@1":EC,"template:fill@1":DA,"website:scrape:firecrawl@1":dj,"website:scrapelist:firecrawl@1":bj,"website:extract:firecrawl@1":IA,"website:extract:parallel@1":GA,"website:maplinks:firecrawl@1":ej,"row:append:sheet@1":xk,"bucket:claim@1":Ku,"bucket:count@1":$u,"bucket:check@1":zu,"row:expandappend:sheet@1":jk,"row:roundrobin:sheet@1":Rk,"rows:find:sheet@1":bA,"rows:find:postgres@1":dA,"rows:find:databricks@1":rA,"people:match:role:waterfall@1":B_,"person:match:role:waterfall@1":SE,"company:identity@2":rh,"company:identity@3":Zd,"company:identity:crustdata@1":cf,"people:phone:profile:waterfall@1":Vv,"person:mobile:profileurl:waterfall@1":NE,"person:devprofileurl:profileurl:waterfall@1":xT,"people:personalemail:profile:waterfall@1":Av,"person:personalemail:profileurl:waterfall@1":SD,"people:profile:waterfall@1":Uy,"person:profile:waterfall@1":UD,"people:profileurl:email:waterfall@1":db,"person:profileurl:email:waterfall@1":dO,"person:profileurl:name@1":SO,"people:email:validate:zerobounce@1":r_,"person:email:validate:millionverifier@1":jT,"people:phone:workemail:waterfall@1":Qv,"person:mobile:workemail:waterfall@1":WE,"people:workemail:profileurl:waterfall@1":Pb,"person:workemail:profileurl:waterfall@1":PO,"person:match:amplemarket@1":dE,"company:identity@1":Km,"people:professionalprofile:waterfall@1":ly,"people:professionalprofileurl:name@1":My,"people:professionalprofileurl:email:waterfall@1":xy,"people:mobilenumber:professionalprofile:waterfall@1":Z_},HL={"prompt:run@1":nk,"agent:run@1":yu,"company:newssummary:website@1":Uh,"company:newssummary:domain@1":hp,"company:techstack:builtwith@1":jg,"company:techstack:builtwith@2":Hp,"company:websiteurl:email@1":Bg,"company:domain:workemail@1":ld,"company:funding:leadmagic@1":Im,"company:funding:leadmagic@2":Cd,"company:funding:waterfall@1":Vd,"people:workemail:waterfall@1":Yb,"person:workemail:waterfall@1":YO,"people:email:iswork@1":Yg,"email:iswork@1":ix,"people:name:split@1":yv,"person:name:split@1":dD,"people:validate:email:zerobounce@1":Sb,"people:mobilenumber:workemail:waterfall@1":lv,"person:name:join@1":tD,"company:overview@1":ig,"company:overview@2":bg,"company:overview@3":jp,"json:extract:multi@1":AS,"email:send:resend@1":vx,"contact:create:resend@1":$p,"lead:enroll:lemlist@1":dC,"lead:enroll:amplemarket@1":US,"email:send:gmail@1":dx,"message:send:slack@1":yC,"message:write@1":DC,"email:write@1":Lx,"template:fill@1":OA,"fields:merge@1":hS,"field:slugify@1":tS,"field:domainify@1":Kx,"http:request@1":wS,"row:append:sheet@1":Sk,"bucket:claim@1":qu,"bucket:count@1":ed,"bucket:check@1":Bu,"row:expandappend:sheet@1":Mk,"row:roundrobin:sheet@1":zk,"rows:find:sheet@1":xA,"rows:find:postgres@1":fA,"rows:find:databricks@1":iA,"company:lookalikes:companyenrich@1":ph,"company:lookalikes:companyenrich@2":vf,"people:match:role:waterfall@1":V_,"person:match:role:waterfall@1":CE,"company:match:logodev@1":Ph,"company:match:logodev@2":op,"person:posts:content:crustdata@1":ND,"people:profile:workemail:crustdata@1":eb,"person:profile:workemail:crustdata@1":eO,"people:workemail:profileurl:waterfall@1":Fb,"person:workemail:profileurl:waterfall@1":FO,"people:identity:email:waterfall@1":A_,"person:identity:email:waterfall@1":rE,"company:match:crustdata@1":Sh,"company:match:crustdata@2":Df,"contact:match:hubspot@1":um,"company:match:hubspot@1":Jf,"deal:match:hubspot@1":Sm,"object:update:hubspot@1":WC,"object:associations:hubspot@1":IC,"person:match:salesforce@1":zw,"account:match:salesforce@1":gw,"opportunity:match:salesforce@1":Ow,"record:lookup:salesforce@1":nT,"record:update:salesforce@1":uT,"record:assert:salesforce@1":Jw,"person:identity:amplemarket@1":VT,"email:validate:zerobounce@1":Ox,"person:email:validate:millionverifier@1":MT,"people:personalemail:profile:waterfall@1":jv,"person:personalemail:profileurl:waterfall@1":CD,"people:email:validate:zerobounce@1":i_,"people:email:validate:zerobounce@2":m_,"people:phone:workemail:waterfall@1":$v,"person:mobile:workemail:waterfall@1":GE,"website:scrape:firecrawl@1":fj,"website:scrapelist:firecrawl@1":xj,"website:extract:firecrawl@1":LA,"website:extract:parallel@1":KA,"website:maplinks:firecrawl@1":tj,"person:match:amplemarket@1":fE,"company:identity@2":ih,"company:identity@3":Qd,"company:identity:crustdata@1":lf,"people:phone:profile:waterfall@1":Hv,"person:mobile:profileurl:waterfall@1":PE,"person:devprofileurl:profileurl:waterfall@1":ST,"people:profile:waterfall@1":Wy,"person:profile:waterfall@1":WD,"people:profileurl:email:waterfall@1":fb,"person:profileurl:email:waterfall@1":fO,"person:profileurl:name@1":CO,"company:identity@1":qm,"people:professionalprofile:waterfall@1":uy,"people:professionalprofileurl:name@1":Ny,"people:professionalprofileurl:email:waterfall@1":Sy,"people:mobilenumber:professionalprofile:waterfall@1":Q_};function UL(e){return e.defaultPayload?.config?.output_fields?Object.keys(e.defaultPayload?.config?.output_fields||{}):[]}function WL(e){return BL[e]}function GL(e){return HL[e].defaultPayload}function KL(e){return VL[e]}const qL=r.discriminatedUnion(`pipe_id`,Object.values(VL)).openapi(`PipePayload`),JL=r.preprocess(e=>{if(!e||typeof e!=`object`||!(`pipe_id`in e))return e;try{let t=GL(la.parse(e.pipe_id));return t?{...e,config:yt(e?.config||{},t.config)}:e}catch{return e}},qL);function YL(e){return HL[e]}function XL(e,t){let n=YL(e);if(t in n.billableOperations)return n.billableOperations[t];throw Error(`Unable to find billable operation definition for pipeId '${e}' and operation '${t}'`)}function ZL(e){let t=e.split(`@`)[1];if(!t)throw Error(`No pipe version found`);return Number(t)}function QL(){let e={};for(let t of Object.values(HL)){let{basePipe:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=ZL(e.pipeId);return ZL(t.pipeId)-n})}),e}const $L=e=>{let t=YL(e),n=new Set(t.deprecatedProviders);return Array.from(new Set([...t.managedProviders,...t.allowedUserConnectionProviders])).filter(e=>!n.has(e))},eR=QL();function tR(e,t){let n=new Map;for(let[t,r]of Object.entries(e))for(let e of Object.keys(r.billableOperations)){let r=n.get(e)??[];r.push(`pipe ${t}`),n.set(e,r)}for(let[e,r]of Object.entries(t)){let t=r.billableOperation,i=n.get(t)??[];i.push(`search ${e}`),n.set(t,i)}let r=[...n.entries()].filter(([,e])=>e.length>1);if(r.length>0){let e=r.map(([e,t])=>` "${e}" used by ${t.join(`, `)}`).join(`
80
- `);throw Error(`Catalog has ${r.length} duplicate billable-operation key(s):\n${e}`)}}tR(HL,bL);function nR(e){let t=[];for(let[n,r]of Object.entries(eR)){let i=r[0];if(!i)throw Error(`Found empty entry`);let a=i.categories;i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||a.includes(e))&&t.push({...i,basePipe:n,latestVersion:ZL(i.pipeId)})}return t}function rR(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={},o={};for(let e of n){let t=$L(e.defaultPayload.pipe_id);for(let n of t)o[n]??=[],o[n].push(e.defaultPayload.pipe_id);for(let t of UL(e))i[t]??=[],i[t].push(e.defaultPayload.pipe_id);if(e.defaultInputRequirement)for(let{field:t}of Kl(e.defaultInputRequirement))r[t.name]??=[],r[t.name]?.push(e.defaultPayload.pipe_id);for(let t of e.tags)a[t]??=[],a[t].push(e.defaultPayload.pipe_id)}return{pipeIdsByInputField:r,pipeIdsByOutputField:i,pipeIdsByTag:a,pipeIdsByProvider:o,sortedTagEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),sortedInputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(o).sort((e,t)=>e[0].localeCompare(t[0])),pipeEntriesByBasePipe:eR}}const iR=r.object({id:r.string(),organization_id:r.string(),order:r.array(fa),field_definitions:Wa,errors:r.array(Oa),records:r.record(fa,Va),status:r.enum([`completed`,`failed`,`pending`,`processing`])}).openapi(`PipesResponseSchema`),aR=r.object({environment:sa.default(`production`),widgets:r.object({enabled:r.boolean().default(!1)}).default({enabled:!1}),field_definitions:r.object({enabled:r.boolean()}).default({enabled:!1}),transform:r.object({include_fields:r.enum([`input`,`annotated`])}).default({include_fields:`input`})}).default({environment:`production`,transform:{include_fields:`input`},widgets:{enabled:!1},field_definitions:{enabled:!1}}).openapi(`PipesRequestConfig`),oR=r.object({config:aR.openapi(`PipesRequestConfig`),field_annotations:Na.optional().openapi(`PipesFieldAnnotations`),pipes:r.array(qL),input:r.array(Ba.openapi(`PipesInputSchema`)),scopes:r.array(r.string()).optional()});function sR(e){let t=YL(e);return Object.values(t.billableOperations).reduce((e,t)=>{let n=t.allowManagedConnection?t.credits.default:0;return e[t.provider]??=n,e[t.provider]=Math.min(e[t.provider],n),e},{})}function cR(e){let t=[];for(let n of e){if(n instanceof B){t.push(n);continue}let e=JL.parse(n);if(!YL(n.pipe_id))throw Error(`Unknown pipe: ${n.pipe_id}`);let r=new(WL(n.pipe_id))(e);t.push(r)}return t}function lR(e,t){let n=cR(e),r=new Set;return n.forEach(e=>Object.entries(e.inputFields).forEach(([n,i])=>{i.resolvedName===t&&r.add(e.pipeId)})),Array.from(r)}function uR(e,t){let n=e.dependencyGraph,r=new Set;return n.forEach((e,n)=>e.forEach(e=>{e.index===t&&r.add(n)})),Array.from(r).map(t=>{let n=e.orderedPipeInstances[t];if(!n)throw Error(`Internal: Pipe with index ${t} not found.`);return n.pipeId})}function dR(e){return e===`localhost`?!0:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)&&e.includes(`.`)}function fR(e){return/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(e)?e.split(`.`).every(e=>{let t=parseInt(e,10);return t>=0&&t<=255}):/:/.test(e)}function pR(e){if(!e||typeof e!=`string`)return``;let t=e.trim();t.match(/^[a-zA-Z]+:\/\//)||(t=`https://${t}`);try{let e=new URL(t).hostname;if(fR(e))return`https://${e}`;if(!dR(e))throw Error(`Invalid domain`);return`https://${e}`}catch{let t=e.match(/([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}/i);return t?`https://${t[0]}`:``}}function mR(e){if(!e||typeof e!=`string`)return``;let t=e.trim();t.match(/^[a-zA-Z]+:\/\//)||(t=`https://${t}`);try{let e=new URL(t),n=e.hostname;if(fR(n))return`${e.protocol===`http:`?`http:`:`https:`}//${e.host}${e.pathname}${e.search}${e.hash}`;if(!dR(n))throw Error(`Invalid domain`);return`${e.protocol===`http:`?`http:`:`https:`}//${e.host}${e.pathname}${e.search}${e.hash}`}catch{let t=e.match(/^(https?:\/\/)?([^/\s]+)(\/.*)?$/i);if(t){let[,e,n,r=``]=t,i=n?.split(`:`)[0]||``;if(dR(i)||fR(i))return`${e?.toLowerCase()===`http://`?`http:`:`https:`}//${n}${r}`}return``}}function hR(e){try{return pR(e)}catch{console.warn(`Invalid URL: ${e}`);return}}function gR(e,t){if(t)switch(e){case`website_url`:return hR(t);default:return}}function _R(e){let t;if(vR(e))return _R(e.value);let n=typeof e;return t=n===`string`||n===`number`||n===`boolean`?n:e===null?`unknown`:`json`,t}function vR(e,t=0){if(typeof e==`object`&&e&&`value`in e&&`status`in e&&pa.safeParse(e.status).success){if(t>1||typeof e.value==`object`&&vR(e.value,t++))throw new cS([oS.RecursiveExpandedValue()]);return!0}return!1}function yR(e){let t=vR(e),n;return n=t?e.value:e,t?{isExpanded:!0,resolvedInputValue:n,expandedValue:e}:{isExpanded:!1,resolvedInputValue:n,expandedValue:null}}function bR(e){return vR(e)?bR(e.value):e}function xR(e,t,n){if([`processing`,`completed`].includes(n.status)===!1||t==null)return{};try{let r=ea(e,n.format)?.getStaticWidgets?.(t),i=gR(n.format,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}function SR(e,t,n){if(t==null)return{};try{let r=ea(e,n)?.getStaticWidgets?.(t),i=gR(n,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}function CR(e,t){for(let[n,r]of Object.entries(t)){let i=n;i===`type`&&e.type===`unknown`&&t.type!==`unknown`&&(e.type=t.type),i!==`type`&&i!==`json_metadata`&&(e[i]===void 0||e[i]===null||e[i]===``)&&t[i]&&(e[i]=r),i===`json_metadata`&&e.type===`json`&&!e.json_metadata&&t.json_metadata&&(e.json_metadata=t.json_metadata)}return e}var wR=class e{annotations;constructor(e){this.annotations=e||{}}getAnnotation(e){return this.annotations[e]}static fromInput(t,{probeCount:n=1e5,inferCatalogFields:i=!0,addIdColumn:a=!0}={probeCount:1e5,inferCatalogFields:!0,addIdColumn:!0}){let o={},s=0;for(let e of t){if(s++,s>n)break;for(let[t,n]of Object.entries(e)){if(t===``||t==null)continue;let{resolvedInputValue:e,expandedValue:a,isExpanded:s}=yR(n),c;c=s&&a.type?a.type:_R(e);let l;ta(t)&&(l=h(t));let u=l&&(l.type===c||c===`unknown`);(!o[t]||o[t].type===`unknown`&&c!==`unknown`)&&(o[t]={type:c===`unknown`&&u&&i&&l?.type?l.type:c,format:u&&i&&l?.format||null,label:l&&i?l.label:null,json_metadata:u&&i&&l?.jsonMeta?{schema:l.jsonMeta.zodSchema?r.toJSONSchema(l.jsonMeta.zodSchema):null,example_value:l.jsonMeta.exampleValue||null}:null})}}return a&&!o.id&&(o.id={format:null,type:`string`,json_metadata:null,label:null}),new e(o)}merge(t,n=!1){let r=structuredClone(this.annotations),i=t instanceof e?t.annotations:t;for(let[e,t]of Object.entries(i))if(r[e]===void 0||n)r[e]=t;else{let n=r[e];r[e]=CR(n,t)}return new e(r)}deleteKey(t){let n=structuredClone(this.annotations);return delete n[t],new e(n)}};function TR(e){let t={};for(let n=0;n<e.length;n++){let r=e[n];Object.values(r.getOutputFields()).forEach(e=>{if(t[e.resolvedName])throw new cS([oS.AmbiguousDependency({fieldName:e.resolvedName})]);t[e.resolvedName]=n})}return t}function ER(e){let t=TR(e),n=[];for(let[r,i]of e.entries()){let e=[];for(let{field:n,required:a}of Kl(i.getInputRequirement())){let o=t[n.resolvedName];if(r===o)throw new cS([{code:`SelfReference`,message:`Pipe '${i.pipeId} has an input requirement that points to a field that is produced by itself.'`}]);if(o==null)continue;let s=e.find(e=>e.index===o);s?(s.reason??=[],s.reason=Array.from(new Set([...s.reason,`input`])),s.required=a||s.required):e.push({index:o,required:a,reason:[`input`]})}if(i.payload.run_if){let n=i.payload.run_if.when.conditions.map(e=>e.field_name);for(let r of n){let n=t[r];if(n==null)continue;let i=e.find(e=>e.index===n);i?(i.reason??=[],i.reason=Array.from(new Set([...i.reason,`input`])),i.required=!0):e.push({index:n,required:!0,reason:[`input`]})}}n.push(e)}return n}function DR({config:e,pipes:t,input:n,field_annotations:r}){try{let i=jR({config:e,pipes:t,input:n,fieldAnnotations:r});return OR(i),i}catch(e){throw e instanceof cS?e:new cS([oS.ValidationFailed({error:e})])}}function OR(e){for(let t of e.orderedPipeInstances)for(let{field:n}of Kl(t.getInputRequirement()))Ql({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},n.type),$l({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},n.format)}function kR(e,t){if(!e&&!t)throw new cS([oS.MustDefineAnnotations()]);return new wR(t||{}).merge(wR.fromInput(e||[]))}function AR(e,t){let n={...t};return e.pipes.forEach((t,r)=>{for(let[i,a]of Object.entries(t.getOutputFields())){if(Bl(a.resolvedName))throw new cS([oS.ReservedOutputFieldName({pipeId:t.pipeId,outputField:a})]);let i=n[a.resolvedName];if(i&&i.added_by.ref!==`input`)throw new cS([oS.DuplicatePipeOutput({pipeId:t.pipeId,outputField:a})]);n[a.resolvedName]={type:Ql(e,a.type),added_by:{ref:t.pipeId,config_hash:t.getConfigHashKey(),pipe_index:r},label:i?.label||a.label,format:$l(e,a.format),is_primary_output:a.isPrimaryOutput,order:a.order??null}}}),n}function jR(e){let t=cR(e.pipes),n=kR(e.input,e.fieldAnnotations),r={},i=new Set;t.forEach((e,t)=>{Object.entries(e.getOutputFields()).forEach(([e,t])=>{r[t.resolvedName]=e,i.add(t.resolvedName)}),PR(e,t)});let a={},o={};for(let[e,t]of Object.entries(n.annotations))o[e]={type:t.type,added_by:{ref:`input`,config_hash:null,pipe_index:null},label:t.label||``,format:t.format?t.format:null,is_primary_output:!1,order:na(e)},!i.has(e)&&(a[e]={addedBy:`input`,required:!1,type:t.type,label:t.label||e});let[s,c,l]=MR(t,n),u=AR({pipes:c,derivedInputFields:a},o);for(let e in u){let t=u[e];r[e]&&(n=n.merge({[e]:{type:t.type,format:t.format,json_metadata:null,label:n.annotations[e]?.label?n.annotations[e]?.label:null}},!0))}return{environment:e.config.environment,dependencyGraph:l,derivedInputFields:a,fieldAnnotations:n,orderedPipePayloads:s,orderedPipeInstances:c,resolvedFieldNames:r,fieldDefinitions:u}}function MR(e,t){let n=ER(e),r=NR(n,e,t),i=[],a=[];return r.forEach(t=>{let n=e[t];if(!n)throw new cS([oS.FaultyEnrichmentOrder()]);i.push(n.payload),a.push(n)}),[i,a,n]}function NR(e,t,n){let r=t.length,i=[],a=new Set,o=new Set,s=[],c=e=>{let n=t[e];return n?Kl(n.getInputRequirement()).length>0:!1},l=(n,r=[])=>{if(o.has(n)){let e=n,i=r[r.length-1]||0,a={idx:i,pipe_id:t[i]?.pipeId},o={idx:e,pipeId:t[e]?.pipeId};throw new cS([oS.CircularDependency({currentPipe:a,circularPipe:o})])}if(a.has(n))return;o.add(n),r.push(n);let s=e[n]||[];for(let e of s)l(e.index,r);r.pop(),o.delete(n),a.add(n),i.push(n)};function u(t){if(a.has(t))return;o.add(t);let n=e[t]||[];for(let e of n){if(!a.has(e.index)&&e.required)throw new cS([oS.UnresolvableDependency({index:t,dependencyIndex:e.index})]);!o.has(e.index)&&!e.required&&u(e.index)}o.delete(t),a.add(t),i.push(t)}for(let e=0;e<r;e++)c(e)&&l(e);for(let e=0;e<r;e++)c(e)||l(e);for(let e=0;e<r;e++)u(e);let d=new Set(Object.keys(n.annotations));for(let e of i){let n=t[e];if(!n)throw Error(`Pipe not defined`);Object.values(n.getOutputFields()).forEach(e=>{d.add(e.resolvedName)})}for(let[n,r]of t.entries()){let a=r.getInputRequirement();Gl(a,d)||s.push(oS.RequirementUnmet({requirement:a,pipeId:r.pipeId,index:n}));let o=e[n]||[],c=i.indexOf(n);for(let e of o){let r=i.indexOf(e.index);e.required&&r>c&&s.push(e.reason.includes(`input`)?oS.HardInputDependencyViolation({dependencyIndex:e.index,dependencyIndexPipeId:t[e.index]?.pipeId,index:n,indexPipeId:t[n]?.pipeId}):oS.HardConditionDependencyViolation({dependencyIndex:e.index,dependencyIndexPipeId:t[e.index]?.pipeId,index:n,indexPipeId:t[n]?.pipeId}))}r.payload.run_if&&r.payload.run_if.when.conditions.map(e=>e.field_name).forEach(e=>{if(!d.has(e))throw new cS([oS.ConditionTargetFieldNotFound({fieldName:e,pipeId:r.pipeId,pipeIdx:n})])})}if(s.length>0)throw new cS(s);return i}function PR(e,t){let n=new Set(e.getConnectionsRequirements().filter(e=>e.allowManagedConnection===!1).map(e=>e.provider));if(n.size>0){let r=e.payload.connector;if(!r||(r.connections.map(e=>{if(e.type===`vault`)return qo(e.connection).provider;e.type}).forEach(e=>{e&&n.delete(e)}),n.size>0))throw new cS([oS.MissingCustomConnections({index:t,pipeId:e.pipeId,missingProviders:Array.from(n)})])}}const FR=`fields:deletesparse:input@1`,IR={},LR=r.object({effect_id:r.literal(FR),connector:C(),config:r.object({fields:kc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Candidate fields`,minItems:1,description:`Input fields to delete if they turn out sparsely populated.`}),probe_size:_l({path:`config.probe_size`,sectionKey:`general`,groupPath:`config.general`,label:`Probe size`,description:`How many rows to sample when measuring column density.`,min:100,max:1e4}).default(1e3),threshold_in_percent:_l({path:`config.threshold_in_percent`,sectionKey:`general`,groupPath:`config.general`,label:`Density threshold (%)`,description:`Candidates populated in strictly fewer than this percent of probed rows are deleted.`,min:1,max:100}).default(25)})}),RR=class extends L{effectId=FR;schema=LR;payload;billableOperations=IR;constructor(e){if(super(),this.payload=this.validatePayload(e),this.payload.config.fields.some(e=>e.field_name===`id`))throw Error(`Cannot list the id field as a deletion candidate.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}evolveSchema(e){let t=structuredClone(e.fieldAnnotations||{});for(let{field_name:e}of this.payload.config.fields)delete t[e];if(Object.keys(t).filter(e=>e!==`id`).length===0&&e.pipes.length===0)throw Error(`fields:deletesparse:input@1 lists every input column as a candidate — it refuses to empty the sheet. Keep at least one column off the candidate list, or use fields:remove@1 / sheet:reset@1 to clear the sheet explicitly.`);let n=DR({config:{environment:e.environment},pipes:e.pipes,field_annotations:t});return{next:{environment:e.environment,pipes:e.pipes,fieldAnnotations:t,validationContext:n}}}},zR=LR,BR={effectId:FR,baseEffect:I(FR),label:`Delete sparse input columns`,description:`Probe rows to measure how densely candidate input columns are populated and delete the ones below a density threshold.`,guide:`Conditional column cleanup: list every input column you'd consider dropping as config.fields (typically the sparse leftovers rows:copy_to_sheet@1 imports leave behind) — the density check keeps any candidate that turns out well-populated. Probes the first config.probe_size rows (default 1000) and deletes a candidate only when it is populated in strictly fewer than config.threshold_in_percent (default 25) of them. Only listed fields can be deleted; id and pipe-referenced fields cannot be listed (validation error). Static validation treats ALL candidates as removed (aggressive over-approximation), so do not reference a candidate in later steps of the same run — re-read get_sheet_schema afterwards to see which columns survived. Deletes columns, never rows. DESTRUCTIVE (approval-gated), reversible via timetravel. To delete named columns unconditionally use fields:remove@1 instead.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`empty`,`cleanup`,`prune`,`remove fields`,`unused`,`blank`],lifecycle:null,billableOperations:IR,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:FR,connector:null,config:{fields:[],probe_size:1e3,threshold_in_percent:25}}},VR=`fields:duplicate@1`,HR={},UR=r.object({effect_id:r.literal(VR),connector:C(),config:r.object({fields:kc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields to duplicate`,minItems:1,description:`Each selected field is copied to a new editable input column.`})})});function WR(e,t){let n=`${e}_copy`;if(!t.has(n))return{name:n,index:null};let r=2;for(;t.has(`${n}_${r}`);)r++;return{name:`${n}_${r}`,index:r}}function GR(e){if(e==null)return null;let{isExpanded:t,expandedValue:n,resolvedInputValue:r}=yR(e);return t&&n.status!==`completed`||r==null?null:typeof r==`object`?structuredClone(r):r}const KR=class extends L{effectId=VR;schema=UR;payload;billableOperations=HR;constructor(e){super(),this.payload=this.validatePayload(e);let t=this.payload.config.fields.map(e=>e.field_name);if(t.includes(`id`))throw Error(`Cannot duplicate the id field.`);if(new Set(t).size!==t.length)throw Error(`Cannot duplicate the same field twice in one effect.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[...new Set(this.payload.config.fields.map(e=>e.field_name))]}evolveSchema(e){let t=e.validationContext.fieldDefinitions,n=new Set(Object.keys(t)),r=structuredClone(e.fieldAnnotations||{}),i=[];for(let{field_name:a}of this.payload.config.fields){let o=t[a];if(!o)throw Error(`Field name ${a} not found in current schema.`);let{name:s,index:c}=WR(a,n);n.add(s),i.push({source:a,target:s});let l=e.fieldAnnotations?.[a];r[s]={type:o.type,format:o.format??null,label:c===null?`${o.label} copy`:`${o.label} copy ${c}`,...l?.json_metadata?{json_metadata:structuredClone(l.json_metadata)}:{}}}let a=DR({config:{environment:e.environment},pipes:e.pipes,field_annotations:r});return{next:{environment:e.environment,pipes:a.orderedPipePayloads,fieldAnnotations:a.fieldAnnotations.annotations,validationContext:a},rowMigration:(e,t)=>{for(let{source:n,target:r}of i)e.input[r]=GR(t.input[n]);return e}}}},qR=UR,JR={effectId:VR,baseEffect:I(VR),label:`Duplicate fields`,description:`Copy fields into new editable input columns (enrichment values become plain values).`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`copy`,`clone`,`freeze`,`snapshot`,`column`],lifecycle:null,billableOperations:HR,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,guide:`Copy fields into new editable input columns — works for user-entered AND pipe-output fields, so it freezes an enrichment result into a plain value you can edit or re-enrich over. Copies land as "<field>_copy" (then "<field>_copy_2", …) with the source's type/format; only the RESOLVED VALUE is copied — cells whose status is not "completed" copy as null, and status/provenance never carry over. Put every field to duplicate in ONE effect. Later effects in the same chain may reference the "_copy" names.`,defaultPayload:{effect_id:VR,connector:null,config:{fields:[]}}};function YR(e,t,n){if(e==null||typeof e==`number`||typeof e==`boolean`)return e;if(typeof e==`string`){let r=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i=new RegExp(r,`g`);return e.replace(i,n)}if(Array.isArray(e))return e.map(e=>YR(e,t,n));if(typeof e==`object`){let r={};for(let i in e)Object.hasOwn(e,i)&&(i.includes(`path`)||[`connector`,`provider`,`pipe_id`,`search_id`].includes(i)?r[i]=e[i]:r[i]=YR(e[i],t,n));return r}return e}function XR(e,t,n){let r={...e};r.config??={};let i=r.config;if(i?.input_fields?.[t]&&(!i.input_fields[t].alias||i.input_fields[t].alias===t)){let e=i.input_fields[t]||{};i.input_fields[t]={...e,alias:n}}return r}function ZR(e,t,n){let r=[];for(let i of e.orderedPipePayloads){let e=YR(i,t,n);r.push(XR(e,t,n))}return r}function QR(e,t,n,r,i){if(!e.orderedPipeInstances[t])throw Error(`Pipe instance at index ${t} is not defined`);let a={...n};if(YL(n.pipe_id).outputFieldMode===`static`){let n=e.resolvedFieldNames[r]?e.resolvedFieldNames[r]:Object.entries(e.resolvedFieldNames).find(([,e])=>e===r)?.[0];if(!n)throw Error(`Unable to find field name ${r} in pipe at idx ${t}`);a.config??={};let o=a.config,s=o.output_fields?.[n]||{};return o.output_fields??={},o.output_fields[n]??={},o.output_fields[n]={...s,alias:i},XR(a,r,i)}return YR(a,r,i)}function $R(e,t,n,r){let i=[];for(let a=0;a<e.orderedPipePayloads.length;a++){let o=e.orderedPipePayloads[a],s=t.added_by.pipe_index;if(typeof s!=`number`)throw Error(`Pipe index must be number.`);a===s?i.push(QR(e,a,o,n,r)):i.push(YR(o,n,r))}return i}function ez(e,t,n){let r=e.fieldDefinitions[t];if(!r)throw Error(`No field definition found for field with name ${t}`);return r?.added_by.ref===`input`?ZR(e,t,n):$R(e,r,t,n)}const tz=`fields:patch@1`,nz={},rz=r.object({effect_id:r.literal(tz),connector:C(),config:r.object({field_name:r.string().min(1),new_name:r.string().min(1).optional(),new_format:ja.nullable().optional(),new_type:da.optional(),new_label:r.string().optional()})}),iz=class extends L{effectId=tz;schema=rz;payload;billableOperations=nz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[this.payload.config.field_name]}evolveSchema(e){let{field_name:t,new_name:n,new_label:r,new_format:i,new_type:a}=this.payload.config;if(!e.fieldAnnotations?.[t])throw Error(`Field name ${t} not found in current schema.`);let o=e.validationContext,s=o.fieldDefinitions[t];if(!s)throw Error(`Field definition for field ${t} not found.`);let c={...e.fieldAnnotations},l=!!n&&n!==t,u=[...o.orderedPipePayloads];if(l){u=ez(o,t,n);let e=c[t];if(!e)throw Error(`Unable to find file annotations for field ${t}.`);c[n]=e,delete c[t]}let d=s.added_by.ref===`input`,ee=n||t,te=a||s.type,ne=i||s.format;if(a&&a!==s.type){if(!d)throw Error(`Cannot change the type of a pipe output field.`);c[ee].type=a,Od[a].length===0&&(c[ee].format=null)}if(i&&i!==s.format){if(!d)throw Error(`Cannot change the format of a pipe output field.`);c[ee].format=i}if(Od[te].length&&ne&&!Od[te].includes(ne))throw Error(`After applying your updates the field has the type ${te} but format ${ne}. Type and format are not compatible.`);r&&r!==s.label&&(c[ee].label=r);let re=DR({config:{environment:e.environment},pipes:u,field_annotations:c}),f=l?(e,r)=>(e.input[n]=r.input[t]||null,e):void 0;return{next:{environment:e.environment,pipes:re.orderedPipePayloads,fieldAnnotations:re.fieldAnnotations.annotations,validationContext:re},rowMigration:f}}},az=rz,oz={effectId:tz,baseEffect:I(tz),label:`Edit field`,description:`Rename, retype, reformat, or relabel a field.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:nz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:tz,connector:null,config:{field_name:``}}},sz=`fields:remove@1`,cz={},lz=r.object({effect_id:r.literal(sz),connector:C(),config:r.object({field_names:r.array(r.string().min(1)).min(1)})}),uz=class extends L{effectId=sz;schema=lz;payload;billableOperations=cz;constructor(e){if(super(),this.payload=this.validatePayload(e),this.payload.config.field_names.includes(`id`))throw Error(`Cannot remove the id field.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.field_names}evolveSchema(e){let t=structuredClone(e.fieldAnnotations||{});for(let e of this.payload.config.field_names)delete t[e];if(Object.keys(t).length===1){let t=DR({config:{environment:e.environment},pipes:[],field_annotations:{}});return{next:{environment:e.environment,pipes:[],fieldAnnotations:{},validationContext:t}}}let n=DR({config:{environment:e.environment},pipes:e.pipes,field_annotations:t});return{next:{environment:e.environment,pipes:e.pipes,fieldAnnotations:t,validationContext:n}}}},dz=lz,fz={effectId:sz,baseEffect:I(sz),label:`Remove fields`,description:`Remove fields (input columns) from the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:cz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:sz,connector:null,config:{field_names:[]}}},pz=`pipe:add@1`,mz={},hz=r.object({effect_id:r.literal(pz),connector:C(),config:r.object({pipe_payload:qL.optional()})}),gz=class extends L{effectId=pz;schema=hz;payload;billableOperations=mz;constructor(e){if(super(),this.payload=this.validatePayload(e),!this.payload.config.pipe_payload)throw Error(`pipe:add@1 requires config.pipe_payload`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let t=this.payload.config.pipe_payload;if(!t)throw Error(`pipe:add@1 requires config.pipe_payload`);let n=DR({config:{environment:e.environment},pipes:[...e.pipes,t],field_annotations:e.fieldAnnotations||{}});return{next:{environment:e.environment,pipes:n.orderedPipePayloads,fieldAnnotations:n.fieldAnnotations.annotations,validationContext:n}}}},_z=hz,vz={effectId:pz,baseEffect:I(pz),label:`Add pipe`,description:`Append a pipe to the sheet's pipeline.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:mz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:pz,connector:null,config:{}}},yz=`pipe:remove@1`,bz={},xz=r.object({effect_id:r.literal(yz),connector:C(),config:r.object({config_hash:r.string(),hard:r.boolean().default(!1)})}),Sz=class extends L{effectId=yz;schema=xz;payload;billableOperations=bz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let{config_hash:t,hard:n}=this.payload.config,i=cR(e.pipes).findIndex(e=>e.getConfigHashKey()===t);if(i===-1)throw Error(`Pipe with config hash ${t} not found.`);let a=e.validationContext,o=new Set(Object.entries(a.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===t).map(([e])=>e)),s=new wR(e.fieldAnnotations||{});for(let e of o){let t=a.fieldDefinitions[e];if(!t)continue;if(n){s=s.deleteKey(e);continue}let i=ia(e,t,a),o=ta(i.fieldName)?h(i.fieldName):null;s=s.merge({[e]:{format:t.format,type:t.type,json_metadata:o?.jsonMeta?{schema:o.jsonMeta.zodSchema?r.toJSONSchema(o.jsonMeta.zodSchema):null,example_value:o.jsonMeta.exampleValue||null}:null,label:t.label}})}let c=e.pipes.slice();c.splice(i,1);let l=DR({config:{environment:e.environment},pipes:c,field_annotations:s.annotations}),u=n?void 0:e=>{let t={...e};for(let e of o){let n=t.input[e];if(!n)continue;let{resolvedInputValue:r}=yR(n);t.input[e]=r}return t};return{next:{environment:e.environment,pipes:c,fieldAnnotations:s.annotations,validationContext:l},rowMigration:u}}},Cz=xz,wz={effectId:yz,baseEffect:I(yz),label:`Remove pipe`,description:`Remove a pipe from the sheet's pipeline, optionally deleting its fields.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:bz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:yz,connector:null,config:{config_hash:``,hard:!1}}},Tz=`pipe:update@1`,Ez={},Dz=r.object({effect_id:r.literal(Tz),connector:C(),config:r.object({config_hash:r.string().min(1),pipe_payload:qL.optional()})}),Oz=class extends L{effectId=Tz;schema=Dz;payload;billableOperations=Ez;constructor(e){if(super(),this.payload=this.validatePayload(e),!this.payload.config.pipe_payload)throw Error(`pipe:update@1 requires config.pipe_payload`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let{config_hash:t,pipe_payload:n}=this.payload.config;if(!n)throw Error(`pipe:update@1 requires config.pipe_payload`);let i=cR(e.pipes).findIndex(e=>e.getConfigHashKey()===t);if(i===-1)throw Error(`Pipe with config hash ${t} not found.`);let a=e.validationContext,o=new Set(Object.entries(a.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===t).map(([e])=>e)),s=[...e.pipes];s.splice(i,1,n);let c=DR({config:{environment:e.environment},pipes:s,field_annotations:e.fieldAnnotations||{}}),l=new(WL(n.pipe_id))(n),u=new Set(Object.entries(c.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===l.getConfigHashKey()).map(([e])=>e));for(let e of u)o.delete(e);let d=new wR(c.fieldAnnotations.annotations);for(let e of o){let t=a.fieldDefinitions[e];if(!t)throw Error(`Previous field def not found`);if(c.resolvedFieldNames[e])continue;let n=ia(e,t,a),i=ta(n.fieldName)?h(n.fieldName):null;d=d.merge({[e]:{format:t.format,type:t.type,json_metadata:i?.jsonMeta?{schema:i.jsonMeta.zodSchema?r.toJSONSchema(i.jsonMeta.zodSchema):null,example_value:i.jsonMeta.exampleValue||null}:null,label:t.label}})}let ee=DR({config:{environment:e.environment},pipes:c.orderedPipePayloads,field_annotations:d.annotations});return{next:{environment:e.environment,pipes:c.orderedPipePayloads,fieldAnnotations:d.annotations,validationContext:ee},rowMigration:e=>{let t={...e};for(let e of o){let n=t.input[e];if(!n)continue;let{resolvedInputValue:r}=yR(n);t.input[e]=r}return t}}}},kz=Dz,Az={effectId:Tz,baseEffect:I(Tz),label:`Update pipe`,description:`Replace a pipe in the sheet's pipeline and re-run it.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Ez,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Tz,connector:null,config:{config_hash:``}}},jz=`row:update@1`,Mz={},Nz=r.object({effect_id:r.literal(jz),connector:C(),config:r.object({record_id:r.string().min(1),record:Ba})}),Pz=class extends L{effectId=jz;schema=Nz;payload;billableOperations=Mz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},Fz=Nz,Iz={effectId:jz,baseEffect:I(jz),label:`Update row`,description:`Update a single row's values.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Mz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`selection`,catalogVisibility:`hidden`,defaultPayload:{effect_id:jz,connector:null,config:{record_id:``,record:{}}}},Lz=`rows:add@1`,Rz={},zz=r.object({effect_id:r.literal(Lz),connector:C(),config:r.object({records:r.array(Ba).min(1).max(100),allow_field_creation:r.boolean().default(!1),allow_empty:r.boolean().default(!1)})}),Bz=class extends L{effectId=Lz;schema=zz;payload;billableOperations=Rz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return this.payload.config.allow_field_creation===!0}},Vz=zz,Hz={effectId:Lz,baseEffect:I(Lz),label:`Add rows`,description:`Append records to the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Rz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Lz,connector:null,config:{records:[],allow_field_creation:!1,allow_empty:!1}}},Uz=r.enum([`pending`,`failed`,`no_result`,`skipped`,`completed`]),Wz=[{value:`pending`,label:`Pending`},{value:`failed`,label:`Failed`},{value:`no_result`,label:`No result`},{value:`skipped`,label:`Skipped`},{value:`completed`,label:`Completed`}],Gz=[`pending`],Kz=[`pending`,`failed`,`skipped`];function qz(e){return{enabled:!0,triggers:{status:e,configHashMismatch:!0,inputHashMismatch:!0}}}const Jz=`rows:adopt@1`,Yz={},Xz=r.object({effect_id:r.literal(Jz),connector:C(),config:r.object({pipes:r.array(qL).default([]),selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target.`,placeholder:`{"type":"all"}`},`both`),adopt_statuses:gl({options:Wz,required:!1,disableSearch:!0,path:`config.adopt_statuses`,sectionKey:`general`,groupPath:`config.general`,label:`Adopt statuses`,description:`Only cells with these statuses are adopted (pinned). Omit to adopt all.`}).optional()})}),Zz=class extends L{effectId=Jz;schema=Xz;payload;billableOperations=Yz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},Qz=Xz,$z={effectId:Jz,baseEffect:I(Jz),label:`Adopt values`,description:`Pin the selected columns' current values so a config or input change won't regenerate them.`,guide:'Adopt re-stamps each selected cell\'s stored config/input hash to the CURRENT one, so the value is kept as-is instead of being re-run. It never recomputes — use `rows:enrich@1` to (re)compute. Adopting all statuses composes with a follow-up `rows:enrich@1` (`run_statuses: ["failed"]`) to rerun only the failures while completed cells stay pinned — the safe pattern before running a non-idempotent effect twice.',categories:[`internal`],tags:[],lifecycle:null,billableOperations:Yz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`selection`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Jz,connector:null,config:{pipes:[]}}},eB=`rows:copy_to_sheet@1`,tB={},nB=r.object({effect_id:r.literal(eB),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to copy as JSON.`,placeholder:`{"type":"all"}`},`both`),where:cc({path:`config.where`,sectionKey:`general`,groupPath:`config.general`,order:1,label:`Condition (optional)`,description:`Only copy selected rows matching this condition. Leave empty to copy all.`}),target_sheet:pl({path:`config.target_sheet`,sectionKey:`general`,groupPath:`config.general`,order:2,inputType:`text`,label:`Target sheet`,description:`Slug of the destination sheet. Created if missing (see below). Slugs are org-unique — for a NEW sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") so it can't hit an unrelated existing sheet.`}),create_if_missing:yl({path:`config.create_if_missing`,sectionKey:`general`,groupPath:`config.general`,order:3,label:`Create if missing`,description:`When the target sheet does not exist, create it in this sheet's project. Off ⇒ fail.`,defaultValue:!0})})}),rB=class extends L{effectId=eB;schema=nB;payload;billableOperations=tB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){let e=this.payload.config.where;return e?[...new Set(e.conditions.map(e=>e.field_name))]:[]}},iB=nB,aB={effectId:eB,baseEffect:I(eB),label:`Copy rows to sheet`,description:`Copy selected rows (or every row) into another sheet — all of them, or only those matching a condition. Creates the target sheet in this project if it doesn't exist.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`move`,`transfer`,`split`,`push`,`another sheet`],lifecycle:null,billableOperations:tB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`visible`,defaultPayload:{effect_id:eB,connector:null,config:{selection:{type:`all`},target_sheet:``,create_if_missing:!0}}},oB=`rows:dedupe@1`,sB={"rows-dedupe-v1-pipe0":{allowManagedConnection:!0,provider:`pipe0`,mode:`always`,credits:{default:0},note:`Deduplicating your own sheet is free.`}},cB=r.object({effect_id:r.literal(oB),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`),fields:kc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Match fields`,minItems:1,description:`Rows are duplicates when these fields match.`}),match:hl({path:`config.match`,sectionKey:`general`,groupPath:`config.general`,label:`Match condition`,required:!0,defaultValue:`all`,options:[{value:`all`,label:`All fields match (AND)`},{value:`any`,label:`Any field matches (OR)`}]}),strategy:hl({path:`config.strategy`,sectionKey:`general`,groupPath:`config.general`,label:`Which duplicate to keep`,required:!0,defaultValue:`keep_oldest`,options:[{value:`keep_oldest`,label:`Keep oldest`},{value:`keep_newest`,label:`Keep newest`}]})})}),lB=class extends L{effectId=oB;schema=cB;payload;billableOperations=sB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-dedupe-v1-pipe0`)}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}},uB=cB,dB={effectId:oB,baseEffect:I(oB),label:`Remove duplicate rows`,description:`Find duplicate rows by matching fields and keep one row per group.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`dedupe`,`deduplicate`,`merge`,`clean`,`unique`],lifecycle:null,billableOperations:sB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,shouldUpgradeSchema:!0,catalogVisibility:`visible`,guide:`Dedupe in ONE run: list every identity field in config.fields and pick config.match — "all" (rows are duplicates only when every field matches) or "any" (a match on ANY listed field makes rows duplicates). To dedupe on several alternative keys (e.g. same email OR same profile_url), use match "any" with all keys in one effect — never run one dedupe per field; if you must combine dedupe with other cleanup, put the effects in one validated chain so the user approves once. Destructive and approval-gated; reversible via timetravel.`,defaultPayload:{effect_id:oB,connector:null,config:{fields:[],match:`all`,strategy:`keep_oldest`}}},fB=`rows:duplicate@1`,pB={"rows-duplicate-v1-pipe0":{allowManagedConnection:!0,provider:`pipe0`,mode:`always`,credits:{default:0},note:`Duplicating rows in your own sheet is free.`}},mB=r.object({effect_id:r.literal(fB),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`)})}),hB=class extends L{effectId=fB;schema=mB;payload;billableOperations=pB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-duplicate-v1-pipe0`)}getFieldReferences(){return[]}},gB=mB,_B={effectId:fB,baseEffect:I(fB),label:`Duplicate rows`,description:`Copy the selected rows (or every row). Copies get fresh ids and are appended after the existing rows.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`copy`,`clone`,`replicate`],lifecycle:null,billableOperations:pB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`visible`,defaultPayload:{effect_id:fB,connector:null,config:{}}},vB=`rows:enrich@1`,yB={},bB=r.object({effect_id:r.literal(vB),connector:C(),config:r.object({pipes:r.array(qL).default([]),selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target.`,placeholder:`{"type":"all"}`},`both`),run_statuses:gl({options:Wz,required:!1,disableSearch:!0,path:`config.run_statuses`,sectionKey:`general`,groupPath:`config.general`,label:`Run statuses`,description:`Rows with the following statuses will be run.`}).optional()})}),xB=class extends L{effectId=vB;schema=bB;payload;billableOperations=yB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getRecordQueueConfig(e){return qz(this.payload.config.run_statuses??(e?.isScheduled?Gz:Kz))}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},SB=bB,CB={effectId:vB,baseEffect:I(vB),label:`Enrich rows`,description:`Run the sheet's pipes over the selected rows.`,categories:[`enrichment`],tags:[],keywords:[`run`,`execute`,`process`,`refresh`,`rerun`,`pipes`],lifecycle:null,billableOperations:yB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],catalogVisibility:`visible`,selectionMode:`both`,lockingMode:`shared`,lockScope:`selection`,defaultPayload:{effect_id:vB,connector:null,config:{pipes:[]}}},wB=`rows:filter:prompt@1`,TB=`rows-filter-prompt-v1`,EB=Ss(TB),DB=r.object({effect_id:r.literal(wB),connector:wc(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`),prompt:ml({path:`config.prompt`,sectionKey:`general`,groupPath:`config.general`,label:`Filter instruction`,rows:4,placeholder:`Only keep rows where the person is a "Head of Growth" at a company doing less than $1M in revenue.`}),model:xl({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.general`,billableOperations:EB}),fields:kc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields to consider`,info:`If specified, only these fields are shown to the model. This is useful to drop large JSON columns and save tokens.`})})}),OB=class extends L{effectId=wB;schema=DB;payload;billableOperations=EB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return gs(this.payload.config.model)}getProviderNames(){return hs(this.payload.config.model)}estimateBillableOperations(e){return ws(e,{model:this.payload.config.model,prefix:TB,inputTokens:600,outputTokens:50})}getFieldReferences(){return(this.payload.config.fields??[]).map(e=>e.field_name)}},kB=DB,AB={effectId:wB,baseEffect:I(wB),label:`AI filter rows`,description:`Keep or remove rows by a natural-language instruction, judged per row by an AI model.`,categories:[`data_hygiene`],tags:[U.NEW,U.AI],keywords:[`classify`,`qualify`,`score`,`prompt`,`clean`],lifecycle:null,billableOperations:EB,allowedUserConnectionProviders:_s(),managedProviders:_s(),selectionMode:`both`,lockingMode:`exclusive`,shouldUpgradeSchema:!0,catalogVisibility:`visible`,defaultPayload:{effect_id:wB,connector:null,config:{model:`google-low`,prompt:``,fields:[]}}},jB=`rows:import@1`,MB={},NB=r.object({effect_id:r.literal(jB),connector:C(),config:r.object({staging_group_id:r.string().min(1),allow_field_creation:r.boolean().default(!1),event_id:r.string().nullable().default(null)})}),PB=class extends L{effectId=jB;schema=NB;payload;billableOperations=MB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return this.payload.config.allow_field_creation===!0}},FB=NB,IB={effectId:jB,baseEffect:I(jB),label:`Import rows`,description:`Append records from a staging group (CSV import / search commit).`,categories:[`internal`],tags:[],keywords:[`csv`,`upload`,`excel`,`spreadsheet`,`file`],lifecycle:null,billableOperations:MB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:jB,connector:null,config:{staging_group_id:``,allow_field_creation:!1,event_id:null}}},LB=`rows:remove@1`,RB={},zB=r.object({effect_id:r.literal(LB),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to delete as JSON.sc`,placeholder:`{"type":"all"}`},`both`),where:cc({path:`config.where`,sectionKey:`general`,groupPath:`config.general`,order:1,label:`Condition (optional)`,description:`Only delete selected rows matching this condition. Leave empty to delete all.`})})}),BB=class extends L{effectId=LB;schema=zB;payload;billableOperations=RB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){let e=this.payload.config.where;return e?[...new Set(e.conditions.map(e=>e.field_name))]:[]}},VB=zB,HB={effectId:LB,baseEffect:I(LB),label:`Delete rows`,description:`Delete selected rows — all of them, or only those matching a condition.`,categories:[`data_hygiene`],tags:[],keywords:[`remove`,`drop`,`clear`,`clean`,`purge`],lifecycle:null,billableOperations:RB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,lockScope:`selection`,catalogVisibility:`visible`,guide:`Delete rows matching config.where (omit selection to consider ALL rows; omit where to delete the whole selection). Destructive and approval-gated, so make ONE remove do the whole job: or-combine EVERY drop criterion into a single where (logic "or", one condition per field) instead of running several removes — and put the remove in the same validated chain as any fields:remove / rename cleanup so the user approves once. To drop rows whose enrichment yielded nothing, condition on the field's STATUS (property "status", e.g. neq "completed" — catches skipped, failed, and no_result at once). Bracketed cell renderings from get_sheet_rows like "[no_result]"/"[skipped]" are status placeholders for EMPTY cells, never stored values — a value condition cannot match them. After the run, re-read the sheet ONCE to confirm; if the rows you expected gone are still there, stop and report the discrepancy instead of retrying with variant conditions.`,defaultPayload:{effect_id:LB,connector:null,config:{selection:{type:`rows`,record_ids:[]}}}},UB=`rows:removeempty@1`,WB={},GB=r.object({effect_id:r.literal(UB),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to consider as JSON.`,placeholder:`{"type":"all"}`},`both`),fields:kc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields`,minItems:1,description:`Delete a row when ANY of these fields is empty.`})})}),KB=class extends L{effectId=UB;schema=GB;payload;billableOperations=WB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}},qB=GB,JB={effectId:UB,baseEffect:I(UB),label:`Delete rows with empty cells`,description:`Delete selected rows where any of the chosen fields is empty.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`blank`,`null`,`missing`,`prune`,`incomplete`,`sparse`],lifecycle:null,billableOperations:WB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,lockScope:`selection`,catalogVisibility:`visible`,guide:`Delete rows where ANY field in config.fields is empty (OR semantics) — list EVERY field to check in ONE effect instead of running several. "Empty" means: missing key, null, empty string, empty array, or — for enrichment output — any cell whose status is not "completed" (catches failed, no_result, and skipped at once); 0, false, and whitespace-only strings count as populated. Omit selection to consider ALL rows. For value-based predicates (e.g. drop rows where score < 3) use rows:remove@1 with a where condition instead. Destructive and approval-gated; after the run, re-read the sheet ONCE to confirm.`,defaultPayload:{effect_id:UB,connector:null,config:{selection:{type:`rows`,record_ids:[]},fields:[]}}};function YB(e){if(e instanceof Z)return e;let t=e.search_id,n=xL(t);if(!n)throw Error(`Unknown pipe: ${e.search_id}`);return new n(wL.parse(e))}const XB=`search:run@1`,ZB={},QB=r.object({effect_id:r.literal(XB),connector:C(),config:r.object({search_payload:Sl({path:`config.search_payload`,groupPath:`config.general`,sectionKey:`general`,label:`Search`,description:`Pick and configure the search to run.`},wL),max_number_of_results:_l({path:`config.max_number_of_results`,groupPath:`config.general`,sectionKey:`general`,label:`Max results`,description:`Maximum number of items to find across all pages.`,guide:"This is the FETCH budget — an upper bound on raw results pulled across all pages (it also caps each page's size). De-duplicated results are NOT re-fetched, so this is not the final row count. When you want EXACTLY N unique rows, do NOT set this to N (you'd get fewer the moment any result is a duplicate): set `stop_at_unique_rows_count` to N and set this to the maximum (1000000) so the unique count is the real stop condition. For a plain bulk fetch with no unique target, set this to the number of rows you want.",max:1e6,min:1}).default(1e3),deduplicate:yl({path:`config.deduplicate`,groupPath:`config.general`,sectionKey:`general`,label:`Unique rows only`,description:`Skip results that already exist in the sheet.`,guide:"Dedup key is the search's own declared key. Discards are NOT topped up with extra pages, so to reliably collect N unique rows pair this with `stop_at_unique_rows_count` and a large `max_number_of_results`.",defaultValue:!0,enabledIf:e=>{let t=e.config?.search_payload;if(!t?.search_id)return{disabled:!0,message:`Configure a search first.`};let n=!1;try{n=YB(t).getDedupConfig().fields.length>0}catch{n=!1}return n?{disabled:!1}:{disabled:!0,message:`This search doesn't support de-duplication.`}}}),stop_at_unique_rows_count:vl({path:`config.stop_at_unique_rows_count`,groupPath:`config.general`,sectionKey:`general`,label:`Stop at X unique rows`,description:`Stop after this many new rows have been added. Leave empty for no early stop. Bounded by Max results.`,guide:"Set this to the exact unique-row count you want (only works with `deduplicate` on). It paginates full pages until this many NEW rows are added, so set `max_number_of_results` to the maximum (1000000) to give it room — `max_number_of_results` then just acts as a safety backstop.",placeholder:`No early stop`,min:1,max:1e5,enabledIf:e=>e.config?.deduplicate===!0?{disabled:!1}:{disabled:!0,message:`Enable “Unique rows only” to use this.`}})})}),$B=class extends L{effectId=XB;schema=QB;payload;billableOperations=ZB;constructor(e){super(),this.payload=this.validatePayload(e)}getSearch(){let e=this.payload.config.search_payload;if(!e?.search_id)return null;try{return YB(e)}catch{return null}}getConnectionsRequirements(){return[]}getProviderNames(){let e=this.getSearch();return e?[PL(e.searchId).provider]:[]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){let e=this.getSearch();return e?(PL(e.searchId).outputFieldMode??`static`)===`dynamic`:!1}},eV=QB,tV={effectId:XB,baseEffect:I(XB),label:`Search`,description:`Run a search and append the results to the sheet.`,categories:[`enrichment`],tags:[U.NEW],keywords:[`find`,`import`,`source`,`prospect`,`add rows`,`results`],lifecycle:null,billableOperations:ZB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:XB,connector:null,config:{search_payload:{search_id:``},max_number_of_results:1e3,deduplicate:!0,stop_at_unique_rows_count:null}}},nV=`sheet:export@1`,rV={},iV=r.object({effect_id:r.literal(nV),connector:C(),config:r.object({selection:Ac({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to export as JSON — {"type":"all"} or {"type":"rows","record_ids":["…"]}.`,placeholder:`{"type":"all"}`},`both`)})}),aV=class extends L{effectId=nV;schema=iV;payload;billableOperations=rV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},oV=iV,sV={effectId:nV,baseEffect:I(nV),label:`Export sheet`,description:`Export the selected rows to a CSV download.`,categories:[`internal`],tags:[],keywords:[`csv`,`download`,`excel`,`spreadsheet`,`file`],lifecycle:null,billableOperations:rV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:nV,connector:null,config:{}}},cV=`sheet:reset@1`,lV={},uV=r.object({effect_id:r.literal(cV),connector:C(),config:r.object({})}),dV=class extends L{effectId=cV;schema=uV;payload;billableOperations=lV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let t=DR({config:{environment:e.environment},pipes:[],field_annotations:{}});return{next:{environment:e.environment,pipes:[],fieldAnnotations:{},validationContext:t}}}},fV=uV,pV={effectId:cV,baseEffect:I(cV),label:`Reset sheet`,description:`Reset the sheet to its initial state — remove all pipes, fields, and rows. This cannot be partially applied.`,categories:[`data_hygiene`],tags:[],keywords:[`clear`,`wipe`,`empty`,`start over`,`delete all`],lifecycle:null,billableOperations:lV,shouldUpgradeSchema:!0,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:cV,connector:null,config:{}}},mV=`sheet:update@1`,hV={},gV=r.object({effect_id:r.literal(mV),connector:C(),config:r.object({name:r.string().min(4).refine(e=>!e.includes(`/`),`Name cannot contain '/'`).optional(),slug:r.string().regex(/^[A-Za-z0-9]+(?:[-_][A-Za-z0-9]+)*$/).optional()}).refine(e=>e.name!==void 0||e.slug!==void 0,`Provide at least one of name or slug to update.`)}),_V=class extends L{effectId=mV;schema=gV;payload;billableOperations=hV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},vV=gV,yV={effectId:mV,baseEffect:I(mV),label:`Update sheet`,description:`Update sheet basics (rename: name, slug).`,categories:[`internal`],tags:[`rename`,`name`,`title`,`slug`],lifecycle:null,billableOperations:hV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,guide:`Rename the ACTIVE sheet. To give a deliverable the name the user asked for, set config.name ONLY — display names need not be unique, so "CEOs" always works. Do NOT also rewrite config.slug: slugs are org-unique and a clean generic slug (e.g. "ceos") is likely taken somewhere you can't see, which fails the whole run; the slug is just an address, so keep the existing (suffixed) one unless the user explicitly asks for a specific slug.`,defaultPayload:{effect_id:mV,connector:null,config:{}}},bV=`timetravel:create@1`,xV={},SV=r.object({effect_id:r.literal(bV),connector:C(),config:r.object({})}),CV=class extends L{effectId=bV;schema=SV;payload;billableOperations=xV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},wV=SV,TV={effectId:bV,baseEffect:I(bV),label:`Create restore point`,description:`Snapshot the current sheet state as a timetravel restore point.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:xV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,shouldUpgradeSchema:!0,catalogVisibility:`hidden`,defaultPayload:{effect_id:bV,connector:null,config:{}}},EV=`timetravel:travel@1`,DV={},OV=r.object({effect_id:r.literal(EV),connector:C(),config:r.object({schema_id:r.string().min(1)})}),kV=class extends L{effectId=EV;schema=OV;payload;billableOperations=DV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return!0}},AV=OV,jV={effectId:EV,baseEffect:I(EV),label:`Restore to point`,description:`Restore the sheet to a previous point by copying that point's rows into a new schema.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:DV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:EV,connector:null,config:{schema_id:``}}},MV=r.object({reason:r.object({code:r.string(),details:r.string().optional()}),related_record_id:r.string().nullable(),resolved_by:r.object({ref:xt,config_hash:r.string()})}),NV=r.object({value:r.union([r.string(),r.number(),r.boolean(),r.null()])}),PV=MV.extend({fields:r.record(r.string(),NV)}),FV=r.object({added:MV.optional(),updated:PV.optional(),removed:MV.optional()}),IV=r.record(r.string(),FV),LV=r.object({shown:r.number().int(),total:r.number().int(),added:r.number().int(),updated:r.number().int(),removed:r.number().int()}),RV=r.object({effect_id:xt,config_hash:r.string(),status:r.enum([`completed`,`failed`,`skipped`]),error:r.string().optional(),source:r.literal(`run_added_rows`).optional()}),zV={"rows:dedupe@1":lB,"rows:duplicate@1":hB,"rows:enrich@1":xB,"rows:adopt@1":Zz,"rows:add@1":Bz,"rows:import@1":PB,"row:update@1":Pz,"rows:remove@1":BB,"rows:removeempty@1":KB,"rows:copy_to_sheet@1":rB,"rows:filter:prompt@1":OB,"pipe:add@1":gz,"pipe:update@1":Oz,"pipe:remove@1":Sz,"fields:remove@1":uz,"fields:patch@1":iz,"fields:duplicate@1":KR,"fields:add@1":Il,"fields:deletesparse:input@1":RR,"env:change@1":Al,"timetravel:create@1":CV,"timetravel:travel@1":kV,"sheet:export@1":aV,"search:run@1":$B,"sheet:reset@1":dV,"sheet:update@1":_V},BV={"rows:dedupe@1":uB,"rows:duplicate@1":gB,"rows:enrich@1":SB,"rows:adopt@1":Qz,"rows:add@1":Vz,"rows:import@1":FB,"row:update@1":Fz,"rows:remove@1":VB,"rows:removeempty@1":qB,"rows:copy_to_sheet@1":iB,"rows:filter:prompt@1":kB,"pipe:add@1":_z,"pipe:update@1":kz,"pipe:remove@1":Cz,"fields:remove@1":dz,"fields:patch@1":az,"fields:duplicate@1":qR,"fields:add@1":Ll,"fields:deletesparse:input@1":zR,"env:change@1":jl,"timetravel:create@1":wV,"timetravel:travel@1":AV,"sheet:export@1":oV,"search:run@1":eV,"sheet:reset@1":fV,"sheet:update@1":vV},VV={"rows:dedupe@1":dB,"rows:duplicate@1":_B,"rows:enrich@1":CB,"rows:adopt@1":$z,"rows:add@1":Hz,"rows:import@1":IB,"row:update@1":Iz,"rows:remove@1":HB,"rows:removeempty@1":JB,"rows:copy_to_sheet@1":aB,"rows:filter:prompt@1":AB,"pipe:add@1":vz,"pipe:update@1":Az,"pipe:remove@1":wz,"fields:remove@1":fz,"fields:patch@1":oz,"fields:duplicate@1":JR,"fields:add@1":Rl,"fields:deletesparse:input@1":BR,"env:change@1":Ml,"timetravel:create@1":TV,"timetravel:travel@1":jV,"sheet:export@1":sV,"search:run@1":tV,"sheet:reset@1":pV,"sheet:update@1":yV};function HV(e){return zV[e]}function UV(e){return VV[e]}function WV(e){return BV[e]}function GV(){return Object.keys(VV).filter(e=>VV[e].agentExposure!==`excluded`)}function KV(e){return VV[e]?.agentExposure!==`excluded`}const qV=t.discriminatedUnion(`effect_id`,Object.values(BV).map(e=>e)).openapi(`EffectPayloadSchema`);function JV(e,t){return yt(t,VV[e].defaultPayload)}const YV=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`effect_id`in e))return e;let t=JV(e.effect_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},qV),XV=t.enum([`processing`,`completed`,`failed`,`canceled`,`skipped`]).openapi(`EffectsRunStatus`),ZV=t.object({config:t.object({diff:t.object({limit:t.number().int().min(0).max(1e3).default(100).openapi({description:"How many per-record diff entries to keep on the result. `counts` stays exact regardless."})}).optional(),run_added_rows:t.boolean().optional().openapi({description:`When true, after this run's effects complete, run the sheet's pipes over exactly the rows the run appended (the contiguous tail). Off by default. Durable on schedules: a scheduled chain that adds rows then enriches them on every fire.`})}).optional(),effects:t.array(YV).min(1)}).openapi(`EffectsRequest`),QV=t.object({id:t.string(),status:XV,effects:t.array(RV),counts:LV.nullable(),diff:IV.nullable(),after_schema_id:t.string().nullable(),before_schema_id:t.string().nullable(),added:t.object({cursor:t.string().nullable(),count:t.number().int()}).nullable().openapi({description:'Present when the run appended rows. `cursor` is the exclusive window cursor isolating exactly the added tail — pass it to a `rows:enrich@1` `{type:"window", cursor, count:null}` selection to run the sheet\'s pipes over the added rows. `count` is how many added rows survive.'})}).openapi(`EffectsResponse`),$V=t.object({effects:t.array(t.unknown()).min(1)}).openapi(`EffectsValidateRequest`),eH=t.object({index:t.number().int(),effect_id:xt,valid:t.boolean(),errors:t.array(t.string())}).openapi(`EffectsValidateStep`),tH=t.object({valid:t.boolean(),errors:t.array(t.string()),steps:t.array(eH).optional()}).openapi(`EffectsValidateResponse`);function nH(e){let t=e.split(`@`)[1];if(!t)throw Error(`No effect version found`);return Number(t)}function rH(){let e={};for(let t of Object.values(VV)){let{baseEffect:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=nH(e.effectId);return nH(t.effectId)-n})}),e}const iH=rH();function aH(){let e=[];for(let[t,n]of Object.entries(iH)){let r=n[0];if(!r)throw Error(`Found empty entry`);r.lifecycle?.deprecatedOn||r.catalogVisibility!==`hidden`&&e.push({...r,baseEffect:t,latestVersion:nH(r.effectId)})}return e}const oH={"rows:dedupe@1":[{effect_id:`rows:dedupe@1`,connector:null,config:{fields:[{field_name:`work_email`}],match:`all`,strategy:`keep_oldest`}}],"rows:duplicate@1":[{effect_id:`rows:duplicate@1`,connector:null,config:{}}],"sheet:reset@1":[{effect_id:`sheet:reset@1`,connector:null,config:{}}],"fields:deletesparse:input@1":[{effect_id:`fields:deletesparse:input@1`,connector:null,config:{fields:[{field_name:`company_raw_address`},{field_name:`company_founded_year`}],probe_size:1e3,threshold_in_percent:25}}]};var sH=class extends Error{errors;constructor(e){super(e.join(`
81
- `)),this.name=`SheetEffectValidationError`,this.errors=e}};function cH({effects:e,validationContext:t,schemaInputs:n}){let r=[],i=[],a=[],o=[];e.some(e=>e.effect_id===`pipe:remove@1`)&&e.length>1&&r.push(`pipe:remove@1 must be the only effect in a run.`);let s={...n,validationContext:t},c=t,l=new Set(Object.keys(t.fieldDefinitions)),u=null;return e.forEach((e,t)=>{let n=[],d=HV(e.effect_id);if(!d){n.push(`unknown effect "${e.effect_id}"`),lH(i,r,t,e.effect_id,n);return}let ee;try{ee=new d(e)}catch(a){n.push(a.message),lH(i,r,t,e.effect_id,n);return}let te=ee.getFieldReferences().filter(e=>!l.has(e));if(te.length>0){let e=`references fields that do not exist at this step: ${te.join(`, `)}`;u&&(e+=`. These may be produced only at run time by "${u}" earlier in this chain — commit that effect first, then add the effects that use its columns in a follow-up run.`),n.push(e)}try{let{next:e}=ee.evolveSchema(s);s=e,c=e.validationContext,l=new Set(Object.keys(e.validationContext.fieldDefinitions))}catch(e){if(e instanceof cS)for(let t of e.appErrors)n.push(t.message);else n.push(e.message)}u===null&&ee.producesDynamicFields()&&(u=e.effect_id),a.push(ee),o.push(e),lH(i,r,t,e.effect_id,n)}),{valid:r.length===0,steps:i,errors:r,instances:a,payloads:o,resultingFieldDefinitions:c.fieldDefinitions}}function lH(e,t,n,r,i){e.push({index:n,effect_id:r,valid:i.length===0,errors:i});for(let e of i)t.push(`effects[${n}] (${r}): ${e}`)}function uH({effects:e,validationContext:t,schemaInputs:n}){let r=cH({effects:e,validationContext:t,schemaInputs:n});if(!r.valid)throw new sH(r.errors);return{instances:r.instances,payloads:r.payloads}}function dH(e){let t=(e??[]).map(e=>fH(e));if(t.length===0)return{title:`Effect run`,description:`An effect run with no steps.`};let[n]=t;return t.length===1&&n?{title:n.title,description:n.description}:{title:`${t.length} steps: ${t.map(e=>e.title).join(` · `)}`,description:t.map(e=>e.description).join(` · `)}}function fH(e){let t=e.effect_id,n=I(t),r=e.config??{};switch(n){case`pipe:add`:{let e=pH(r.pipe_payload);return{title:e?`Added pipe ${e}`:`Added pipe`,description:e?`Added the pipe ${e} to the sheet.`:`Added a pipe to the sheet.`}}case`pipe:update`:{let e=pH(r.pipe_payload);return{title:e?`Updated pipe ${e}`:`Updated pipe`,description:e?`Updated the configuration of pipe ${e}.`:`Updated a pipe.`}}case`pipe:remove`:return{title:`Removed pipe`,description:`Removed a pipe from the sheet.`};case`fields:add`:return{title:`Added field`,description:`Added a field to the sheet.`};case`fields:patch`:return{title:`Edited field`,description:`Edited a field on the sheet.`};case`fields:remove`:return{title:`Removed fields`,description:`Removed fields from the sheet.`};case`rows:add`:{let e=Array.isArray(r.records)?r.records.length:void 0;return{title:e==null?`Added rows`:`Added ${e} ${gH(e,`row`)}`,description:e==null?`Added rows to the sheet.`:`Added ${e} ${gH(e,`row`)} to the sheet.`}}case`rows:remove`:return{title:`Removed rows`,description:`Removed rows from the sheet.`};case`rows:dedupe`:return{title:`Removed duplicate rows`,description:`Removed duplicate rows from the sheet.`};case`rows:duplicate`:return{title:`Duplicated rows`,description:`Duplicated rows in the sheet.`};case`rows:enrich`:return{title:`Enriched rows`,description:`Ran enrichment pipes over rows.`};case`rows:filter:prompt`:return{title:`AI-filtered rows`,description:`Filtered rows with an AI prompt.`};case`rows:import`:return{title:`Imported rows`,description:`Imported rows into the sheet.`};case`row:update`:return{title:`Updated row`,description:`Updated a single row.`};case`search:run`:{let e=mH(r.search_payload);return{title:e?`Ran search ${e}`:`Ran search`,description:e?`Ran the search ${e} and appended its results.`:`Ran a search and appended its results.`}}case`sheet:export`:return{title:`Exported sheet`,description:`Exported the sheet.`};case`sheet:reset`:return{title:`Reset sheet`,description:`Reset the sheet to its empty state.`};case`env:change`:return{title:`Changed environment`,description:`Switched the sheet environment.`};case`timetravel:create`:return{title:`Created restore point`,description:`Snapshotted the sheet state.`};case`timetravel:travel`:return{title:`Restored to a previous point`,description:`Restored the sheet to a previous point in time.`};default:{let e=hH(t);return{title:e??t,description:e??t}}}}function pH(e){if(e&&typeof e==`object`){let t=e.pipe_id;if(typeof t==`string`&&t.length>0)return t}}function mH(e){if(e&&typeof e==`object`){let t=e.search_id;if(typeof t==`string`&&t.length>0)return t}}function hH(e){try{return UV(e)?.label}catch{return}}function gH(e,t){return e===1?t:`${t}s`}function _H(e){if(e instanceof L)return e;let t=e.effect_id,n=HV(t);if(!n)throw Error(`Unknown effect: ${e.effect_id}`);return new n(YV.parse(e))}function vH(e){let t=e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^A-Za-z0-9]+/g,`_`).replace(/^_+|_+$/g,``);return t===``?`column`:/^[0-9]/.test(t)?`_${t}`:t}function yH(e){let t=new Set;return e.map(e=>{let n=e,r=2;for(;t.has(n);)n=`${e}_${r}`,r++;return t.add(n),n})}function bH(e){let t=yH(e.map(vH));return e.map((e,n)=>({name:t[n],label:e}))}const xH={completed:`Completed`,failed:`Failed`,no_result:`No result`,pending:`Pending`,processing:`Processing`,queued:`Queued`,skipped:`Skipped`};function SH(e){return xH[e]}const CH=`bachelor.master.mba.phd.ph d.doctor.associate.diploma.b sc.bsc.m sc.msc.b a.m a.b tech.btech.m tech.mtech.b eng.m eng.b com.llb.llm.md.jd.undergraduate.postgraduate.graduate.degree`.split(`.`),wH=[`university`,`college`,`institute of technology`,`polytechnic`,`school of`],TH=e=>` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `,EH=(e,t)=>{if(!e)return!1;let n=TH(e);return t.some(e=>n.includes(` ${e} `))};function DH(e){return EH(e.degree_name,CH)?!0:e.degree_name?!1:EH(e.institution_name,wH)}function OH(e){if(!e.start_date)return 1/0;let t=te(e.start_date);return Number.isNaN(t.getTime())?1/0:t.getTime()}function kH(e){let t=e.education_history.filter(e=>e.is_current_education===!0&&DH(e)),n=null;for(let e of t)(n===null||OH(e)<OH(n))&&(n=e);return{...e,education_history:e.education_history.map(e=>({...e,is_primary_current_education:e===n}))}}function AH(e,t,n=new Date){if(!e)return{days:null,years:null};let r=te(e);if(Number.isNaN(r.getTime()))return{days:null,years:null};let i=n;if(t){let e=te(t);Number.isNaN(e.getTime())||(i=e)}let a=u(i,r);return a<0?{days:null,years:null}:{days:a,years:Math.round(a/365.25*100)/100}}const jH={shared:{}},MH={shared:{}},NH={shared:{paths:{"config.cursor":null,"config.offset":null,"config.page_number":null}}};function PH(e,t){let n=e[t];return{sectionMap:{...e.shared.sections,...n?.sections},groupMap:{...e.shared.groups,...n?.groups},pathMap:{...e.shared.paths,...n?.paths}}}const FH=e=>PH(MH,e),IH=e=>PH(NH,e),LH=e=>PH(jH,e),RH={"config.prompt":{order:1,label:`Prompt`,iconKey:`sparkles`,defaultExpand:!0},"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:0,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},"config.bucket_creation":{order:1,label:`Bucket creation`,description:`Applied when the bucket is created on first write; ignored if it already exists.`,iconKey:`sliders`,defaultExpand:!1},"config.input_fields":{order:0,label:`Input config`,description:`Point pipe inputs to new fields.`,iconKey:`input`,defaultExpand:!1},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1},"config.extraction":{order:0,label:`Extraction`,iconKey:`code`,defaultExpand:!0},run_if:{order:99,label:`Run IF`,iconKey:`workflow`,defaultExpand:!1},"config.email":{order:3,label:`Email`,iconKey:`mail`,defaultExpand:!0},"config.json_extraction":{order:1,label:`Extract fields`,iconKey:`braces`,defaultExpand:!0},"config.providers":{order:1,label:`Providers`,iconKey:`tags`,defaultExpand:!0},"config.output_fields":{order:10,label:`Output config`,description:`Toggle or rename output fields.`,iconKey:`output`,defaultExpand:!1},"config.destination":{order:9,label:`Destination`,description:`Name, type, and format of the field written to the destination sheet.`,iconKey:`output`,defaultExpand:!1}},zH={general:{path:`general`,label:`Behavior`,description:`How this pipe runs and selects providers.`,order:1},pagination:{path:`pagination`,label:`Behavior`,order:2},"config.filters":{path:`config.filters`,label:`I/O & conditions`,order:14},pipe_io:{path:``,label:`I/O & conditions`,order:99}},BH=new Set([`context_select_input`,`tagged_text_input`,`condition_block_input`,`field_select_input`,`fields_select_input`,`typed_fields_select_input`]);function VH(e){let t=KL(e),n=[];function i(e){e?.type&&BH.has(e.type)&&e.optionsDef&&n.push(e)}function a(e){let t=_.get(e);if(t&&typeof t!=`function`?i(t):typeof t==`function`&&i(t.staticMeta),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&a(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))a(t)}return a(t),n}function HH({pipePayload:e,validationContext:t,store:n,formResolvers:r,customization:i}){let a=KL(e.pipe_id),o=Yl(e.pipe_id,e.config||{});return fc({schema:a,extractFromSchema:r=>{let i=_.get(r);if(n.field_options??={},i)return i&&typeof i==`function`?i({validationContext:t,pipePayload:e,userConnections:`connections`in n.field_options?(n.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type'`);return{public_id:e.value,provider:t}}):[],pipeEntry:YL(e.pipe_id),hash:o}):i},store:n,formResolvers:r,sectionMap:uc(zH,i?.sectionMap),groupMap:uc(RH,i?.groupMap),pathMap:i?.pathMap})}const UH={"config.pagination":{order:-1,label:`Pagination`,iconKey:`list`,defaultExpand:!0},"config.dates":{order:1,label:`Dates`,iconKey:`calendar`,defaultExpand:!1},"config.counts":{order:1,label:`Ownership counts`,iconKey:`user`,defaultExpand:!0},"config.prompt":{order:1,label:`Prompt`,iconKey:`sparkles`,defaultExpand:!0},"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:0,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},"config.continue_existing_search":{order:0,label:`Continue existing search`,iconKey:`history`,defaultExpand:!1},"config.output_fields":{order:10,label:`Outputs`,iconKey:`output`,defaultExpand:!1},"config.filters.query":{order:2,label:`Query`,iconKey:`text`,defaultExpand:!0},"config.filters.personal_information":{label:`Personal information`,order:6,iconKey:`user`,defaultExpand:!1},"config.filters.job_information":{label:`Job information`,order:6,iconKey:`job`,defaultExpand:!1},"config.filters.company_information":{order:1,label:`Company information`,iconKey:`office`,defaultExpand:!1},"config.filters.education":{label:`Education`,iconKey:`school`,defaultExpand:!1,order:4},"config.filters.geografic":{label:`Location`,iconKey:`location`,defaultExpand:!1},"config.filters.location":{label:`Location`,iconKey:`location`,defaultExpand:!1},"config.filters.general":{label:`General`,iconKey:`filter`,defaultExpand:!1,order:1},"config.filters.author":{label:`Author`,iconKey:`user`,defaultExpand:!1,order:2},"config.filters.mentions":{label:`Mentions`,iconKey:`tags`,defaultExpand:!1,order:3},"config.filters.job_openings":{label:`Job openings`,iconKey:`calendar`,defaultExpand:!1},"config.filters.website":{label:`Website`,iconKey:`web`,defaultExpand:!1},"config.filters.web_presence":{label:`Web presence`,iconKey:`web`,defaultExpand:!1},"config.filters.keywords":{label:`Keywords`,iconKey:`tags`,defaultExpand:!1},"config.filters.competitors":{label:`Competitors`,iconKey:`cometition`,defaultExpand:!1},"config.filters.categories":{label:`Categories`,iconKey:`boxes`,defaultExpand:!1},"config.filters.investors":{label:`Investors`,iconKey:`handshake`,defaultExpand:!1},"config.filters.account_activities":{label:`Account Activities`,iconKey:`activity`,defaultExpand:!1},"config.filters.financials":{label:`Financials`,iconKey:`chart`,defaultExpand:!1},"config.filters.languages":{label:`Languages`,iconKey:`language`,defaultExpand:!1},"config.filters.company_size":{label:`Company size`,iconKey:`office`,defaultExpand:!1},"config.filters.linkedin":{label:`LinkedIn`,iconKey:`linkedin`,defaultExpand:!1},"config.filters.skills":{label:`Skills`,iconKey:`brain`,defaultExpand:!1},"config.filters.activities":{label:`Activities`,iconKey:`bolt`,defaultExpand:!1},"config.filters.certifications_honors":{label:`Certifications & honors`,iconKey:`award`,defaultExpand:!1},"config.filters.profile":{label:`Profile`,iconKey:`contact`,defaultExpand:!1},"config.filters.experience":{label:`Employment history`,iconKey:`history`,defaultExpand:!1,order:3},"config.filters.current_employer":{label:`Current employment`,iconKey:`briefcase`,defaultExpand:!1,order:2},"config.filters.current_company":{label:`Current Company`,iconKey:`office`,defaultExpand:!1},"config.filters.industry":{label:`Industries`,iconKey:`factory`,defaultExpand:!1},"config.filters.general_search":{label:`General search`,iconKey:`search`,defaultExpand:!1},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1}},WH={general:{path:`general`,label:`General`,description:`Search settings and pagination.`,order:1},pagination:{path:`pagination`,label:`General`,order:2},"config.filters":{path:`config.filters`,label:`Filters`,description:`Narrow the search results.`,order:10},pipe_io:{path:``,label:`Output fields`,order:99}};function GH({searchPayload:e,formContext:t,formResolvers:n,customization:r}){return fc({schema:kL(e.search_id),extractFromSchema:n=>{let r=v.get(n);if(t.field_options??={},r)return typeof r==`function`?r({searchPayload:e,searchEntry:PL(e.search_id),userConnections:`connections`in t.field_options?(t.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type`);return{public_id:e.value,provider:t}}):[]}):r},store:t,formResolvers:n,sectionMap:uc(WH,r?.sectionMap),groupMap:uc(UH,r?.groupMap),pathMap:r?.pathMap})}function KH(e){let t=kL(e),n=[];function i(e){let t=v.get(e);if(t&&typeof t!=`function`&&t.type===`context_select_input`&&t.optionsDef&&n.push(t),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&i(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))i(t)}return i(t),n}const qH={"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:1,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1}},JH={general:{path:`general`,label:`General`,description:`How this effect runs.`,order:1},pagination:{path:`pagination`,label:`General`,order:99},"config.filters":{path:`config.filters`,label:`Filters`,order:99},pipe_io:{path:``,label:`Connections`,order:99}};function YH({effectPayload:e,validationContext:t,store:n,formResolvers:r,customization:i}){let a=WV(e.effect_id),o=El(e.effect_id,e.config||{});return fc({schema:a,extractFromSchema:r=>{let i=Os.get(r);if(n.field_options??={},i)return typeof i==`function`?i({validationContext:t,effectPayload:e,userConnections:`connections`in n.field_options?(n.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type`);return{public_id:e.value,provider:t}}):[],effectEntry:UV(e.effect_id),hash:o}):i},store:n,formResolvers:r,sectionMap:uc(JH,i?.sectionMap),groupMap:uc(qH,i?.groupMap),pathMap:i?.pathMap})}function XH(e){let t=WV(e),n=[];function i(e){let t=Os.get(e);if(t&&typeof t!=`function`&&t.type===`context_select_input`&&t.optionsDef&&n.push(t),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&i(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))i(t)}return i(t),n}const ZH=new Proxy({},{get:(e,t)=>e=>e.type===t}),QH=`school.user.location.language.brain.book.web.plug.money.office.job.search.output.input.mix.bill.linkedin.text.workflow.letter.source.activity.boxes.cometition.bolt.star.scholar.briefcase.history.sparkles.list.sliders.factory.award.tags.handshake.contact.mail.calendar.chart.code.braces.filter`.split(`.`),$H=r.enum(QH),eU=r.object({provider_logo:r.object({provider:oa}).optional(),emoji:r.object({char:r.string()}).optional(),icon:r.object({key:$H}).optional(),logo_url:r.object({url:r.string(),alt:r.string().optional()}).optional(),pricing:r.object({credits:r.number()}).optional(),token_pricing:r.object({inputPerBlock:r.number(),outputPerBlock:r.number(),blockSize:r.number()}).optional(),field_type:r.object({type:r.string(),format:r.string().optional()}).optional()}),tU=`providers_input.fields_select_input.json_extraction_input.pipes_run_if_input.connector_input.include_exclude_input.include_exclude_select_input.exact_range_input.range_input.date_range_input.boolean_input.nullable_boolean_input.text_input.template_input.output_field_input.textarea_input.prompt_input.select_input.context_select_input.multi_select_input.min_max_int_input.async_multi_select_input.async_include_exclude_select_input.multi_create_input.property_list_input.ordered_multi_create_input.tagged_ordered_multi_create_input.int_input.number_input.json_schema_input`.split(`.`);r.enum(tU);const nU=r.object({value:r.string(),label:r.string(),widgets:eU.optional(),data:r.record(r.string(),r.string()).optional()}),rU=r.object({field_options:r.record(r.string(),r.object({options:r.array(nU)}))}),iU=[{id:`people_data`,label:`People`,color:`#8B7DFF`,order:0},{id:`find_people`,label:`Find People`,color:`#A78BFA`,order:1},{id:`company_data`,label:`Company`,color:`#10B981`,order:2},{id:`find_comapnies`,label:`Find Companies`,color:`#34D399`,order:3},{id:`tools`,label:`Tools`,color:`#EAB308`,order:4},{id:`integrations`,label:`Integrations`,color:`#06B6D4`,order:5},{id:`actions`,label:`Actions`,color:`#F97316`,order:6},{id:`deprecated`,label:`Deprecated`,color:`#94A3B8`,order:7}],aU=new Map(iU.map(e=>[e.id,e]));function oU(e){return aU.get(e)}function sU(){return iU}const cU={"company:funding:leadmagic@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:leadmagic@1`}],input:[{id:`1`,company_website_url:`https://pipe0.com`}]}],"company:funding:leadmagic@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:leadmagic@2`}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"company:funding:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:waterfall@1`}],input:[{id:`1`,company_domain:`retool.com`}]}],"company:identity@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@1`}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:identity@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@2`,config:{}}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:identity@3":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@3`,config:{}}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:overview@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@1`}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"people:phone:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:phone:workemail:waterfall@1`}],input:[{id:`1`,work_email:`jane@pipe0.com`}]}],"person:mobile:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:mobile:workemail:waterfall@1`}],input:[{id:`1`,work_email:`jane@pipe0.com`}]}],"people:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:workemail:waterfall@1`}],input:[{id:`1`,name:`John Doe`,company_website_url:`https://pipe0.com`}]}],"person:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:workemail:waterfall@1`}],input:[{id:`1`,name:`John Doe`,company_domain:`pipe0.com`}]}],"company:techstack:builtwith@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:techstack:builtwith@1`}],input:[{id:`1`,company_website_url:`https://pipe0.com`}]}],"company:techstack:builtwith@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:techstack:builtwith@2`}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"agent:run@1":[{config:{environment:`production`},pipes:[{pipe_id:`agent:run@1`,config:{agent_type:`web_researcher`,model:`openai-high`,prompt:{template:`
76
+ }`,inputType:`text`,maxLength:1e6,expectedTagType:`string`,expectedTagFormat:`text`,multiline:!0}).nullable(),headers:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.headers`,label:`Headers`,info:"In the value column, type `/` to insert a field or secret reference (e.g. `Bearer {{ secret … }}`).",keyLabel:`Header`,valueLabel:`Value`,keyPlaceholder:`Authorization`,valuePlaceholder:`Bearer {{ secret … }}`,maxKeys:50}),expected_response_schema:tl({sectionKey:`general`,groupPath:`config.advanced`,path:`config.expected_response_schema`,label:`Expected response shape`,description:`Optional JSON Schema. Successful responses that don't satisfy it are marked failed. Extra properties are always tolerated (whitelist).`,allowEmpty:!0}).optional(),output_fields:F(r.object({[ES.name]:O({fieldName:ES.name}),[DS.name]:O({fieldName:DS.name}),[OS.name]:O({fieldName:OS.name})}))})}),AS={"http-request-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.001},mode:`always`}},jS=class extends B{pipeId=TS;payload;payloadSchema=kS;billableOperations=AS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`http-request-v1-pipe0`)}getTemplatedFields(){return[this.payload.config.url,this.payload.config.body,...Object.values(this.payload.config.query_params??{}),...Object.values(this.payload.config.headers??{})]}getInputRequirement(){return lu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[ES.name]:this.catalogOutput(ES),[DS.name]:this.catalogOutput(DS),[OS.name]:this.catalogOutput(OS)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},MS=kS,NS={pipeId:TS,basePipe:W(TS),label:`HTTP request`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Make a generic GET/POST/PUT/PATCH/DELETE HTTP request and capture the JSON response. Optionally validate the response against a JSON schema.`,tags:[U.LOGIC,U.JSON,U.NEW],keywords:[`api`,`rest`,`webhook`,`fetch`,`get`,`post`,`endpoint`,`curl`],docPath:G(TS),billableOperations:AS,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:TS,run_if:null,connector:null,config:{method:`GET`,url:``,query_params:{},body:``,headers:{},expected_response_schema:{},output_fields:{http_response_status:{alias:``,enabled:!0},http_response_body:{alias:``,enabled:!0},http_response_headers:{alias:``,enabled:!1}}}}},PS=`json:extract:multi@1`,FS=r.object({pipe_id:r.literal(PS),run_if:b(),connector:wc(),config:r.object({json_extraction:Ks()})}),IS={"json-extract-multi-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},LS=class extends B{pipeId=PS;payload;payloadSchema=FS;billableOperations=IS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`json-extract-multi-v1-pipe0`)}getInputRequirement(){return z({description:``,name:this.payload.config.json_extraction.field_name,format:null,label:``,type:`json`,resolvedName:this.payload.config.json_extraction.field_name})}getRawOutputFields(){let e={};for(let t of this.payload.config.json_extraction.extractions)e[t.output_field.name||t.output_field.name]={description:`Extracted value from JSON input field ${this.payload.config.json_extraction.field_name}.`,enabled:!0,format:t.output_field.format||null,label:t.output_field.label||`Extract JSON`,name:t.output_field.name,resolvedName:t.output_field.name,jsonMeta:null,type:t.output_field.type,isCatalogFIeld:!1,isPrimaryOutput:!1};return e}getConnectionsRequirements(){return[]}},RS=FS,zS={pipeId:PS,basePipe:W(PS),inputFieldMode:`config`,outputFieldMode:`config`,label:`JSON extract`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Extract nested JSON properties into new output fields.`,guide:'Deterministic JSON extraction — PREFER this over prompt:run@1 whenever you need a value out of a JSON / known-schema column (no LLM, reproducible, schedulable). config.json_extraction.field_name is the source json column; each extraction has a JSONata `path` plus an output_field. Read the source column\'s JSON schema (get_pipe_schema / get_search_schema output fields, or get_sheet_schema) to author the path. Examples over a profile\'s employment_history array: `employment_history[is_current_employer=true][]` (array of current jobs → output_field.type "json"); `employment_history[is_primary_current_employer=true].company_domain` (scalar → output_field.type "string"). Set output_field.type to "json" for an object/array result, "string" for a scalar. CRITICAL for a list you will fan out (e.g. into row:expandappend:sheet@1): a JSONata filter returns the matched ELEMENT when exactly one row matches but an ARRAY when several do — so ALWAYS append the array constructor `[]` to force a consistent array in every row (`employment_history[is_current_employer=true][]`, not `...=true]`). Without it the column is an object in single-match rows and an array in others, and the downstream expand rejects the object rows. To confirm a NEW path resolves the shape you expect before running anything downstream, switch the sheet to SANDBOX (env:change@1) and run just this extraction — it runs for REAL in sandbox (no writes, no spend), so you can read the actual result, fix the path, then switch back to production.',docPath:G(PS),tags:[U.JSON],keywords:[`parse`,`pick`,`path`,`nested`,`property`,`jsonata`,`unpack`],managedProviders:[`pipe0`],deprecatedProviders:[],allowedUserConnectionProviders:[],billableOperations:IS,defaultInputRequirement:null,defaultPayload:{pipe_id:PS,run_if:null,connector:null,config:{json_extraction:{field_name:``,extractions:[]}}}},BS=`lead:enroll:amplemarket@1`,VS={"lead-enroll-amplemarket-v1-amplemarket":{allowManagedConnection:!1,provider:`amplemarket`,credits:null,mode:null}},HS=h(`email`),US=h(`profile_url`),WS=h(`amplemarket_sequence_id`),GS=new Set([`active`,`paused`]),KS=[{label:`Demo · Q3 Outbound`,value:`seq_sandbox_1`},{label:`Demo · Founder Intros`,value:`seq_sandbox_2`}],qS=r.object({pipe_id:r.literal(BS),connector:S(),run_if:b(),config:r.object({sequence_id:nl({sectionKey:`general`,required:!0,label:`Sequence`,groupPath:`config.general`,path:`config.sequence_id`,info:`The Amplemarket sequence to enroll the lead into (must be active or paused).`,enabledIf:g(`amplemarket`),optionsDef:{requires:{connection:`amplemarket`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return KS;if(!t)throw new X.MissingSecretError({providerName:`amplemarket`});let r=[],i=`https://api.amplemarket.com/sequences?page[size]=100`;for(let e=0;e<10&&i;e++){let e=await fetch(i,{headers:{Authorization:`Bearer ${t}`}});if(!e.ok){let t=await e.text();throw new X.HttpError({msg:t})}let n=await e.json();for(let e of n.sequences??[])GS.has(e.status)&&r.push({label:e.name,value:e.id});let a=n._links?.next?.href;i=a?new URL(a,`https://api.amplemarket.com`).toString():null}return e?r.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):r},widgets:{provider_logo:{provider:`amplemarket`}}}}),input_fields:I(r.object({[HS.name]:T({fieldName:HS.name}),[US.name]:T({fieldName:US.name})})),custom_variables:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.custom_variables`,label:`Custom variables`,info:"Amplemarket dynamic fields, sent as the lead's data. The Variable name must match what your sequence references (e.g. `{{ pain_point }}`) — lowercase letters, digits, and underscores only. In the Value column, type `/` to insert a field or secret; leave a Value empty to skip that row. Amplemarket rejects the enrollment if the sequence references a dynamic field that is missing.",keyLabel:`Variable`,valueLabel:`Value`,keyPlaceholder:`pain_point`,valuePlaceholder:`{{ pain_point }}`,maxKeys:50}).default({}),output_fields:F(r.object({[WS.name]:O({fieldName:WS.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.custom_variables??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`custom_variables`,n]});if(t.includes(`{{`)){r("Variable name must be a literal (no `{{ }}` templating).");continue}if(!/^[a-z][a-z0-9_]*$/.test(t)){r(`Invalid Amplemarket dynamic-field name "${t}" — use lowercase letters, digits, and underscores, starting with a letter.`);continue}t.length>255&&r(`Dynamic-field name "${t.slice(0,32)}…" exceeds 255 characters.`)}})}),JS=e=>Xl(z(K(HS,e)),z(K(US,e))),YS=e=>{let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Zl({name:e,resolvedName:e,label:e,description:``,type:t=>cu(t,e)?.type||`string`,format:`text`}))},XS=class extends B{pipeId=BS;payload;payloadSchema=qS;billableOperations=VS;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(e){return q(e,`lead-enroll-amplemarket-v1-amplemarket`)}getCustomVariableValueTemplates(){return Object.values(this.payload.config.custom_variables??{})}getInputRequirement(){return Yl(JS(this.payload.config),...YS(this.getCustomVariableValueTemplates()))}getSecretRequirements(){return H(this.getCustomVariableValueTemplates())}getConstantRequirements(){return uu(this.getCustomVariableValueTemplates())}getRawOutputFields(){return{[WS.name]:this.catalogOutput(WS)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_account_operation`,allowManagedConnection:!1}]}},ZS=qS,QS={pipeId:BS,basePipe:W(BS),label:`Enroll Lead in Sequence`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Add a lead to an Amplemarket sequence, with custom dynamic fields.`,tags:[U.EMAIL],keywords:[`campaign`,`outreach`,`add`,`subscribe`,`outbound`,`email marketing`],docPath:G(BS),billableOperations:VS,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`amplemarket`],defaultInputRequirement:JS(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:BS,connector:{strategy:`first`,connections:[]},run_if:null,config:{sequence_id:``,input_fields:{email:{alias:``},profile_url:{alias:``}},custom_variables:{},output_fields:{amplemarket_sequence_id:{alias:``,enabled:!0}}}}},$S=`lead:enroll:lemlist@1`,eC={"lead-enroll-lemlist-v1-lemlist":{allowManagedConnection:!1,provider:`lemlist`,credits:null,mode:null}},tC=h(`email`),nC=h(`name`),rC=h(`first_name`),iC=h(`last_name`),aC=h(`company_name`),oC=h(`job_title`),sC=h(`profile_url`),cC=h(`phone`),lC=h(`lemlist_lead_id`),uC=h(`lemlist_enrollment_result`),dC=new Set([`email`,`firstName`,`lastName`,`name`,`companyName`,`jobTitle`,`linkedinUrl`,`phone`,`companyDomain`,`icebreaker`,`picture`]),fC=[{label:`Demo · Q3 Outbound`,value:`cam_sandbox_1`},{label:`Demo · Founder Intros`,value:`cam_sandbox_2`}],pC={requires:{connection:`lemlist`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return fC;if(!t)throw new X.MissingSecretError({providerName:`lemlist`});let r=await fetch(`https://api.lemlist.com/api/campaigns?limit=100`,{headers:{Authorization:`Basic ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=await r.json(),a=(Array.isArray(i)?i:i.campaigns??[]).map(e=>({label:e.name,value:e._id}));return e?a.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):a},widgets:{provider_logo:{provider:`lemlist`}}};function mC(e){let t=new Set,n=new Set;try{let r=Fo(e);for(let[e,i]of Object.entries(r.inputs))(i.required?t:n).add(e)}catch{for(let n of e.matchAll(/\{\{\s*([A-Za-z_][A-Za-z0-9_]*)/g))t.add(n[1])}return{required:[...t],optional:[...n]}}const hC=r.object({pipe_id:r.literal($S),connector:S(),run_if:b(),config:r.object({campaign_id:nl({sectionKey:`general`,required:!0,label:`Campaign`,groupPath:`config.general`,path:`config.campaign_id`,info:`The lemlist campaign to enroll the lead into.`,enabledIf:g(`lemlist`),optionsDef:pC}),input_fields:I(r.object({[tC.name]:T({fieldName:tC.name}),[nC.name]:T({fieldName:nC.name}),[rC.name]:T({fieldName:rC.name}),[iC.name]:T({fieldName:iC.name}),[aC.name]:T({fieldName:aC.name}),[oC.name]:T({fieldName:oC.name}),[sC.name]:T({fieldName:sC.name}),[cC.name]:T({fieldName:cC.name})})),custom_variables:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.custom_variables`,label:`Custom variables`,info:"lemlist custom variables, set on the lead after enrollment. The Variable name must match what your sequence references (e.g. `{{ painPoint }}`) — case-sensitive, no spaces. In the Value column, type `/` to insert a field or secret; leave a Value empty to skip that row. Standard fields (company, job title, LinkedIn, phone) are set via the fields above, not here.",keyLabel:`Variable`,valueLabel:`Value`,keyPlaceholder:`painPoint`,valuePlaceholder:`{{ pain_point }}`,maxKeys:50}),output_fields:F(r.object({[lC.name]:O({fieldName:lC.name}),[uC.name]:O({fieldName:uC.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.custom_variables??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`custom_variables`,n]});if(t.includes(`{{`)){r("Variable name must be a literal (no `{{ }}` templating).");continue}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)){r(`Invalid lemlist variable name "${t}" — use letters, digits, and underscores; no spaces.`);continue}dC.has(t)&&r(`"${t}" is a standard lemlist field — set it via the dedicated field above, not as a custom variable.`)}})}),gC=e=>Yl(z(K(tC,e)),Xl(z(K(nC,e)),Yl(z(K(rC,e)),z(K(iC,e)))),Zl(K(aC,e)),Zl(K(oC,e)),Zl(K(sC,e)),Zl(K(cC,e))),_C=e=>{let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Zl({name:e,resolvedName:e,label:e,description:``,type:t=>cu(t,e)?.type||`string`,format:`text`}))},vC=class extends B{pipeId=$S;payload;payloadSchema=hC;billableOperations=eC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`lemlist`]}estimateBillableOperations(e){return q(e,`lead-enroll-lemlist-v1-lemlist`)}getCustomVariableValueTemplates(){return Object.values(this.payload.config.custom_variables??{})}getInputRequirement(){return Yl(gC(this.payload.config),..._C(this.getCustomVariableValueTemplates()))}getSecretRequirements(){return H(this.getCustomVariableValueTemplates())}getConstantRequirements(){return uu(this.getCustomVariableValueTemplates())}getRawOutputFields(){return{[lC.name]:this.catalogOutput(lC),[uC.name]:this.catalogOutput(uC)}}getConnectionsRequirements(){return[{provider:`lemlist`,rateLimitRatio:1,rateLimitOperation:`lemlist_create_lead`,allowManagedConnection:!1}]}async getAgentContext({connectionSecrets:e,environment:t}){let n=this.payload.config.campaign_id,r=Array.isArray(n)?n[0]:n;if(!r)return null;if(t===`sandbox`)return{summary:`Sandbox: this sequence references custom variables painPoint and eventLink — set each via config.custom_variables.`,data:{required_custom_variables:[`painPoint`,`eventLink`],used_standard_fields:[`firstName`]}};let i=e.lemlist;if(!i)throw new X.MissingSecretError({providerName:`lemlist`});let a=await fetch(`https://api.lemlist.com/api/campaigns/${encodeURIComponent(r)}/sequences`,{headers:{Authorization:`Basic ${i}`},signal:AbortSignal.timeout(1e4)});if(!a.ok){let e=await a.text();throw new X.HttpError({msg:e})}let o=await a.json(),s=new Set;for(let e of Object.values(o??{}))for(let t of e?.steps??[])for(let e of[t?.subject,t?.message]){if(!e)continue;let{required:t,optional:n}=mC(e);for(let e of[...t,...n])s.add(e)}let c=[...s].filter(e=>dC.has(e)),l=[...s].filter(e=>!dC.has(e));return{summary:l.length===0?`This sequence uses only standard lemlist fields — no custom variables to set.`:`This sequence requires these custom variables — set each via config.custom_variables (the value is a Liquid template over your sheet columns, e.g. {{ pain_point }}): ${l.join(`, `)}. Standard fields (email, firstName, …) are populated by the input fields above, not here.`,data:{required_custom_variables:l,used_standard_fields:c}}}},yC=hC,bC={pipeId:$S,basePipe:W($S),label:`Enroll Lead in Campaign`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Add a lead to a lemlist campaign sequence, with custom variables.`,tags:[U.EMAIL],keywords:[`sequence`,`outreach`,`add`,`subscribe`,`outbound`,`email marketing`],docPath:G($S),billableOperations:eC,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`lemlist`],defaultInputRequirement:gC(null),managedProviders:[],deprecatedProviders:[],defaultPayload:{pipe_id:$S,connector:{strategy:`first`,connections:[]},run_if:null,config:{campaign_id:``,input_fields:{email:{alias:``},name:{alias:``},first_name:{alias:``},last_name:{alias:``},company_name:{alias:``},job_title:{alias:``},profile_url:{alias:``},phone:{alias:``}},custom_variables:{},output_fields:{lemlist_lead_id:{alias:``,enabled:!0},lemlist_enrollment_result:{alias:``,enabled:!1}}}}},xC=`message:send:slack@1`,SC=h(`slack_message_success`),CC=[{label:`#demo-general`,value:`C0SANDBOX001`},{label:`#demo-alerts`,value:`C0SANDBOX002`}],wC=r.object({pipe_id:r.literal(xC),connector:S(),run_if:b(),config:r.object({channel_id:x({sectionKey:`general`,groupPath:`config.general`,path:`config.channel_id`,label:`Channel ID`,info:"Your connection must be authorized to post to this channel. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`C0123456789`,inputType:`text`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:{requires:{connection:`slack`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return CC;if(!t)throw new X.MissingSecretError({providerName:`slack`});let r=await fetch(`https://slack.com/api/conversations.list?limit=200&exclude_archived=true&types=public_channel,private_channel`,{headers:{Authorization:`Bearer ${t}`}});if(!r.ok){let e=await r.text();throw new X.HttpError({msg:e})}let i=await r.json();if(!i.ok)throw new X.HttpError({msg:i.error??`slack_error`});let a=(i.channels??[]).map(e=>({label:`#${e.name}`,value:e.id}));return e?a.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):a},widgets:{provider_logo:{provider:`slack`}}}}),message:x({sectionKey:`general`,groupPath:`config.general`,path:`config.message`,label:`Message`,info:"The message body. Type `@` to insert a field reference or `$` to insert a secret reference.",placeholder:`Hi {{ name }}, …`,inputType:`text`,minLength:1,maxLength:4e4,expectedTagType:`string`,expectedTagFormat:`markdown`,multiline:!0}),output_fields:F(r.object({[SC.name]:O({fieldName:SC.name})}))})}),TC={"message-send-slack-v1-slack":{allowManagedConnection:!1,provider:`slack`,credits:null,mode:null}},EC=class extends B{pipeId=xC;payload;payloadSchema=wC;billableOperations=TC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`slack`]}estimateBillableOperations(e){return q(e,`message-send-slack-v1-slack`)}getTemplatedFields(){return[this.payload.config.channel_id,this.payload.config.message]}getInputRequirement(){return lu(this.getTemplatedFields())}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[SC.name]:this.catalogOutput(SC)}}getConnectionsRequirements(){return[{provider:`slack`,rateLimitRatio:1,rateLimitOperation:`slack_post_message`,allowManagedConnection:!1}]}},DC=wC,OC={pipeId:xC,basePipe:W(xC),label:`Send message into channel`,executionMode:`single`,categories:[`actions`],lifecycle:null,description:`Send a Slack message to a channel.`,guide:"Send a Slack message. The channel ID and message body are templated config fields — reference upstream fields with `{{ field_name }}` and stored secrets with `{{ SECRETS.KEY }}`. Requires a Slack vault connection (call list_connections to find one).",tags:[U.CHAT],keywords:[`notify`,`notification`,`alert`,`post`,`chat`],docPath:G(xC),billableOperations:TC,inputFieldMode:`config`,outputFieldMode:`static`,allowedUserConnectionProviders:[`slack`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:null,defaultPayload:{pipe_id:xC,connector:{strategy:`first`,connections:[]},run_if:null,config:{channel_id:``,message:``,output_fields:{slack_message_success:{alias:``,enabled:!0}}}}},kC=`message:write@1`,AC=h(`message`),jC=`message-write-v1`,MC=ks(jC),NC=r.object({pipe_id:r.literal(kC),connector:C(),run_if:b(),config:r.object({template:Sc({sectionKey:`general`,label:`Template`,path:`config.template`,placeholder:V(`prompt`),groupPath:`config.prompt`,required:!0}),model:Zc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:MC}),output_fields:F(r.object({[AC.name]:O({fieldName:AC.name})}))})}),PC=class extends B{pipeId=kC;payload;payloadSchema=NC;billableOperations=MC;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return Ss(this.payload.config.model)}estimateBillableOperations(e){return js(e,{model:this.payload.config.model,prefix:jC,inputTokens:600,outputTokens:800})}getInputRequirement(){return lu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return uu([this.payload.config.template])}getRawOutputFields(){return{[AC.name]:this.catalogOutput(AC)}}getConnectionsRequirements(){return Cs(this.payload.config.model)}},FC=NC,IC={pipeId:kC,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(kC),label:`Message writer`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`An AI agent specialized in composing messages for modern workplace communication platforms (Slack, Teams, Discord, etc.)`,guide:`AI message composer for Slack/Teams/Discord. Outputs: message. Pair with message:send:slack@1 to send.`,tags:[U.AI],keywords:[`ai`,`compose`,`draft`,`copywriting`,`outreach`,`slack`,`teams`],docPath:G(kC),defaultInputRequirement:null,billableOperations:MC,allowedUserConnectionProviders:ws(),managedProviders:ws(),deprecatedProviders:[],defaultPayload:{pipe_id:kC,connector:null,run_if:null,config:{model:`openai-high`,template:``,output_fields:{message:{alias:``,enabled:!0}}}}},LC=`v67.0`;function RC(e){try{let t=JSON.parse(e);if(t.access_token&&t.instance_url)return{access_token:t.access_token,instance_url:t.instance_url}}catch{}throw new X.HttpError({msg:`Salesforce credential is not a valid token bundle — reconnect Salesforce through the OAuth flow.`})}async function zC(e,t){let{access_token:n,instance_url:r}=RC(e),i=await fetch(`${r.replace(/\/$/,``)}${t}`,{headers:{Authorization:`Bearer ${n}`},signal:AbortSignal.timeout(1e4)});if(!i.ok)throw new X.HttpError({msg:await i.text()});return await i.json()}async function BC(e,t){return(await zC(e,`/services/data/${LC}/query?q=${encodeURIComponent(t)}`)).records??[]}function VC(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(n))}const HC=e=>({requires:{connection:`salesforce`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return VC([{label:`Contact`,value:`Contact`},{label:`Account`,value:`Account`},{label:`Lead`,value:`Lead`},{label:`Opportunity`,value:`Opportunity`},{label:`Demo Object (custom)`,value:`Demo_Object__c`}],t);if(!n)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await zC(n,`/services/data/${LC}/sobjects/`)).sobjects.filter(t=>t.queryable&&(!e?.updateableOnly||t.updateable)).map(e=>({label:e.custom?`${e.label} (custom)`:e.label,value:e.name})),t)},widgets:{provider_logo:{provider:`salesforce`}}}),UC={requires:{connection:`salesforce`,fields:[`config.object`]},options:async({query:e,secret:t,payload:n,environment:r})=>{if(r===`sandbox`)return[{label:`External Id (External_Id__c)`,value:`External_Id__c`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});let i=n?.config,a=ZC(i?.object);return a?VC((await zC(t,`/services/data/${LC}/sobjects/${encodeURIComponent(a)}/describe`)).fields.filter(e=>e.externalId).map(e=>({label:`${e.label} (${e.name})`,value:e.name})),e):[]},widgets:{provider_logo:{provider:`salesforce`}}},WC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Prospecting`,value:`Prospecting`},{label:`Demo · Negotiation`,value:`Negotiation`},{label:`Demo · Closed Won ✓ won`,value:`Closed Won`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await BC(t,`SELECT ApiName, MasterLabel, IsClosed, IsWon FROM OpportunityStage ORDER BY SortOrder ASC`)).map(e=>({label:`${e.MasterLabel}${e.IsWon?` ✓ won`:e.IsClosed?` ✕ closed`:``}`,value:e.ApiName})),e)},widgets:{provider_logo:{provider:`salesforce`}}},GC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Ada Lovelace (ada@example.com)`,value:`005000000000001AAA`},{label:`Demo · Alan Turing (alan@example.com)`,value:`005000000000002AAA`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await BC(t,`SELECT Id, Name, Email FROM User WHERE IsActive = true ORDER BY Name ASC LIMIT 500`)).map(e=>({label:`${e.Name} (${e.Email})`,value:e.Id})),e)},widgets:{provider_logo:{provider:`salesforce`}}},KC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Open - Not Contacted`,value:`Open - Not Contacted`},{label:`Demo · Working - Contacted`,value:`Working - Contacted`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await BC(t,`SELECT ApiName, MasterLabel FROM LeadStatus ORDER BY SortOrder ASC`)).map(e=>({label:e.MasterLabel,value:e.ApiName})),e)},widgets:{provider_logo:{provider:`salesforce`}}},qC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Demo · Not Started`,value:`Not Started`},{label:`Demo · In Progress`,value:`In Progress`},{label:`Demo · Completed ✓`,value:`Completed`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await BC(t,`SELECT ApiName, MasterLabel, IsClosed FROM TaskStatus ORDER BY SortOrder ASC`)).map(e=>({label:`${e.MasterLabel}${e.IsClosed?` ✓ closed`:``}`,value:e.ApiName})),e)},widgets:{provider_logo:{provider:`salesforce`}}},JC={requires:{connection:`salesforce`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return[{label:`Outreach Key (Outreach_Key__c)`,value:`Outreach_Key__c`}];if(!t)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await zC(t,`/services/data/${LC}/sobjects/Task/describe`)).fields.filter(e=>e.externalId).map(e=>({label:`${e.label} (${e.name})`,value:e.name})),e)},widgets:{provider_logo:{provider:`salesforce`}}},YC=(e,t)=>({requires:{connection:`salesforce`},options:async({query:n,secret:r,environment:i})=>{if(i===`sandbox`)return[{label:`Demo · Technology`,value:`Technology`},{label:`Demo · Finance`,value:`Finance`}];if(!r)throw new X.MissingSecretError({providerName:`salesforce`});return VC(((await zC(r,`/services/data/${LC}/sobjects/${encodeURIComponent(e)}/describe`)).fields.find(e=>e.name===t)?.picklistValues??[]).filter(e=>e.active).map(e=>({label:e.label,value:e.value})),n)},widgets:{provider_logo:{provider:`salesforce`}}}),XC=e=>({requires:{connection:`salesforce`},options:async({query:t,secret:n,environment:r})=>{if(r===`sandbox`)return[{label:`Demo · All Records`,value:`00B000000000001AAA`},{label:`Demo · My Records`,value:`00B000000000002AAA`}];if(!n)throw new X.MissingSecretError({providerName:`salesforce`});return VC((await zC(n,`/services/data/${LC}/sobjects/${encodeURIComponent(e)}/listviews`)).listviews.map(e=>({label:e.soqlCompatible?e.label:`${e.label} (not SOQL-compatible)`,value:e.id})),t)},widgets:{provider_logo:{provider:`salesforce`}}});function ZC(e){return Array.isArray(e)?e[0]??``:e??``}const QC=e=>{let t=new Set;for(let n of e)if(n)try{let e=Fo(n);for(let n of Object.keys(e.inputs))t.add(n)}catch{}return[...t].map(e=>Zl({name:e,resolvedName:e,label:e,description:``,type:t=>cu(t,e)?.type||`string`,format:`text`}))};async function $C(e,{objects:t,includeStages:n=!1,includeListViewsFor:r=[],includeOwners:i=!1,includeTaskMeta:a=!1,writableOnly:o=!1}){if(e.environment===`sandbox`)return{summary:[`Sandbox Salesforce org (demo data — field names below are examples, real orgs differ):`,`- Contact: FirstName, LastName, Email, Title, AccountId, OwnerId, Lead_Score__c (custom)`,`- Lead: FirstName, LastName, Email, Company, Status (options: Open - Not Contacted, Working - Contacted), IsConverted`,`- Account: Name, Website, Industry (picklist), NumberOfEmployees, AnnualRevenue`,`- Opportunity: Name, StageName (stages: Prospecting, Negotiation, Closed Won), Amount, CloseDate, IsClosed, IsWon`,"Use field API names verbatim (`__c` suffix = custom). Call this tool against a production connection for the org's real shape."].join(`
77
+ `)};let s=e.connectionSecrets.salesforce;if(!s)return null;let c={},l=[];try{let[e]=await BC(s,`SELECT IsSandbox, OrganizationType FROM Organization`),t=null,n=!1;try{let e=await BC(s,`SELECT IsoCode FROM CurrencyType WHERE IsCorporate = true`);n=!0,t=e[0]?.IsoCode??null}catch{n=!1}c.org={is_sandbox:e?.IsSandbox??null,edition:e?.OrganizationType??null,multi_currency:n,corporate_currency_iso:t},l.push(`Org: ${e?.OrganizationType??`unknown edition`}${e?.IsSandbox?` (SANDBOX — tokens die on refresh, emails end in .invalid)`:``}${n?`; multi-currency (corporate ${t}) — prefix amount literals like ${t}5000`:``}.`)}catch{}for(let e of t){let t=await zC(s,`/services/data/${LC}/sobjects/${encodeURIComponent(e)}/describe`),n=t.fields.filter(e=>!o||e.updateable&&!e.calculated).map(e=>({name:e.name,label:e.label,type:e.type,updateable:e.updateable,createable:e.createable,external_id:e.externalId||void 0,read_only:e.calculated||!e.updateable?!0:void 0,restricted_picklist:e.restrictedPicklist||void 0,reference_to:e.referenceTo?.length?e.referenceTo:void 0,relationship_name:e.relationshipName??void 0,picklist_values:e.picklistValues?.length?e.picklistValues.filter(e=>e.active).slice(0,25).map(e=>e.value):void 0}));c[e]=n,e===`Account`&&t.fields.some(e=>e.name===`IsPersonAccount`)&&(c.has_person_accounts=!0,l.push(`Person Accounts are ENABLED: B2C people live as Accounts (PersonEmail); Account.Name is read-only on them.`));let r=n.filter(e=>e.restricted_picklist).map(e=>e.name);l.push(`${e}: ${n.length} fields${o?` (writable only)`:``}. Restricted picklists (values validated): ${r.join(`, `)||`none`}.`)}if(n)try{let e=await BC(s,`SELECT ApiName, MasterLabel, IsClosed, IsWon, SortOrder FROM OpportunityStage ORDER BY SortOrder ASC`);c.opportunity_stages=e,l.push(`Opportunity stages (use ApiName verbatim; never assume "Closed Won" exists): ${e.map(e=>`${e.ApiName}${e.IsWon?`(won)`:e.IsClosed?`(closed)`:``}`).join(`, `)}.`)}catch{}for(let e of r)try{let t=await zC(s,`/services/data/${LC}/sobjects/${encodeURIComponent(e)}/listviews`);c[`${e}_list_views`]=t.listviews.slice(0,25)}catch{}if(i)try{c.active_owners_sample=await BC(s,`SELECT Id, Name, Email FROM User WHERE IsActive = true ORDER BY Name ASC LIMIT 25`)}catch{}if(a)try{let e=await BC(s,`SELECT ApiName, MasterLabel, IsClosed FROM TaskStatus ORDER BY SortOrder ASC`);c.task_statuses=e,l.push(`Task statuses (write the ApiName verbatim; labels localize): ${e.map(e=>`${e.ApiName}${e.IsClosed?`(closed)`:``}`).join(`, `)}.`,"Logging a call = a Task with subtype `call`; an email = subtype `email`. WhoId takes a Contact or Lead; WhatId takes an Account, Opportunity, or custom object. Reruns WITHOUT an idempotency key create duplicate tasks — set an external-id field + value to make logging rerun-safe.")}catch{}return l.push("Use field API names verbatim (`__c` = custom, `ns__Field__c` = managed package).",`Converted leads are read-only; duplicate rules may block writes (the error lists matching records).`,`Fields absent here may still exist but be hidden from the connected user by field-level security — and 'no match' can mean 'no record access' under private sharing.`),{summary:l.join(`
78
+ `),data:c}}const ew=h(`salesforce_record_id`),tw=h(`salesforce_activities_found_count`),nw=h(`salesforce_last_activity_date`),rw=h(`salesforce_activities`),iw=`activities:find:salesforce@1`,aw=r.object({pipe_id:r.literal(iw),run_if:b(),connector:S(),config:r.object({type:Xc({sectionKey:`general`,label:`Activity type`,groupPath:`config.general`,path:`config.type`,defaultValue:`all`,required:!0,options:[{value:`all`,label:`Tasks & events`},{value:`tasks`,label:`Tasks only`},{value:`events`,label:`Events only`}]}),status:Xc({sectionKey:`general`,label:`Status`,groupPath:`config.general`,path:`config.status`,defaultValue:`all`,required:!0,options:[{value:`all`,label:`Any`},{value:`open`,label:`Open`},{value:`completed`,label:`Completed`}]}),within:Xc({sectionKey:`general`,label:`Within`,groupPath:`config.general`,path:`config.within`,defaultValue:`any`,required:!0,options:[{value:`any`,label:`Any time`},{value:`7d`,label:`Last 7 days`},{value:`30d`,label:`Last 30 days`},{value:`90d`,label:`Last 90 days`}]}),custom_properties:zc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`CallDurationInSeconds`,info:"Task/Event field API names added to each activity JSON under `custom_properties` (standard timeline keys are already top-level)."}),limit:$c({sectionKey:`general`,label:`Limit`,groupPath:`config.general`,path:`config.limit`,info:`Maximum activities returned in the list output. The found count is always the true total before this cap.`,min:1,max:50}).default(10),input_fields:I(r.object({[ew.name]:T({fieldName:ew.name})})),output_fields:F(r.object({[tw.name]:O({fieldName:tw.name}),[nw.name]:O({fieldName:nw.name}),[rw.name]:O({fieldName:rw.name})}))})}),ow=e=>z(K(ew,e)),sw={"activities-find-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},cw=class extends B{pipeId=iw;payload;payloadSchema=aw;billableOperations=sw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`activities-find-salesforce-v1-salesforce`)}getInputRequirement(){return ow(this.payload.config)}getRawOutputFields(){return{[tw.name]:this.catalogOutput(tw),[nw.name]:this.catalogOutput(nw),[rw.name]:this.catalogOutput(rw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Task`,`Event`],includeTaskMeta:!0})}},lw=aw,uw={pipeId:iw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(iw),label:`Salesforce activities`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Read a Salesforce record's activity timeline — tasks and events (calls, emails, meetings) associated with a contact, lead, account, or opportunity. Returns the true activity count, the last-activity date, and the timeline items. An empty timeline completes with count = 0.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`task`,`event`,`call`,`timeline`,`activity`,`history`],docPath:G(iw),guide:"The record-ID input consumes `salesforce_record_id`, which every Salesforce surface emits — chain from a match pipe or search (alias it to point at a differently named column). The ID's prefix picks the anchor automatically: Contact/Lead → WhoId, everything else → WhatId. Tasks and events are queried directly (not via ActivityHistories) so status/type/recency filter server-side. `salesforce_last_activity_date` is the staleness gate — run_if on it (e.g. only act when it's older than 90 days). For an org-wide activity report use query:salesforce@1 with raw SOQL over Task/Event instead. count = 0 is a successful result.",billableOperations:sw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:ow(null),defaultPayload:{pipe_id:iw,connector:{strategy:`first`,connections:[]},run_if:null,config:{type:`all`,status:`all`,within:`any`,custom_properties:[],limit:10,input_fields:{salesforce_record_id:{alias:``}},output_fields:{salesforce_activities_found_count:{alias:``,enabled:!0},salesforce_last_activity_date:{alias:``,enabled:!0},salesforce_activities:{alias:``,enabled:!0}}}}},dw=h(`hubspot_object_id`),fw=h(`hubspot_activity_result`),pw=`activity:log:hubspot@1`,mw=(e,t)=>{let n=e.value;for(let r of Object.keys(n[t]??{})){let n=r.trim();if(!n)continue;let i=n=>e.issues.push({code:`custom`,input:r,message:n,path:[t,r]});if(n.includes(`{{`)){i("Property name must be a literal internal name (no `{{ }}` templating).");continue}/^[a-z][a-z0-9_]*$/.test(n)||i(`Invalid HubSpot property name "${n}" — internal names are lowercase letters, digits, and underscores.`)}},hw=r.object({pipe_id:r.literal(pw),run_if:b(),connector:S(),config:r.object({type:Xc({sectionKey:`general`,label:`Activity type`,groupPath:`config.general`,path:`config.type`,defaultValue:`note`,required:!0,options:[{value:`note`,label:`Note`},{value:`task`,label:`Task`},{value:`call`,label:`Call`},{value:`email`,label:`Email`},{value:`meeting`,label:`Meeting`}]}),subject:x({sectionKey:`general`,label:`Subject / title`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.subject`,placeholder:`Follow up with {{ first_name }}`,info:`The engagement's title (task subject, call/meeting/email title). Ignored for notes.`}),body:Yc({sectionKey:`general`,label:`Body`,groupPath:`config.general`,path:`config.body`,rows:3,placeholder:`Enriched via pipe0.`,info:"The engagement's body / note text. Type `/` to insert a field reference."}),timestamp:x({sectionKey:`general`,label:`Timestamp`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.timestamp`,placeholder:`2026-07-08T09:00:00Z`,info:`Optional ISO timestamp or epoch ms (HubSpot requires one on every engagement). Empty = now.`}),record_object_type:nl({sectionKey:`general`,required:!0,label:`Record object type`,groupPath:`config.general`,path:`config.record_object_type`,info:`The type of the record being associated (contacts, companies, deals, or a custom object).`,enabledIf:g(`hubspot`),optionsDef:Vf}),owner:nl({sectionKey:`general`,required:!1,label:`Owner`,groupPath:`config.general`,path:`config.owner`,info:`The HubSpot owner to assign the engagement to (hubspot_owner_id). Empty = unassigned.`,enabledIf:g(`hubspot`),optionsDef:Uf}),values:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Additional properties`,info:"Extra engagement properties → values by internal name (e.g. `hs_task_status`, `hs_task_priority`, `hs_call_direction`). Type `/` in the Value column to insert a field reference. Blank values are skipped.",keyLabel:`Property name`,valueLabel:`Value`,keyPlaceholder:`hs_task_status`,valuePlaceholder:`NOT_STARTED`,maxKeys:50}),input_fields:I(r.object({[dw.name]:T({fieldName:dw.name})})),output_fields:F(r.object({[fw.name]:O({fieldName:fw.name})}))}).check(e=>mw(e,`values`))}),gw=e=>z(K(dw,e)),_w={"activity-log-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},vw=class extends B{pipeId=pw;payload;payloadSchema=hw;billableOperations=_w;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`activity-log-hubspot-v1-hubspot`)}getTemplates(){return[this.payload.config.subject,this.payload.config.body,this.payload.config.timestamp,...Object.values(this.payload.config.values??{})].filter(e=>!!e)}getInputRequirement(){return Yl(gw(this.payload.config),...Lf(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[fw.name]:this.catalogOutput(fw)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_generic`,allowManagedConnection:!1}]}async getAgentContext(e){let t=this.payload.config.type,n=If[t]??`0-46`;return Kf(e,{objectTypes:[[`${t} engagement`,n]],writableOnly:!0})}},yw=hw,bw={pipeId:pw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(pw),label:`HubSpot log activity`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Log an activity in HubSpot — a note, task, call, email, or meeting engagement — and associate it with a contact, company, deal, or custom object so it shows on the record's timeline.`,tags:[U.FIELDS],keywords:[`crm`,`note`,`task`,`call`,`email`,`engagement`,`meeting`,`timeline`],docPath:G(pw),guide:"Engagements are HubSpot's activity objects; this creates one and associates it (default association) to the record so it renders on the timeline. The record input consumes `hubspot_object_id`, which every HubSpot surface emits — chain from a match pipe or search; the record object type must match the record the ID belongs to. Subject maps per type (task subject, call/meeting/email title; ignored for notes); body maps to the type's body property. Put type-specific extras (e.g. `hs_task_status`, `hs_call_direction`) in Additional properties by internal name. To leave a CRM trace after sending, chain this after `email:send:*` with a run_if on the send-success output. HubSpot has no upsert for engagements — reruns create duplicate activities (the whole ecosystem shares this limitation).",billableOperations:_w,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:gw(null),defaultPayload:{pipe_id:pw,connector:{strategy:`first`,connections:[]},run_if:null,config:{type:`note`,subject:``,body:``,timestamp:``,record_object_type:`0-1`,owner:``,values:{},input_fields:{hubspot_object_id:{alias:``}},output_fields:{hubspot_activity_result:{alias:``,enabled:!0}}}}},xw=h(`salesforce_record_id`),Sw=h(`salesforce_activity_result`),Cw=`activity:log:salesforce@1`,ww=(e,t)=>{let n=e.value;for(let r of Object.keys(n[t]??{})){let n=r.trim();if(!n)continue;let i=n=>e.issues.push({code:`custom`,input:r,message:n,path:[t,r]});if(n.includes(`{{`)){i("Field name must be a literal API name (no `{{ }}` templating).");continue}if(n.includes(`.`)){i(`Invalid field name "${n}" — dotted paths cannot be written on a Task.`);continue}/^[a-zA-Z][a-zA-Z0-9_]*$/.test(n)||i(`Invalid Salesforce field name "${n}" — API names are letters, digits, and underscores (custom fields end in __c).`)}},Tw=r.object({pipe_id:r.literal(Cw),run_if:b(),connector:S(),config:r.object({subject:x({sectionKey:`general`,label:`Subject`,inputType:`text`,minLength:1,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.subject`,placeholder:`Emailed {{ first_name }}`,info:`The activity subject line — the headline shown on the timeline.`}),body:Yc({sectionKey:`general`,label:`Comments`,groupPath:`config.general`,path:`config.body`,rows:3,placeholder:`Sent via pipe0.`,info:"Optional activity description / comments. Type `/` to insert a field reference."}),subtype:Xc({sectionKey:`general`,label:`Type`,groupPath:`config.general`,path:`config.subtype`,defaultValue:`task`,required:!0,options:[{value:`task`,label:`Task`},{value:`call`,label:`Call`},{value:`email`,label:`Email`}]}),status:nl({sectionKey:`general`,required:!1,label:`Status`,groupPath:`config.general`,path:`config.status`,info:`The task status (from the org's TaskStatus values). Empty = the org default. Marking a closed status sets the record's LastActivityDate.`,enabledIf:g(`salesforce`),optionsDef:qC}),related_record:x({sectionKey:`general`,label:`Related record`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.related_record`,placeholder:`001KJ000001xyzDIA2`,info:`Optional: the Account, Opportunity, or custom record this activity relates to (WhatId). At least one of related person / related record is required.`}),activity_date:x({sectionKey:`general`,label:`Activity date`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.activity_date`,placeholder:`2026-07-08`,info:`Optional due/logged date (YYYY-MM-DD). Empty = today.`}),owner:nl({sectionKey:`general`,required:!1,label:`Assigned to`,groupPath:`config.general`,path:`config.owner`,info:`The Salesforce user the task is assigned to (OwnerId). Empty = the connected user.`,enabledIf:g(`salesforce`),optionsDef:GC}),external_id_field:nl({sectionKey:`general`,required:!1,label:`Idempotency key field`,groupPath:`config.general`,path:`config.external_id_field`,info:`Optional. A custom External ID field on Activity/Task — with a value below, logging becomes rerun-safe (upsert): the same key updates instead of creating a duplicate.`,enabledIf:g(`salesforce`),optionsDef:JC}),external_id_value:x({sectionKey:`general`,label:`Idempotency key value`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.external_id_value`,placeholder:`{{ email }}-outreach-2026-07`,info:`The unique value for the idempotency key field. Required only when an idempotency key field is selected.`}),values:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Additional fields`,info:"Extra Task field API names → values (e.g. `Priority`, custom fields). Field = the Salesforce API name; in the Value column type `/` to insert a field reference. Blank values are skipped.",keyLabel:`Field API name`,valueLabel:`Value`,keyPlaceholder:`Priority`,valuePlaceholder:`High`,maxKeys:50}),input_fields:I(r.object({[xw.name]:T({fieldName:xw.name})})),output_fields:F(r.object({[Sw.name]:O({fieldName:Sw.name})}))}).check(e=>ww(e,`values`))}),Ew=e=>Zl(K(xw,e)),Dw={"activity-log-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},Ow=class extends B{pipeId=Cw;payload;payloadSchema=Tw;billableOperations=Dw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`activity-log-salesforce-v1-salesforce`)}getTemplates(){return[this.payload.config.subject,this.payload.config.body,this.payload.config.related_record,this.payload.config.activity_date,this.payload.config.external_id_value,...Object.values(this.payload.config.values??{})].filter(e=>!!e)}getInputRequirement(){return Yl(Ew(this.payload.config),...QC(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[Sw.name]:this.catalogOutput(Sw)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Task`],includeTaskMeta:!0,writableOnly:!0})}},kw=Tw,Aw={pipeId:Cw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Cw),label:`Salesforce log activity`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Log an activity in Salesforce as a Task (the native 'Log a Call' idiom — subtype call/email/task) against a contact, lead, account, or opportunity. Optionally rerun-safe via an External ID idempotency key.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`task`,`call`,`email`,`write`,`note`,`touch`],docPath:G(Cw),guide:"Logging a call/email is creating a Task with the matching subtype — exactly what Salesforce's 'Log a Call' button does. The related-person input consumes `salesforce_record_id` (WhoId: Contact/Lead — optional, chain from a match pipe); and/or set a related record (WhatId: Account/Opportunity/custom, literal or `{{ column }}`); at least one is required per row. Status comes from the org's TaskStatus values (empty = org default; a closed status sets the record's LastActivityDate). To leave a CRM trace after sending, chain this after `email:send:*` with a run_if on the send-success output (`gmail_email_success` / `resend_email_success`). Reruns WITHOUT an idempotency key create duplicate tasks — set the External ID field + value to make it rerun-safe (the same key updates instead of duplicating).",billableOperations:Dw,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Ew(null),defaultPayload:{pipe_id:Cw,connector:{strategy:`first`,connections:[]},run_if:null,config:{subject:``,body:``,subtype:`task`,status:``,related_record:``,activity_date:``,owner:``,external_id_field:``,external_id_value:``,values:{},input_fields:{salesforce_record_id:{alias:``}},output_fields:{salesforce_activity_result:{alias:``,enabled:!0}}}}},jw=h(`hubspot_object_id`),Mw=h(`hubspot_associated_count`),Nw=h(`hubspot_associated_objects`),Pw=`object:associations:hubspot@1`,Fw=r.object({pipe_id:r.literal(Pw),run_if:b(),connector:S(),config:r.object({from_object_type:nl({sectionKey:`general`,required:!0,label:`From object type`,groupPath:`config.general`,path:`config.from_object_type`,info:`The type of the source record (standard or custom object).`,enabledIf:g(`hubspot`),optionsDef:Vf}),to_object_type:nl({sectionKey:`general`,required:!0,label:`To object type`,groupPath:`config.general`,path:`config.to_object_type`,info:`The type of the associated records to retrieve (standard or custom object).`,enabledIf:g(`hubspot`),optionsDef:Vf}),association_label:nl({sectionKey:`general`,required:!1,label:`Association label`,groupPath:`config.general`,path:`config.association_label`,info:`Only follow associations with this label (labels are portal-specific, e.g. "Decision maker"). Empty = all associations.`,enabledIf:g(`hubspot`),optionsDef:Hf}),properties:zc({sectionKey:`general`,label:`Properties`,groupPath:`config.general`,path:`config.properties`,placeholder:`name`,info:`HubSpot internal property names of the TARGET object to include per associated record. Empty = HubSpot's default properties.`}),limit:$c({sectionKey:`general`,label:`Limit`,groupPath:`config.general`,path:`config.limit`,info:``,min:1,max:100}).default(20),input_fields:I(r.object({[jw.name]:T({fieldName:jw.name})})),output_fields:F(r.object({[Mw.name]:O({fieldName:Mw.name}),[Nw.name]:O({fieldName:Nw.name})}))})}),Iw=e=>z(K(jw,e)),Lw={"object-associations-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},Rw=class extends B{pipeId=Pw;payload;payloadSchema=Fw;billableOperations=Lw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`object-associations-hubspot-v1-hubspot`)}getInputRequirement(){return Iw(this.payload.config)}getRawOutputFields(){return{[Mw.name]:this.catalogOutput(Mw),[Nw.name]:this.catalogOutput(Nw)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_generic`,allowManagedConnection:!1}]}async getAgentContext(e){let t=this.payload.config.to_object_type,n=Array.isArray(t)?t[0]??``:t;return Kf(e,{objectTypes:[[n||`target object`,n||`0-1`]]})}},zw=Fw,Bw={pipeId:Pw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Pw),label:`HubSpot associated objects`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Retrieve the HubSpot records associated with a source record — one level of joins across standard and custom objects (e.g. a company's deals, or a custom object linked to a company).`,tags:[U.FIELDS],keywords:[`crm`,`join`,`related`,`association`,`custom object`,`linked`],docPath:G(Pw),guide:"Associations are HubSpot's joins — the Search API never returns them, so this pipe is the way to fetch related records. The source-record input consumes `hubspot_object_id`, which every HubSpot surface emits (alias it to point at a differently named column); the from-object type must match the record the ID belongs to. Activities (notes, tasks, calls, meetings, emails) are associated objects too — pick them as the to-object to read a record's timeline; when you leave properties empty for an engagement the pipe fills a sensible default set (timestamp + body/subject). Association labels are portal-specific; leave the label empty to follow all associations. Zero associations is a successful result (count = 0). Target-object properties use internal names — call get_provider_context for the portal's catalog.",billableOperations:Lw,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Iw(null),defaultPayload:{pipe_id:Pw,connector:{strategy:`first`,connections:[]},run_if:null,config:{from_object_type:`0-2`,to_object_type:`0-3`,association_label:``,properties:[],limit:20,input_fields:{hubspot_object_id:{alias:``}},output_fields:{hubspot_associated_count:{alias:``,enabled:!0},hubspot_associated_objects:{alias:``,enabled:!0}}}}},Vw=h(`hubspot_object_id`),Hw=h(`hubspot_update_result`),Uw=`object:update:hubspot@1`,Ww=r.object({pipe_id:r.literal(Uw),run_if:b(),connector:S(),config:r.object({object_type:nl({sectionKey:`general`,required:!0,label:`Object type`,groupPath:`config.general`,path:`config.object_type`,info:`Standard objects plus this portal's custom objects (custom objects need HubSpot Enterprise).`,enabledIf:g(`hubspot`),optionsDef:Vf}),properties:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.properties`,label:`Property values`,info:"Property = the HubSpot internal name (e.g. `jobtitle`, custom properties too). In the Value column, type `/` to insert a field reference. Enumeration values must be existing internal option values (case-sensitive).",keyLabel:`Property`,valueLabel:`Value`,keyPlaceholder:`jobtitle`,valuePlaceholder:`{{ job_title }}`,maxKeys:50}),ignore_blank_values:D({sectionKey:`general`,defaultValue:!0,label:`Ignore blank values`,groupPath:`config.general`,path:`config.ignore_blank_values`,info:`ON: rows whose value renders empty are skipped, preserving CRM data. OFF: empty values CLEAR the property in HubSpot.`}),input_fields:I(r.object({[Vw.name]:T({fieldName:Vw.name})})),output_fields:F(r.object({[Hw.name]:O({fieldName:Hw.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.properties??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`properties`,n]});if(t.includes(`{{`)){r("Property name must be a literal internal name (no `{{ }}` templating).");continue}/^[a-z][a-z0-9_]*$/.test(t)||r(`Invalid HubSpot property name "${t}" — internal names are lowercase letters, digits, and underscores.`)}})}),Gw=e=>z(K(Vw,e)),Kw={"object-update-hubspot-v1-hubspot":{allowManagedConnection:!1,credits:null,mode:null,provider:`hubspot`}},qw=class extends B{pipeId=Uw;payload;payloadSchema=Ww;billableOperations=Kw;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`hubspot`]}estimateBillableOperations(e){return q(e,`object-update-hubspot-v1-hubspot`)}getTemplates(){return Object.values(this.payload.config.properties??{}).filter(e=>!!e)}getInputRequirement(){return Yl(Gw(this.payload.config),...Lf(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[Hw.name]:this.catalogOutput(Hw)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitRatio:1,rateLimitOperation:`hubspot_generic`,allowManagedConnection:!1}]}async getAgentContext(e){let t=this.payload.config.object_type,n=Array.isArray(t)?t[0]??``:t;return Kf(e,{objectTypes:[[n||`contacts`,n||`0-1`]],writableOnly:!0})}},Jw=Ww,Yw={pipeId:Uw,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(Uw),label:`HubSpot update object`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Update a HubSpot record (standard or custom object) by its record ID, mapping columns to properties. Blank values are skipped by default so un-enriched cells never erase CRM data.`,tags:[U.FIELDS],keywords:[`crm`,`write`,`sync`,`record`,`property`,`custom object`],docPath:G(Uw),guide:"The object-ID input consumes `hubspot_object_id`, which every HubSpot surface emits — chain from a match pipe (Lookup → Update by ID is the canonical HubSpot recipe; there is no reliable upsert for companies). Call get_provider_context for the selected object type to see WRITABLE properties and enumeration option values — HubSpot rejects read-only properties and unknown enum values (case-sensitive, never auto-created). Property writes fire the portal's workflows; rows where every value renders blank skip the API call entirely. With 'Ignore blank values' OFF, an empty value CLEARS the property in HubSpot.",billableOperations:Kw,allowedUserConnectionProviders:[`hubspot`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Gw(null),defaultPayload:{pipe_id:Uw,connector:{strategy:`first`,connections:[]},run_if:null,config:{object_type:`0-1`,properties:{},ignore_blank_values:!0,input_fields:{hubspot_object_id:{alias:``}},output_fields:{hubspot_update_result:{alias:``,enabled:!0}}}}},Xw=h(`company_domain`),Zw=h(`salesforce_accounts_found_count`),Qw=h(`salesforce_record_id`),$w=h(`salesforce_account_matches`),eT=`account:match:salesforce@1`,tT=r.object({pipe_id:r.literal(eT),run_if:b(),connector:S(),config:r.object({website_field:Jc({sectionKey:`general`,inputType:`text`,label:`Website field`,groupPath:`config.general`,path:`config.website_field`,placeholder:`Website`,info:"The Account field holding the company web address. Salesforce has NO standard domain field — matching normalizes this field's URL spellings. Point it at a custom field like `Domain__c` if your org keeps clean domains there."}).default(`Website`),custom_properties:zc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`AnnualRevenue`,info:"Field API names added to each match JSON under `custom_properties` (standard-set names are already top-level)."}),input_fields:I(r.object({[Xw.name]:T({fieldName:Xw.name})})),output_fields:F(r.object({[Zw.name]:O({fieldName:Zw.name}),[Qw.name]:O({fieldName:Qw.name}),[$w.name]:O({fieldName:$w.name})}))}).optional()}),nT=e=>z(K(Xw,e)),rT={"account-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},iT=class extends B{pipeId=eT;payload;payloadSchema=tT;billableOperations=rT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`account-match-salesforce-v1-salesforce`)}getInputRequirement(){return nT(this.payload.config)}getRawOutputFields(){return{[Zw.name]:this.catalogOutput(Zw),[Qw.name]:this.catalogOutput(Qw),[$w.name]:this.catalogOutput($w)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Account`]})}},aT=tT,oT={pipeId:eT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(eT),label:`Salesforce account match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find accounts in your Salesforce org by company domain. Salesforce has no domain field, so the match probes exact spellings of the Website URL (never substring matching). Multiple matches are normal; a clean miss completes with count = 0.`,tags:[U.WEBSITE],keywords:[`crm`,`sfdc`,`company`,`lookup`,`exists`,`dedupe`,`domain`],docPath:G(eT),guide:"Matching is exact-IN over ~10 generated Website spellings (acme.com, www.acme.com, https variants…) — exotic stored formats (acme.com/about-us) will miss; the org-side fix is a clean custom field targeted via `website_field`. Person accounts are excluded. `salesforce_record_id` = the OLDEST match (CreatedDate ASC — usually the canonical record); all matches ride in the matches JSON. found_count = 0 is a successful result.",billableOperations:rT,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:nT(null),defaultPayload:{pipe_id:eT,connector:{strategy:`first`,connections:[]},run_if:null,config:{website_field:`Website`,custom_properties:[],input_fields:{company_domain:{alias:``}},output_fields:{salesforce_accounts_found_count:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_account_matches:{alias:``,enabled:!0}}}}},sT=h(`company_domain`),cT=h(`email`),lT=h(`salesforce_opportunities_found_count`),uT=h(`salesforce_record_id`),dT=h(`salesforce_opportunity_matches`),fT=`opportunity:match:salesforce@1`,pT=r.object({pipe_id:r.literal(fT),run_if:b(),connector:S(),config:r.object({status:Xc({sectionKey:`general`,required:!1,label:`Opportunity status`,groupPath:`config.general`,path:`config.status`,description:`Filters on Salesforce's computed IsClosed / IsWon — org-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),stage:nl({sectionKey:`general`,required:!1,label:`Stage`,groupPath:`config.general`,path:`config.stage`,info:`Only match opportunities in this stage (the org's own OpportunityStage list). Empty = all stages.`,enabledIf:g(`salesforce`),optionsDef:WC}),custom_properties:zc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`NextStep`,info:"Field API names added to each match JSON under `custom_properties` (standard-set names are already top-level)."}),input_fields:I(r.object({[sT.name]:T({fieldName:sT.name}),[cT.name]:T({fieldName:cT.name})})),output_fields:F(r.object({[lT.name]:O({fieldName:lT.name}),[uT.name]:O({fieldName:uT.name}),[dT.name]:O({fieldName:dT.name})}))}).optional()}),mT=e=>Xl(z(K(sT,e)),z(K(cT,e))),hT={"opportunity-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},gT=class extends B{pipeId=fT;payload;payloadSchema=pT;billableOperations=hT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`opportunity-match-salesforce-v1-salesforce`)}getInputRequirement(){return mT(this.payload.config)}getRawOutputFields(){return{[lT.name]:this.catalogOutput(lT),[uT.name]:this.catalogOutput(uT),[dT.name]:this.catalogOutput(dT)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Opportunity`],includeStages:!0})}},_T=pT,vT={pipeId:fT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(fT),label:`Salesforce opportunity match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Find opportunities in your Salesforce org for a company (by domain, via the matched account) or person (by email, via contact roles) — opportunities have no natural key of their own. A clean miss completes with count = 0.`,tags:[U.WEBSITE,U.EMAIL],keywords:[`crm`,`sfdc`,`deal`,`pipeline`,`lookup`,`exists`,`revenue`],docPath:G(fT),guide:"Domain input resolves via account match → Opportunity.AccountId (preferred when both inputs are present); email resolves via the contact's OpportunityContactRole (note: OCRs the connected user cannot see are silently missed under private sharing). Filter open/won via `status` (computed IsClosed/IsWon — never assume a stage named 'Closed Won' exists); `stage` values are OpportunityStage ApiNames from get_provider_context. Contact roles ride each match as `contact_roles` edge metadata. found_count = 0 is a successful result.",billableOperations:hT,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:mT(null),defaultPayload:{pipe_id:fT,connector:{strategy:`first`,connections:[]},run_if:null,config:{status:`any`,stage:``,custom_properties:[],input_fields:{company_domain:{alias:``},email:{alias:``}},output_fields:{salesforce_opportunities_found_count:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_opportunity_matches:{alias:``,enabled:!0}}}}},yT=h(`email`),bT=h(`salesforce_person_found`),xT=h(`salesforce_record_id`),ST=h(`salesforce_person_match`),CT=`person:match:salesforce@1`,wT=r.object({pipe_id:r.literal(CT),run_if:b(),connector:S(),config:r.object({match_scope:Xc({sectionKey:`general`,required:!1,label:`Match scope`,groupPath:`config.general`,path:`config.match_scope`,description:`Which Salesforce person shapes to probe. Person Accounts are included automatically when the org has them.`,options:[{label:`Contacts and leads`,value:`contacts_and_leads`},{label:`Contacts only`,value:`contacts_only`},{label:`Leads only`,value:`leads_only`}]}).default(`contacts_and_leads`),custom_properties:zc({sectionKey:`general`,label:`Custom fields`,groupPath:`config.general`,path:`config.custom_properties`,placeholder:`Lead_Score__c`,info:"Field API names added to the match JSON under `custom_properties` (standard-set names are already top-level). Dotted parent paths like `Account.Industry` work."}),input_fields:I(r.object({[yT.name]:T({fieldName:yT.name})})),output_fields:F(r.object({[bT.name]:O({fieldName:bT.name}),[xT.name]:O({fieldName:xT.name}),[ST.name]:O({fieldName:ST.name})}))}).optional()}),TT=e=>z(K(yT,e)),ET={"person-match-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},DT=class extends B{pipeId=CT;payload;payloadSchema=wT;billableOperations=ET;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`person-match-salesforce-v1-salesforce`)}getInputRequirement(){return TT(this.payload.config)}getRawOutputFields(){return{[bT.name]:this.catalogOutput(bT),[xT.name]:this.catalogOutput(xT),[ST.name]:this.catalogOutput(ST)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Contact`,`Lead`]})}},OT=wT,kT={pipeId:CT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(CT),label:`Salesforce person match`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Check whether a person exists in your Salesforce org by email — across Contacts, Leads, and Person Accounts in one call, with deterministic precedence and converted-lead redirect. A clean miss completes with found = false.`,tags:[U.EMAIL],keywords:[`crm`,`sfdc`,`contact`,`lead`,`lookup`,`exists`,`dedupe`],docPath:G(CT),guide:"Matches by exact email in ONE API call across up to three shapes, with precedence: live Contact → converted Lead's contact (is_converted_redirect = true) → live Lead → Person Account. found = false is a successful result — gate follow-ups with run_if on it. `object_type` in the match JSON says which shape matched; chain `salesforce_record_id` into record:update:salesforce@1 or record:lookup:salesforce@1. Note: 'no match' can also mean the connected user lacks record access (private sharing).",billableOperations:ET,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:TT(null),defaultPayload:{pipe_id:CT,connector:{strategy:`first`,connections:[]},run_if:null,config:{match_scope:`contacts_and_leads`,custom_properties:[],input_fields:{email:{alias:``}},output_fields:{salesforce_person_found:{alias:``,enabled:!0},salesforce_record_id:{alias:``,enabled:!0},salesforce_person_match:{alias:``,enabled:!0}}}}},AT=h(`salesforce_record_id`),jT=h(`salesforce_record_created`),MT=h(`salesforce_record_match`),NT=`record:assert:salesforce@1`,PT=r.object({pipe_id:r.literal(NT),run_if:b(),connector:S(),config:r.object({object:nl({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can create/update.`,enabledIf:g(`salesforce`),optionsDef:HC({updateableOnly:!0})}),external_id_field:nl({sectionKey:`general`,required:!0,label:`External ID field`,groupPath:`config.general`,path:`config.external_id_field`,info:`The object's External-ID field anchoring the upsert (fields marked External ID in Setup). If the picker is empty, the object has none — create one in Setup; it is the ecosystem-standard idempotency anchor.`,enabledIf:g(`salesforce`),optionsDef:UC}),external_id_value:x({sectionKey:`general`,label:`External ID value`,inputType:`text`,expectedTagType:`string`,expectedTagFormat:`text`,groupPath:`config.general`,path:`config.external_id_value`,placeholder:`{{ company_domain }}`,info:"The value to match/create on — a literal or a `{{ column }}` reference."}),values:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Field values`,info:`Field = the Salesforce API name. Include every field required at create (e.g. Name on Account, LastName+Company on Lead) — a create with missing required fields fails and names them. Blank values are skipped, never cleared.`,keyLabel:`Field API name`,valueLabel:`Value`,keyPlaceholder:`Name`,valuePlaceholder:`{{ company_name }}`,maxKeys:50}),bypass_duplicate_alerts:D({sectionKey:`general`,defaultValue:!1,label:`Bypass duplicate alerts`,groupPath:`config.general`,path:`config.bypass_duplicate_alerts`,info:`Acknowledge ALERT-mode duplicate rules and save anyway. BLOCK-mode rules can never be bypassed — those errors list the matching records.`}),output_fields:F(r.object({[AT.name]:O({fieldName:AT.name}),[jT.name]:O({fieldName:jT.name}),[MT.name]:O({fieldName:MT.name})}))}).check(e=>{let t=e.value;for(let n of Object.keys(t.values??{})){let t=n.trim();if(!t)continue;let r=t=>e.issues.push({code:`custom`,input:n,message:t,path:[`values`,n]});if(t.includes(`{{`)){r("Field name must be a literal API name (no `{{ }}` templating).");continue}if(t.includes(`.`)){r(`Invalid field name "${t}" — dotted paths cannot be written; set the lookup ID field (e.g. AccountId) instead.`);continue}/^[a-zA-Z][a-zA-Z0-9_]*$/.test(t)||r(`Invalid Salesforce field name "${t}" — API names are letters, digits, and underscores (custom fields end in __c).`)}})}),FT={"record-assert-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},IT=class extends B{pipeId=NT;payload;payloadSchema=PT;billableOperations=FT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-assert-salesforce-v1-salesforce`)}getTemplates(){return[this.payload.config.external_id_value,...Object.values(this.payload.config.values??{})].filter(e=>!!e)}getInputRequirement(){return Yl(...QC(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[AT.name]:this.catalogOutput(AT),[jT.name]:this.catalogOutput(jT),[MT.name]:this.catalogOutput(MT)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[ZC(this.payload.config.object)||`Account`],writableOnly:!0})}},LT=PT,RT={pipeId:NT,inputFieldMode:`config`,outputFieldMode:`static`,basePipe:W(NT),label:`Salesforce assert record`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:"Create-or-update (upsert) a Salesforce record anchored on an External ID field — Salesforce's native idempotent write. One matching record updates, none creates; `created` says which happened.",tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`upsert`,`create`,`write`,`sync`,`idempotent`],docPath:G(NT),guide:"The upsert is anchored on the External-ID field: no match creates, one match updates, MULTIPLE matches fail with the record IDs and write nothing (resolve duplicates or use record:update). On the create path Salesforce enforces required fields (the error names them) and duplicate rules may block the save (`bypass_duplicate_alerts` acknowledges ALERT-mode rules only). Call get_provider_context for the object's writable fields; blanks skip, never clear. `salesforce_record_created` = true means a new record — the fresh record rides the output JSON.",billableOperations:FT,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:Yl(),defaultPayload:{pipe_id:NT,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Account`,external_id_field:``,external_id_value:`{{ company_domain }}`,values:{},bypass_duplicate_alerts:!1,output_fields:{salesforce_record_id:{alias:``,enabled:!0},salesforce_record_created:{alias:``,enabled:!0},salesforce_record_match:{alias:``,enabled:!0}}}}},zT=h(`salesforce_record_id`),BT=h(`salesforce_record_found`),VT=h(`salesforce_record_match`),HT=`record:lookup:salesforce@1`,UT=r.object({pipe_id:r.literal(HT),run_if:b(),connector:S(),config:r.object({object:nl({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can query.`,enabledIf:g(`salesforce`),optionsDef:HC()}),input_fields:I(r.object({[zT.name]:T({fieldName:zT.name})})),output_fields:F(r.object({[BT.name]:O({fieldName:BT.name}),[VT.name]:O({fieldName:VT.name})}))})}),WT=e=>z(K(zT,e)),GT={"record-lookup-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},KT=class extends B{pipeId=HT;payload;payloadSchema=UT;billableOperations=GT;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-lookup-salesforce-v1-salesforce`)}getInputRequirement(){return WT(this.payload.config)}getRawOutputFields(){return{[BT.name]:this.catalogOutput(BT),[VT.name]:this.catalogOutput(VT)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[ZC(this.payload.config.object)||`Contact`]})}},qT=UT,JT={pipeId:HT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(HT),label:`Salesforce record lookup`,executionMode:`single`,categories:[`integrations`],lifecycle:null,description:`Fetch a full Salesforce record (any standard or custom object) by its record ID — every field visible to the connected user. A deleted or missing record completes with found = false.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`read`,`fetch`,`get`,`record`,`custom object`],docPath:G(HT),guide:"The record-ID input consumes `salesforce_record_id`, which every Salesforce surface emits — chain from a match pipe or search (alias it to point at a differently named column). Returns ALL fields the connected user can see, nested under `record` in the output JSON — fields hidden by field-level security are silently absent. found = false (deleted/missing id) is a successful result.",billableOperations:GT,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:WT(null),defaultPayload:{pipe_id:HT,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Contact`,input_fields:{salesforce_record_id:{alias:``}},output_fields:{salesforce_record_found:{alias:``,enabled:!0},salesforce_record_match:{alias:``,enabled:!0}}}}},YT=h(`salesforce_record_id`),XT=h(`salesforce_update_result`),ZT=`record:update:salesforce@1`,QT=(e,t)=>{let n=e.value;for(let r of Object.keys(n[t]??{})){let n=r.trim();if(!n)continue;let i=n=>e.issues.push({code:`custom`,input:r,message:n,path:[t,r]});if(n.includes(`{{`)){i("Field name must be a literal API name (no `{{ }}` templating).");continue}if(n.includes(`.`)){i(`Invalid field name "${n}" — dotted paths cannot be written; set the lookup ID field (e.g. AccountId) instead.`);continue}/^[a-zA-Z][a-zA-Z0-9_]*$/.test(n)||i(`Invalid Salesforce field name "${n}" — API names are letters, digits, and underscores (custom fields end in __c).`)}},$T=r.object({pipe_id:r.literal(ZT),run_if:b(),connector:S(),config:r.object({object:nl({sectionKey:`general`,required:!0,label:`Object`,groupPath:`config.general`,path:`config.object`,info:`Standard and custom objects the connected user can update.`,enabledIf:g(`salesforce`),optionsDef:HC({updateableOnly:!0})}),values:Hc({sectionKey:`general`,groupPath:`config.general`,path:`config.values`,label:`Field values`,info:"Field = the Salesforce API name (`Title`, custom fields like `Lead_Score__c`). In the Value column, type `/` to insert a field reference. Blank values are skipped, never cleared. Restricted-picklist values must match existing entries exactly (case-sensitive); multi-select picklist writes REPLACE the whole set (semicolon-joined).",keyLabel:`Field API name`,valueLabel:`Value`,keyPlaceholder:`Title`,valuePlaceholder:`{{ job_title }}`,maxKeys:50}),bypass_duplicate_alerts:D({sectionKey:`general`,defaultValue:!1,label:`Bypass duplicate alerts`,groupPath:`config.general`,path:`config.bypass_duplicate_alerts`,info:`Acknowledge ALERT-mode duplicate rules and save anyway. BLOCK-mode rules can never be bypassed — those errors list the matching records.`}),input_fields:I(r.object({[YT.name]:T({fieldName:YT.name})})),output_fields:F(r.object({[XT.name]:O({fieldName:XT.name})}))}).check(e=>QT(e,`values`))}),eE=e=>z(K(YT,e)),tE={"record-update-salesforce-v1-salesforce":{allowManagedConnection:!1,credits:null,mode:null,provider:`salesforce`}},nE=class extends B{pipeId=ZT;payload;payloadSchema=$T;billableOperations=tE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`salesforce`]}estimateBillableOperations(e){return q(e,`record-update-salesforce-v1-salesforce`)}getTemplates(){return Object.values(this.payload.config.values??{}).filter(e=>!!e)}getInputRequirement(){return Yl(eE(this.payload.config),...QC(this.getTemplates()))}getSecretRequirements(){return H(this.getTemplates())}getRawOutputFields(){return{[XT.name]:this.catalogOutput(XT)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitRatio:1,rateLimitOperation:`salesforce_api`,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[ZC(this.payload.config.object)||`Contact`],writableOnly:!0})}},rE=$T,iE={pipeId:ZT,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(ZT),label:`Salesforce update record`,executionMode:`single`,categories:[`actions`,`integrations`],lifecycle:null,description:`Update a Salesforce record (standard or custom object) by its record ID, mapping columns to fields. Blank values are skipped so un-enriched cells never erase CRM data; the output carries the fresh post-save record.`,tags:[U.FIELDS],keywords:[`crm`,`sfdc`,`write`,`sync`,`field`,`custom object`],docPath:G(ZT),guide:"The record-ID input consumes `salesforce_record_id`, which every Salesforce surface emits — chain from a match pipe (alias it to point at a differently named column). Call get_provider_context for the object's WRITABLE fields and picklist values — formula fields are read-only, restricted-picklist values are validated before the write (case-sensitive), and converted leads are read-only entirely (update the contact via ConvertedContactId instead). Duplicate rules may block the save; the error includes the admin's message and the matching record IDs, and `bypass_duplicate_alerts` acknowledges ALERT-mode rules only. Rows where every value renders blank skip the API call. Consume post-write values from the result JSON's `record` — formulas and triggers may rewrite fields after save.",billableOperations:tE,allowedUserConnectionProviders:[`salesforce`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:eE(null),defaultPayload:{pipe_id:ZT,connector:{strategy:`first`,connections:[]},run_if:null,config:{object:`Contact`,values:{},bypass_duplicate_alerts:!1,input_fields:{salesforce_record_id:{alias:``}},output_fields:{salesforce_update_result:{alias:``,enabled:!0}}}}},aE=`person:devprofileurl:profileurl:waterfall@1`,oE=h(`profile_url`),sE=h(`developer_profile_url`),cE=h(`alternative_developer_profile_urls`),lE=[`crustdata`],uE=[{provider:`crustdata`}],dE=r.object({pipe_id:r.literal(aE),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:uE,availableProviders:lE}),input_fields:I(r.object({[oE.name]:T({fieldName:oE.name})})),output_fields:F(r.object({[sE.name]:O({fieldName:sE.name}),[cE.name]:O({fieldName:cE.name})}))}).optional()}),fE=e=>z(K(oE,e)),pE={"person-devprofileurl-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:2,level1:{credits:1.3,weight:1}},mode:`onSuccess`}},mE=class extends B{pipeId=aE;payload;payloadSchema=dE;billableOperations=pE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return fE(this.payload.config)}getRawOutputFields(){return{[sE.name]:this.catalogOutput(sE,{isPrimaryOutput:!0}),[cE.name]:this.catalogOutput(cE,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},hE=dE,gE={pipeId:aE,basePipe:W(aE),label:`GitHub profile from LinkedIn URL`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a developer profile URL (e.g. GitHub) for any prospect using multiple data providers in a waterfall motion.`,docPath:G(aE),tags:[U.LINKEDIN,U.WATERFALL,U.NEW],keywords:[`developer`,`dev`,`engineer`,`coder`,`git`],billableOperations:pE,defaultInputRequirement:fE(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:lE,allowedUserConnectionProviders:lE,deprecatedProviders:[],defaultPayload:{pipe_id:aE,connector:null,run_if:null,config:{providers:uE,input_fields:{profile_url:{alias:``}},output_fields:{developer_profile_url:{alias:``,enabled:!0},alternative_developer_profile_urls:{alias:``,enabled:!1}}}}},_E=`person:email:validate:millionverifier@1`,vE=h(`email`),yE=h(`email_validation_status`),bE=h(`million_validation_match`),xE=r.object({pipe_id:r.literal(_E),connector:C(),run_if:b(),config:r.object({input_fields:I(r.object({[vE.name]:T({fieldName:vE.name})})),output_fields:F(r.object({[yE.name]:O({fieldName:yE.name}),[bE.name]:O({fieldName:bE.name})}))}).optional()}),SE=e=>z(K(vE,e)),CE={"person-email-validate-millionverifier-v1-millionverifier":{provider:`millionverifier`,allowManagedConnection:!0,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`always`}},wE=class extends B{pipeId=_E;payload;payloadSchema=xE;billableOperations=CE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`millionverifier`]}estimateBillableOperations(e){return q(e,`person-email-validate-millionverifier-v1-millionverifier`)}getInputRequirement(){return SE(this.payload.config)}getRawOutputFields(){return{[yE.name]:this.catalogOutput(yE),[bE.name]:this.catalogOutput(bE)}}getConnectionsRequirements(){return[{provider:`millionverifier`,rateLimitRatio:1,rateLimitOperation:`millionverifier_generic`,allowManagedConnection:!0}]}},TE=xE,EE={pipeId:_E,basePipe:W(_E),label:`Validate email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Verify email addresses to ensure is deliverability.`,tags:[U.EMAIL],keywords:[`verify`,`verification`,`deliverability`,`bounce`,`check`,`clean`],docPath:G(_E),billableOperations:CE,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`millionverifier`],managedProviders:[`millionverifier`],deprecatedProviders:[],defaultInputRequirement:SE(null),defaultPayload:{pipe_id:_E,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{email_validation_status:{alias:``,enabled:!0},million_validation_match:{alias:``,enabled:!0}}}}},DE=h(`email`),OE=h(`amplemarket_person_match`),kE=`person:identity:amplemarket@1`,AE=r.object({pipe_id:r.literal(kE),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[DE.name]:T({fieldName:DE.name})})),output_fields:F(r.object({[OE.name]:O({fieldName:OE.name})}))}).optional()}),jE=e=>z(K(DE,e)),ME={"person-identity-amplemarket-v1-amplemarket":{allowManagedConnection:!1,credits:null,mode:null,provider:`amplemarket`}},NE=class extends B{pipeId=kE;payload;payloadSchema=AE;billableOperations=ME;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(){return[]}getInputRequirement(){return jE(this.payload.config)}getRawOutputFields(){return{[OE.name]:this.catalogOutput(OE)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_generic`,allowManagedConnection:!1}]}},PE=AE,FE={pipeId:kE,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(kE),label:`Person identity`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find information on a person based on their email`,tags:[U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`contact`,`profile`],docPath:G(kE),billableOperations:ME,allowedUserConnectionProviders:[`amplemarket`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:jE(null),defaultPayload:{pipe_id:kE,connector:null,run_if:null,config:{input_fields:{email:{alias:``}},output_fields:{amplemarket_person_match:{alias:``,enabled:!0}}}}},IE=`person:identity:email:waterfall@1`,LE=h(`email`),RE=h(`company_domain`),zE=h(`name`),BE=h(`job_title`),VE=h(`profile_url`),HE=h(`company_profile_url`),UE=h(`company_name`),WE=[`findymail`,`hunter`,`crustdata`],GE=[{provider:`findymail`},{provider:`hunter`},{provider:`crustdata`}],KE=r.object({pipe_id:r.literal(IE),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:WE,defaultProviders:GE,sectionKey:`general`}),input_fields:I(r.object({[LE.name]:T({fieldName:LE.name})})),output_fields:F(r.object({[zE.name]:O({fieldName:zE.name}),[VE.name]:O({fieldName:VE.name}),[BE.name]:O({fieldName:BE.name}),[RE.name]:O({fieldName:RE.name}),[UE.name]:O({fieldName:UE.name}),[HE.name]:O({fieldName:HE.name})}))}).optional()}),qE=e=>z(K(LE,e)),JE={"person-identity-email-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"person-identity-email-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2},mode:`onSuccess`},"person-identity-email-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`}},YE=class extends B{pipeId=IE;payload;payloadSchema=KE;billableOperations=JE;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return qE(this.payload.config)}getRawOutputFields(){return{[zE.name]:this.catalogOutput(zE,{isPrimaryOutput:!0}),[VE.name]:this.catalogOutput(VE,{isPrimaryOutput:!0}),[BE.name]:this.catalogOutput(BE,{isPrimaryOutput:!0}),[UE.name]:this.catalogOutput(UE,{isPrimaryOutput:!0}),[HE.name]:this.catalogOutput(HE,{isPrimaryOutput:!0}),[RE.name]:this.catalogOutput(RE,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={hunter:`prospeo_email_lookup`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},XE=KE,ZE={pipeId:IE,basePipe:W(IE),label:`Person identity from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find identity of a person from their email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`contact`,`profile`],docPath:G(IE),managedProviders:WE,deprecatedProviders:[],allowedUserConnectionProviders:WE,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:JE,defaultInputRequirement:qE(null),defaultPayload:{pipe_id:IE,connector:null,run_if:null,config:{providers:GE,input_fields:{email:{alias:``}},output_fields:{name:{alias:``,enabled:!0},profile_url:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},company_domain:{alias:``,enabled:!0}}}}},QE=h(`profile_url`),$E=h(`amplemarket_person_match`),eD=`person:match:amplemarket@1`,tD=r.object({pipe_id:r.literal(eD),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[QE.name]:T({fieldName:QE.name})})),output_fields:F(r.object({[$E.name]:O({fieldName:$E.name})}))}).optional()}),nD=e=>z(K(QE,e)),rD={"person-match-amplemarket-v1-amplemarket":{allowManagedConnection:!1,credits:null,mode:null,provider:`amplemarket`}},iD=class extends B{pipeId=eD;payload;payloadSchema=tD;billableOperations=rD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`amplemarket`]}estimateBillableOperations(){return[]}getInputRequirement(){return nD(this.payload.config)}getRawOutputFields(){return{[$E.name]:this.catalogOutput($E)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitRatio:1,rateLimitOperation:`amplemarket_generic`,allowManagedConnection:!1}]}},aD=tD,oD={pipeId:eD,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(eD),label:`Person match`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find information on a person based on their LinkedIn profile URL.`,tags:[U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`linkedin`,`profile`,`lookup`,`contact`],docPath:G(eD),billableOperations:rD,allowedUserConnectionProviders:[`amplemarket`],managedProviders:[],deprecatedProviders:[],defaultInputRequirement:nD(null),defaultPayload:{pipe_id:eD,connector:null,run_if:null,config:{input_fields:{profile_url:{alias:``}},output_fields:{amplemarket_person_match:{alias:``,enabled:!0}}}}},sD=`person:match:role:waterfall@1`,cD=h(`company_domain`),lD=h(`role_finder_match`),uD=[`leadmagic`],dD=[{provider:`leadmagic`}],fD=r.object({pipe_id:r.literal(sD),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:dD,availableProviders:uD}),roles:Vc({sectionKey:`general`,groupPath:`config.general`,label:`Roles`,path:`config.roles`,info:`Company roles to include`,maxItems:3,minItems:1,suggestionsDef:m(`titles`),expectedTagType:`string`}),input_fields:I(r.object({[cD.name]:T({fieldName:cD.name})})),output_fields:F(r.object({[lD.name]:O({fieldName:lD.name})}))})}),pD=e=>Xl(K(cD,e)),mD={"person-match-role-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},hD=class extends B{pipeId=sD;payload;payloadSchema=fD;billableOperations=mD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return pD(this.payload.config)}getSecretRequirements(){return H(this.payload.config?.roles??[])}getConstantRequirements(){return uu(this.payload.config?.roles??[])}getRawOutputFields(){return{[lD.name]:this.catalogOutput(lD,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_role_finder`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},gD=fD,_D={pipeId:sD,basePipe:W(sD),managedProviders:uD,deprecatedProviders:[],allowedUserConnectionProviders:uD,label:`Role finder`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find role matches for a given companies like "CEO" or "CFO".`,tags:[U.PEOPLE_PROFILES],keywords:[`job title`,`title`,`ceo`,`executive`,`decision maker`,`employee`],docPath:G(sD),billableOperations:mD,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:pD(null),defaultPayload:{pipe_id:sD,run_if:null,connector:null,config:{roles:[],providers:dD,input_fields:{company_domain:{alias:``}},output_fields:{role_finder_match:{alias:``,enabled:!0}}}}},vD=`person:mobile:profileurl:waterfall@1`,yD=h(`profile_url`),bD=h(`mobile`),xD=[`leadmagic`,`prospeo`,`amplemarket`,`findymail`],SD=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`findymail`}],CD=r.object({pipe_id:r.literal(vD),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:SD,availableProviders:xD}),input_fields:I(r.object({[yD.name]:T({fieldName:yD.name})})),output_fields:F(r.object({[bD.name]:O({fieldName:bD.name})}))}).optional()}),wD=e=>z(K(yD,e)),TD={"person-mobile-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:5,level1:{credits:3,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:6,level1:{credits:4,weight:1}},mode:`onSuccess`},"person-mobile-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:4,level1:{credits:3,weight:1}},mode:`onSuccess`}},ED=class extends B{pipeId=vD;payload;payloadSchema=CD;billableOperations=TD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return wD(this.payload.config)}getRawOutputFields(){return{[bD.name]:this.catalogOutput(bD,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_phone_number_lookup`,findymail:`findymail_phone_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},DD=CD,OD={pipeId:vD,basePipe:W(vD),label:`Mobile number from LinkedIn profile`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a mobile phone number for any prospect using multiple data providers in a waterfall motion.`,docPath:G(vD),tags:[U.PHONE,U.WATERFALL],keywords:[`phone`,`phone number`,`cell`,`direct dial`],billableOperations:TD,defaultInputRequirement:wD(null),inputFieldMode:`static`,outputFieldMode:`static`,managedProviders:xD,allowedUserConnectionProviders:xD,deprecatedProviders:[],defaultPayload:{pipe_id:vD,connector:null,run_if:null,config:{providers:SD,input_fields:{profile_url:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},kD=`person:mobile:workemail:waterfall@1`,AD=h(`work_email`),jD=h(`mobile`),MD=[`leadmagic`,`amplemarket`],ND=[{provider:`leadmagic`},{provider:`amplemarket`}],PD=r.object({pipe_id:r.literal(kD),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:MD,defaultProviders:ND}),input_fields:I(r.object({[AD.name]:T({fieldName:AD.name})})),output_fields:F(r.object({[jD.name]:O({fieldName:jD.name})}))}).optional()}),FD=e=>z(K(AD,e)),ID={"person-mobile-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-mobile-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:5,level1:{credits:4,weight:1}},mode:`onSuccess`}},LD=class extends B{pipeId=kD;payload;payloadSchema=PD;billableOperations=ID;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return FD(this.payload.config)}getRawOutputFields(){return{[jD.name]:this.catalogOutput(jD,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},RD=PD,zD={pipeId:kD,basePipe:W(kD),label:`Mobile number from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a mobile phone number for a prospect.`,tags:[U.PHONE,U.WATERFALL],keywords:[`phone`,`phone number`,`cell`,`direct dial`],docPath:G(kD),billableOperations:ID,defaultInputRequirement:FD(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:MD,managedProviders:MD,deprecatedProviders:[],defaultPayload:{pipe_id:kD,connector:null,run_if:null,config:{providers:ND,input_fields:{work_email:{alias:``}},output_fields:{mobile:{alias:``,enabled:!0}}}}},BD=`person:name:join@1`,VD=h(`first_name`),HD=h(`last_name`),UD=h(`name`),WD=r.object({pipe_id:r.literal(BD),run_if:b(),connector:wc(),config:r.object({input_fields:I(r.object({[VD.name]:T({fieldName:VD.name}),[HD.name]:T({fieldName:HD.name})})),output_fields:F(r.object({[UD.name]:O({fieldName:UD.name})}))}).optional()}),GD=e=>Yl(K(VD,e),K(HD,e)),KD={"person-name-join-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},qD=class extends B{pipeId=BD;payload;payloadSchema=WD;billableOperations=KD;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-name-join-v1-pipe0`)}getInputRequirement(){return GD(this.payload.config)}getRawOutputFields(){return{[UD.name]:this.catalogOutput(UD)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},JD=WD,YD={pipeId:BD,basePipe:W(BD),label:`Join name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Combine the first and last names of a prospect into a full name field.`,tags:[U.NAMES],keywords:[`combine`,`concatenate`,`merge`,`first`,`last`,`full`],docPath:G(BD),billableOperations:KD,defaultInputRequirement:GD(null),inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:BD,run_if:null,connector:null,config:{input_fields:{first_name:{alias:``},last_name:{alias:``}},output_fields:{name:{alias:``,enabled:!0}}}}},XD=`person:name:split@1`,ZD=h(`name`),QD=h(`first_name`),$D=h(`last_name`),eO=r.object({pipe_id:r.literal(XD),connector:wc(),run_if:b(),config:r.object({input_fields:I(r.object({[ZD.name]:T({fieldName:ZD.name})})),output_fields:F(r.object({[QD.name]:O({fieldName:QD.name}),[$D.name]:O({fieldName:$D.name})}))}).optional()}),tO=e=>z(K(ZD,e)),nO={"person-name-split-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},rO=class extends B{pipeId=XD;payload;payloadSchema=eO;billableOperations=nO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-name-split-v1-pipe0`)}getInputRequirement(){return tO(this.payload.config)}getRawOutputFields(){return{[QD.name]:this.catalogOutput(QD),[$D.name]:this.catalogOutput($D)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_logic`,allowManagedConnection:!0}]}},iO=eO,aO={pipeId:XD,basePipe:W(XD),label:`Split name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Split a full name into first and last name.`,tags:[U.NAMES],keywords:[`parse`,`separate`,`first`,`last`,`full`],docPath:G(XD),billableOperations:nO,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:tO(null),allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:XD,run_if:null,connector:void 0,config:{input_fields:{name:{alias:``}},output_fields:{first_name:{alias:``,enabled:!0},last_name:{alias:``,enabled:!0}}}}},oO=`person:personalemail:profileurl:waterfall@1`,sO=h(`profile_url`),cO=h(`personal_email`),lO=h(`alternate_personal_emails`),uO=[`leadmagic`,`mixrank`],dO=[{provider:`leadmagic`},{provider:`mixrank`}],fO=r.object({pipe_id:r.literal(oO),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:uO,defaultProviders:dO}),input_fields:I(r.object({[sO.name]:T({fieldName:sO.name})})),output_fields:F(r.object({[cO.name]:O({fieldName:cO.name}),[lO.name]:O({fieldName:lO.name})}))}).optional()}),pO=e=>z(K(sO,e)),mO={"person-personalemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"person-personalemail-profileurl-waterfall-v1-mixrank":{provider:`mixrank`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`}},hO=class extends B{pipeId=oO;payload;payloadSchema=fO;billableOperations=mO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return pO(this.payload.config)}getRawOutputFields(){return{[cO.name]:this.catalogOutput(cO,{isPrimaryOutput:!0}),[lO.name]:this.catalogOutput(lO)}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_personal_email_finder`,mixrank:`mixrank-person-match`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},gO=fO,_O={pipeId:oO,basePipe:W(oO),allowedUserConnectionProviders:uO,managedProviders:uO,deprecatedProviders:[],label:`Personal email from LinkedIn`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find the personal email address of a prospect by using a professional profile URL as input.`,tags:[U.EMAIL,U.PERSONAL_EMAIL],keywords:[`gmail`,`private`,`consumer`,`contact`],docPath:G(oO),billableOperations:mO,defaultInputRequirement:pO(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:oO,connector:null,run_if:null,config:{providers:dO,input_fields:{profile_url:{alias:``}},output_fields:{personal_email:{alias:``,enabled:!0},alternate_personal_emails:{alias:``,enabled:!1}}}}},vO=h(`profile_url`),yO=h(`post_list_string`),bO=h(`crustdata_post_list`),xO=`person:posts:content:crustdata@1`,SO=r.object({pipe_id:r.literal(xO),run_if:b(),connector:C(),config:r.object({limit:$c({path:`config.limit`,groupPath:`config.general`,max:100,min:1,sectionKey:`general`,info:``,label:`Limit`,legend:`Max. 100`}),input_fields:I(r.object({[vO.name]:T({fieldName:vO.name})})),output_fields:F(r.object({[yO.name]:O({fieldName:yO.name}),[bO.name]:O({fieldName:bO.name})}))}).optional()}),CO=e=>z(K(vO,e)),wO={"person-posts-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`,note:`1.5 credits per post. Posts are fetched in increments of 5.`,provider:`crustdata`}},TO=class extends B{pipeId=xO;payload;payloadSchema=SO;billableOperations=wO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`person-posts-crustdata-v1-crustdata`)}getInputRequirement(){return CO(this.payload.config)}getRawOutputFields(){return{[yO.name]:this.catalogOutput(yO),[bO.name]:this.catalogOutput(bO)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_post_fetch`,allowManagedConnection:!0}]}},EO=SO,DO={pipeId:xO,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(xO),label:`LinkedIn posts`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find list of recent LinkedIn posts.`,tags:[U.LINKEDIN],keywords:[`activity`,`content`,`social`,`updates`,`engagement`,`feed`],docPath:G(xO),billableOperations:wO,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:CO(null),defaultPayload:{pipe_id:xO,connector:null,run_if:null,config:{limit:5,input_fields:{profile_url:{alias:``}},output_fields:{crustdata_post_list:{alias:``,enabled:!0},post_list_string:{alias:``,enabled:!0}}}}},OO=`person:profile:waterfall@1`,kO=h(`profile`),AO=h(`profile_url`),jO=[`prospeo`,`icypeas`,`amplemarket`],MO=[{provider:`amplemarket`},{provider:`prospeo`},{provider:`icypeas`}],NO=r.object({pipe_id:r.literal(OO),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,availableProviders:jO,defaultProviders:MO}),input_fields:I(r.object({[AO.name]:T({fieldName:AO.name})})),output_fields:F(r.object({[kO.name]:O({fieldName:kO.name})}))}).optional()}),PO=e=>z(K(AO,e)),FO={"person-profile-waterfall-v1-icypeas":{provider:`icypeas`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0},"person-profile-waterfall-v1-prospeo":{provider:`prospeo`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0},"person-profile-waterfall-v1-amplemarket":{provider:`amplemarket`,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`,allowManagedConnection:!0}},IO=class extends B{pipeId=OO;payload;payloadSchema=NO;billableOperations=FO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return PO(this.payload.config)}getRawOutputFields(){return{[kO.name]:this.catalogOutput(kO,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={icypeas:`icypeas_scrape_profile`,prospeo:`prospeo_social_profile_lookup`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},LO=NO,RO={pipeId:OO,basePipe:W(OO),label:`Full LinkedIn profile`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find a JSON representation of a LinkedIn profile.`,docPath:G(OO),tags:[U.LINKEDIN,U.WATERFALL],keywords:[`enrich`,`enrichment`,`json`,`scrape`,`bio`,`experience`],managedProviders:jO,deprecatedProviders:[],allowedUserConnectionProviders:jO,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:FO,defaultInputRequirement:PO(null),defaultPayload:{pipe_id:OO,run_if:null,connector:null,config:{providers:MO,input_fields:{profile_url:{alias:``}},output_fields:{profile:{alias:``,enabled:!0}}}}},zO=h(`work_email`),BO=h(`crustdata_person_match`),VO=h(`crustdata_profile_match_score`),HO=`person:profile:workemail:crustdata@1`,UO=r.object({pipe_id:r.literal(HO),run_if:b(),connector:C(),config:r.object({input_fields:I(r.object({[zO.name]:T({fieldName:zO.name})})),output_fields:F(r.object({[BO.name]:O({fieldName:BO.name}),[VO.name]:O({fieldName:VO.name})}))}).optional()}),WO=e=>z(K(zO,e)),GO={"person-profile-workemail-crustdata-v1-crustdata":{allowManagedConnection:!0,credits:{default:5},mode:`onSuccess`,provider:`crustdata`}},KO=class extends B{pipeId=HO;payload;payloadSchema=UO;billableOperations=GO;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`crustdata`]}estimateBillableOperations(e){return q(e,`person-profile-workemail-crustdata-v1-crustdata`)}getInputRequirement(){return WO(this.payload.config)}getRawOutputFields(){return{[BO.name]:this.catalogOutput(BO),[VO.name]:this.catalogOutput(VO)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitRatio:1,rateLimitOperation:`crustdata_realtime_person_enrich`,allowManagedConnection:!0}]}},qO=UO,JO={pipeId:HO,inputFieldMode:`static`,outputFieldMode:`static`,basePipe:W(HO),label:`Profile from work email`,executionMode:`single`,categories:[`people_data`],lifecycle:null,description:`Find person profile by their work email address.`,tags:[U.EMAIL,U.PEOPLE_PROFILES],keywords:[`enrich`,`enrichment`,`reverse lookup`,`linkedin`,`person`],docPath:G(HO),billableOperations:GO,allowedUserConnectionProviders:[`crustdata`],managedProviders:[`crustdata`],deprecatedProviders:[],defaultInputRequirement:WO(null),defaultPayload:{pipe_id:HO,connector:null,run_if:null,config:{input_fields:{work_email:{alias:``}},output_fields:{crustdata_person_match:{alias:``,enabled:!0},crustdata_profile_match_score:{alias:``,enabled:!0}}}}},YO=`person:profileurl:email:waterfall@1`,XO=h(`email`),ZO=h(`work_email`),QO=h(`profile_url`),$O=[`leadmagic`],ek=[{provider:`leadmagic`}],tk=r.object({pipe_id:r.literal(YO),run_if:b(),connector:C(),config:r.object({providers:E({sectionKey:`general`,defaultProviders:ek,availableProviders:$O}),input_fields:I(r.object({[XO.name]:T({fieldName:XO.name}),[ZO.name]:T({fieldName:ZO.name})})),output_fields:F(r.object({[QO.name]:O({fieldName:QO.name})}))}).optional()}),nk=e=>Xl(K(XO,e),K(ZO,e)),rk={"person-profileurl-email-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:3.5},mode:`onSuccess`}},ik=class extends B{pipeId=YO;payload;payloadSchema=tk;billableOperations=rk;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return nk(this.payload.config)}getRawOutputFields(){return{[QO.name]:this.catalogOutput(QO,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_to_b2b_profile`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},ak=tk,ok={pipeId:YO,basePipe:W(YO),managedProviders:$O,deprecatedProviders:[],allowedUserConnectionProviders:$O,label:`LinkedIn URL from email`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find the URL for a prospect's LinkedIn profile from their personal or professional email address.`,tags:[U.LINKEDIN],keywords:[`profile`,`reverse lookup`,`social`,`person`],docPath:G(YO),billableOperations:rk,inputFieldMode:`static`,outputFieldMode:`static`,defaultInputRequirement:nk(null),defaultPayload:{pipe_id:YO,run_if:null,connector:null,config:{providers:ek,input_fields:{email:{alias:``},work_email:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},sk=`person:profileurl:name@1`,ck=h(`name`),lk=h(`company_name`),uk=h(`location_hint`),dk=h(`profile_url`),fk=r.object({pipe_id:r.literal(sk),connector:wc(),run_if:b(),config:r.object({input_fields:I(r.object({[ck.name]:T({fieldName:ck.name}),[lk.name]:T({fieldName:lk.name}),[uk.name]:T({fieldName:uk.name})})),output_fields:F(r.object({[dk.name]:O({fieldName:dk.name})}))}).optional()}),pk=e=>Yl(z(K(ck,e)),z(K(lk,e)),Zl(K(uk,e))),mk={"person-profileurl-name-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:.6},mode:`always`}},hk=class extends B{pipeId=sk;payload;payloadSchema=fk;billableOperations=mk;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`person-profileurl-name-v1-pipe0`)}getInputRequirement(){return pk(this.payload.config)}getRawOutputFields(){return{[dk.name]:this.catalogOutput(dk)}}getConnectionsRequirements(){return[{provider:`serper`,rateLimitRatio:1,rateLimitOperation:`serper_search`,allowManagedConnection:!0}]}},gk=fk,_k={pipeId:sk,basePipe:W(sk),label:`LinkedIn URL from name`,executionMode:`single`,categories:[`people_data`],lifecycle:null,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],description:`Find the LinkedIn profile URL by using the prospect's name as input.`,docPath:G(sk),tags:[U.LINKEDIN],keywords:[`profile`,`social`,`lookup`,`person`],billableOperations:mk,defaultInputRequirement:pk(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:sk,connector:void 0,run_if:null,config:{input_fields:{company_name:{alias:``},location_hint:{alias:``},name:{alias:``}},output_fields:{profile_url:{alias:``,enabled:!0}}}}},vk=`person:workemail:profileurl:waterfall@1`,yk=h(`profile_url`),bk=h(`work_email`),xk=h(`email_validation_status`),Sk=[`hunter`,`amplemarket`,`findymail`,`leadmagic`,`crustdata`],Ck=[{provider:`hunter`},{provider:`amplemarket`},{provider:`leadmagic`},{provider:`findymail`},{provider:`crustdata`}],wk=r.object({pipe_id:r.literal(vk),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:Sk,defaultProviders:Ck,sectionKey:`general`}),allow_catch_all_emails:D({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:``,label:`Allow catch-all emails`}),allow_risky_emails:D({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Higher chance of bouncing or being marked as spam.`,label:`Allow risky emails`}),input_fields:I(r.object({[yk.name]:T({fieldName:yk.name})})),output_fields:F(r.object({[bk.name]:O({fieldName:bk.name}),[xk.name]:O({fieldName:xk.name})}))}).optional()}),Tk=e=>z(K(yk,e)),Ek={"person-workemail-profileurl-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:2,level1:{credits:.7,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-crustdata":{provider:`crustdata`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`},"person-workemail-profileurl-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:2.5,level1:{credits:1.5,weight:1}},mode:`onSuccess`}},Dk=class extends B{pipeId=vk;payload;payloadSchema=wk;billableOperations=Ek;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Tk(this.payload.config)}getRawOutputFields(){return{[bk.name]:this.catalogOutput(bk,{isPrimaryOutput:!0}),[xk.name]:this.catalogOutput(xk,{isPrimaryOutput:!1})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_b2b_lookup`,hunter:`prospeo_email_lookup`,amplemarket:`amplemarket-person-reveal`,findymail:`findymail_email_b2b_lookup`,crustdata:`crustdata_realtime_person_enrich`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Ok=wk,kk={pipeId:vk,basePipe:W(vk),label:`Work email from LinkedIn URL`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find work email addresses from B2B profile.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],keywords:[`business email`,`b2b`,`corporate`,`contact`],docPath:G(vk),managedProviders:Sk,allowedUserConnectionProviders:Sk,deprecatedProviders:[],inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Ek,defaultInputRequirement:Tk(null),defaultPayload:{pipe_id:vk,connector:null,run_if:null,config:{providers:Ck,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{profile_url:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},Ak=`person:workemail:waterfall@1`,jk=h(`name`),Mk=h(`company_domain`),Nk=h(`company_name`),Pk=h(`work_email`),Fk=h(`email_validation_status`),Ik=[`leadmagic`,`prospeo`,`amplemarket`,`hunter`,`icypeas`,`findymail`],Lk=[{provider:`leadmagic`},{provider:`prospeo`},{provider:`amplemarket`},{provider:`hunter`},{provider:`icypeas`},{provider:`findymail`}],Rk={"person-workemail-waterfall-v1-leadmagic":{provider:`leadmagic`,allowManagedConnection:!0,credits:{default:.5,level1:{credits:.25,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-icypeas":{provider:`icypeas`,allowManagedConnection:!0,credits:{default:.5,level1:{credits:.25,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-prospeo":{provider:`prospeo`,allowManagedConnection:!0,credits:{default:1,level1:{credits:.5,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-findymail":{provider:`findymail`,allowManagedConnection:!0,credits:{default:1.5,level1:{credits:.75,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-hunter":{provider:`hunter`,allowManagedConnection:!0,credits:{default:1.3,level1:{credits:.75,weight:1}},mode:`onSuccess`},"person-workemail-waterfall-v1-amplemarket":{provider:`amplemarket`,allowManagedConnection:!0,credits:{default:3,level1:{credits:2,weight:1}},mode:`onSuccess`}},zk=r.object({pipe_id:r.literal(Ak),connector:C(),run_if:b(),config:r.object({providers:E({availableProviders:Ik,defaultProviders:Lk,sectionKey:`general`,providerCredits:du(Rk,Ik)}),allow_catch_all_emails:D({path:`config.allow_catch_all_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`Catch-alls appear valid but remain undeliverable-risk.`,label:`Allow catch-all emails`}),allow_risky_emails:D({path:`config.allow_risky_emails`,defaultValue:!0,groupPath:`config.general`,sectionKey:`general`,info:`DNS configuration and spam reputation may flag emails as high-risk.`,label:`Allow risky emails`}),input_fields:I(r.object({[jk.name]:T({fieldName:jk.name}),[Mk.name]:T({fieldName:Mk.name}),[Nk.name]:T({fieldName:Nk.name})})),output_fields:F(r.object({[Pk.name]:O({fieldName:Pk.name}),[Fk.name]:O({fieldName:Fk.name})}))}).optional()}),Bk=e=>Yl(z(K(jk,e)),Xl(K(Mk,e),K(Nk,e))),Vk=class extends B{pipeId=Ak;payload;payloadSchema=zk;billableOperations=Rk;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return this.payload.config?.providers.map(e=>e.provider)||[]}estimateBillableOperations(e){return q(e,...this.getProviderNames().map(e=>Y(e,this.billableOperations).billableOperation))}getInputRequirement(){return Bk(this.payload.config)}getRawOutputFields(){return{[Pk.name]:this.catalogOutput(Pk,{isPrimaryOutput:!0}),[Fk.name]:this.catalogOutput(Fk,{isPrimaryOutput:!0})}}getConnectionsRequirements(){let e={leadmagic:`leadmagic_email_lookup`,prospeo:`prospeo_email_lookup`,icypeas:`icypeas_email_lookup`,findymail:`findymail_email_lookup`,hunter:`hunter_email_finder`,amplemarket:`amplemarket-person-reveal`};return(this.payload.config?.providers||[]).map((t,n)=>({provider:t.provider,rateLimitRatio:J(n),rateLimitOperation:e[t.provider],allowManagedConnection:!0}))}},Hk=zk,Uk={pipeId:Ak,basePipe:W(Ak),label:`Work email from name`,executionMode:`waterfall`,categories:[`people_data`],lifecycle:null,description:`Find work email addresses in a waterfall motion.`,tags:[U.EMAIL,U.WORK_EMAIL,U.WATERFALL],keywords:[`business email`,`b2b`,`corporate`,`contact`],docPath:G(Ak),managedProviders:Ik,deprecatedProviders:[],allowedUserConnectionProviders:Ik,inputFieldMode:`static`,outputFieldMode:`static`,billableOperations:Rk,defaultInputRequirement:Bk(null),defaultPayload:{pipe_id:Ak,connector:null,run_if:null,config:{providers:Lk,allow_catch_all_emails:!0,allow_risky_emails:!0,input_fields:{company_name:{alias:``},company_domain:{alias:``},name:{alias:``}},output_fields:{work_email:{alias:``,enabled:!0},email_validation_status:{alias:``,enabled:!1}}}}},Wk=`prompt:run@1`,Gk=`prompt-run-v1`,Kk=ks(Gk),qk=r.object({pipe_id:r.literal(Wk),connector:C(),run_if:b(),config:r.object({prompt:xc({sectionKey:`general`,path:`config.prompt`,placeholder:V(`prompt`),groupPath:`config.prompt`,supportedTags:[`input`,`output`]}),model:Zc({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.prompt`,billableOperations:Kk})})}),Jk=class extends B{pipeId=Wk;payload;payloadSchema=qk;billableOperations=Kk;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return Ss(this.payload.config.model)}estimateBillableOperations(e){return js(e,{model:this.payload.config.model,prefix:Gk,inputTokens:600,outputTokens:800})}getInputRequirement(){return lu([this.payload.config.prompt.template])}getSecretRequirements(){return H([this.payload.config.prompt.template])}getConstantRequirements(){return uu([this.payload.config.prompt.template])}getRawOutputFields(){let e=this.payload.config.prompt.template,t=this.payload.config.prompt.json_schemas??{},n={},r;try{r=Fo(e)}catch{return n}for(let e of r.outputs){let r=e.type;if(r===`json`){let i=e.schemaRef?t[e.schemaRef]:void 0;n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:{zodSchema:i,exampleValue:null},format:null,isCatalogFIeld:!1,isPrimaryOutput:!1}}else n[e.name]={enabled:!0,name:e.name,label:e.name,resolvedName:e.name,type:r,description:e.description,jsonMeta:null,format:e.format??null,isCatalogFIeld:!1,isPrimaryOutput:!1}}return n}getConnectionsRequirements(){return Cs(this.payload.config.model)}},Yk=qk,Xk={pipeId:Wk,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(Wk),label:`AI prompt`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,description:`Executes configurable AI prompts with structured output fields.`,guide:`General-purpose AI prompt runner. Inputs and outputs are fully dynamic — defined by the tags in the prompt template. For extracting a value from a JSON / known-schema field, do NOT use this — use the deterministic json:extract:multi@1 (JSONata) instead: it's cheaper, reproducible, and runs on a schedule with no model. Reserve prompt:run@1 for genuine judgment or free-text generation (classify, summarize, rewrite).`,tags:[U.AI],keywords:[`llm`,`gpt`,`chatgpt`,`openai`,`generate`,`classify`,`extract`],docPath:G(Wk),defaultInputRequirement:null,billableOperations:Kk,allowedUserConnectionProviders:ws(),managedProviders:ws(),deprecatedProviders:[],defaultPayload:{pipe_id:Wk,connector:null,run_if:null,config:{model:`openai-high`,prompt:{template:``,json_schemas:{}}}}},Zk=[{label:`demo-leads`,value:`demo-leads`},{label:`demo-companies`,value:`demo-companies`},{label:`demo-contacts`,value:`demo-contacts`}],Qk=[{label:`Demo project`,value:`demo-project`},{label:`Sales pipeline`,value:`sales-pipeline`}];function $k(e){let t=e?.config?.project;return typeof t==`string`&&t.length>0?t:void 0}function eA(e){if(!e||e.conditions.length===0)return null;let t=JSON.stringify({logic:e.logic,conditions:e.conditions.map(e=>[e.field_name,e.operator,e.value])}),n=2166136261;for(let e=0;e<t.length;e++)n^=t.charCodeAt(e),n=Math.imul(n,16777619)>>>0;return n.toString(16).padStart(8,`0`)}function tA(e,t,n){let r=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40),i=`rr--${r(e)}--${r(t)}`;return n?`${i}--f-${r(n)}`:i}function nA(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}const rA={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?Zk:t?(await t.sheets.list({query:e})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},iA={requires:{connection:`pipe0`,fields:[`config.project`]},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n,payload:r})=>n===`sandbox`?Zk:t?(await t.sheets.list({query:e,projectSlug:$k(r)})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},aA={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see project suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?Qk:t?(await t.projects.list({query:e})).map(e=>({label:e.name&&e.name!==e.slug?`${e.name} (${e.slug})`:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},oA=[{value:`email`,label:`email`,data:{type:`string`,format:`email`}},{value:`name`,label:`name`,data:{type:`string`}},{value:`company`,label:`company`,data:{type:`string`}}],sA={"demo-leads":oA,"demo-companies":[{value:`domain`,label:`domain`,data:{type:`string`,format:`website_url`}},{value:`company_name`,label:`company_name`,data:{type:`string`}}],"demo-contacts":oA},cA=e=>({requires:{connection:`pipe0`,fields:[e.sheetPath]},enabledIf:g(`pipe0`,`Select a pipe0 connection to see column suggestions`),options:async({payload:t,client:n,environment:r})=>{let i=nA(t,e.sheetPath);return typeof i!=`string`||!i.trim()||i.includes(`{{`)?[]:r===`sandbox`?sA[i.trim()]??oA:n?(await n.sheets.fields({slug:i.trim()})).filter(t=>(e.includeJson||t.type!==`json`)&&t.name.toLowerCase()!==`id`).map(e=>({value:e.name,label:e.name,data:{type:String(e.type),...e.format?{format:String(e.format)}:{}}})):[]},widgets:{provider_logo:{provider:`pipe0`}}}),lA=`row:append:sheet@1`,uA=h(`sheet_record_id`),dA=h(`created_sheet`),fA=r.object({pipe_id:r.literal(lA),connector:S(),run_if:b(),config:r.object({project:x({label:`Project`,info:"Project the destination sheet lives in (its org-unique slug). Pick an existing project or type a new slug — a new project is created when `allow_entity_creation` is on.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.project`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:aA}),sheet:x({label:`Sheet ID`,info:'The destination sheet\'s identifier (its slug — NOT the display name). Slugs are org-unique: pick an existing sheet to append into it, or type a NEW slug to create one — a generic slug (e.g. "results", "companies") is likely to match an unrelated existing sheet, so for a new sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") that can\'t collide. Type `@` to insert a field reference / `$` for a secret.',groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:iA,enabledIf:e=>e.config?.project?{disabled:!1}:{disabled:!0,message:`Select a project first`}}),run:D({defaultValue:!0,groupPath:`config.advanced`,path:`config.run`,sectionKey:`general`,description:`Auto-run sheet row after append action.`,label:`Run after append`}),allow_entity_creation:D({label:`Allow creating missing entities`,description:`Create missing fields, sheets, and projects as needed (unknown fields become columns; a missing sheet or project is created).`,defaultValue:!0,groupPath:`config.advanced`,path:`config.allow_entity_creation`,sectionKey:`general`}),write_fields:Mc({label:`Fields`,info:`All fields are written if empty.`,groupPath:`config.general`,path:`config.write_fields`,sectionKey:`general`,disableSearch:!0}),output_fields:F(r.object({[uA.name]:O({fieldName:uA.name}),[dA.name]:O({fieldName:dA.name})}))})}),pA={"row-append-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},mA=class extends B{pipeId=lA;payload;payloadSchema=fA;billableOperations=pA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-append-sheet-v1-pipe0`)}getInputRequirement(){let e=[lu([this.payload.config.project,this.payload.config.sheet],{expectedType:`string`,expectedFormat:`text`})];if(this.payload.config.write_fields?.length)for(let t of this.payload.config.write_fields)e.push(z({name:t.field_name,resolvedName:t.field_name,label:``,description:``,type:e=>{let n=cu(e,t.field_name);if(!n)throw Error(`Unable to find field with name ${t.field_name}. But needed by prompt parser.`);return n.type||`unknown`},format:null}));return Yl(...e)}getSecretRequirements(){return H([this.payload.config.project,this.payload.config.sheet])}getConstantRequirements(){return uu([this.payload.config.project,this.payload.config.sheet])}getRawOutputFields(){return{[uA.name]:this.catalogOutput(uA),[dA.name]:this.catalogOutput(dA)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},hA=fA,gA={pipeId:lA,basePipe:W(lA),label:`Append row to sheet`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:"Add rows to a pipe0 sheet in a given project. config.project and config.sheet may each be a literal slug or a `{{ field_name }}` tag.",guide:`Append records to another pipe0 sheet. config.project (REQUIRED) is the destination project's org-unique slug — when working inside a project, pass THAT project's slug (see CURRENT CONTEXT). config.sheet is the destination sheet's slug; both may be a \`{{ field }}\` tag for a per-row destination. With allow_entity_creation on, a missing project/sheet (and unknown fields) are created; if the sheet slug already exists in a DIFFERENT project the rows fail. Destination slugs are ORG-UNIQUE, so config.sheet addresses a sheet across your whole org: an existing slug REUSES that sheet (appending into it) when it's in config.project, and FAILS when it lives elsewhere — so for a genuinely NEW sheet use a short descriptive slug plus 3-4 random alphanumeric chars (e.g. "ceos-x7k2") — you cannot see other projects' slugs, so only the random suffix makes a new slug collision-proof; set the display name afterwards with sheet:update@1 config.name. To explode a LIST field into MANY rows (denormalize a 1:N relationship), use row:expandappend:sheet@1 instead. To bulk-copy existing rows across sheets, prefer the rows:copy_to_sheet@1 effect. NON-IDEMPOTENT: each run appends again, so re-running duplicates rows (and you cannot undo rows written to another sheet) — dry-run the flow in sandbox first (env:change@1), and to retry after a partial failure adopt the succeeded cells (rows:adopt@1 with adopt_statuses:["completed"]) then rows:enrich@1. Requires a pipe0 connection (list_connections).`,docPath:G(lA),tags:[U.FIELDS],keywords:[`add`,`insert`,`write`,`push`,`export`],billableOperations:pA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:lA,connector:{strategy:`first`,connections:[]},run_if:null,config:{project:``,sheet:``,run:!0,allow_entity_creation:!0,write_fields:[],output_fields:{sheet_record_id:{alias:``,enabled:!0},created_sheet:{alias:``,enabled:!0}}}}},_A=`row:expandappend:sheet@1`,vA=h(`sheet_record_ids`),yA=h(`input_objects`),bA=`expanded_value`,xA=r.object({pipe_id:r.literal(_A),connector:S(),run_if:b(),config:r.object({project:x({label:`Project`,info:"Project the destination sheet lives in (its org-unique slug). Pick an existing project or type a new slug — a new project is created when `allow_entity_creation` is on.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.project`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:aA}),sheet:x({label:`Sheet ID`,info:`The destination sheet's identifier (its slug — NOT the display name). Slugs are org-unique: pick an existing sheet to write into it, or type a NEW slug to create one. A generic slug (e.g. "results", "companies") is likely to match an unrelated existing sheet, so for a new sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") that can't collide.`,groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:iA,enabledIf:e=>e.config?.project?{disabled:!1}:{disabled:!0,message:`Select a project first`}}),run:D({defaultValue:!0,groupPath:`config.general`,path:`config.run`,sectionKey:`general`,info:`Enrich record after write. Ignored if target sheet writes to other sheets.`,label:`Run`}),allow_entity_creation:D({label:`Allow creating missing entities`,description:`Create missing entities as needed (a missing sheet or project is created, along with the output column on the destination).`,defaultValue:!0,groupPath:`config.advanced`,path:`config.allow_entity_creation`,sectionKey:`general`}),...qc({groupPath:`config.destination`,sectionKey:`general`,defaultName:bA,nameInfo:`Name of the field each list item is written to on the destination sheet. Each item is stored as-is (objects/arrays as one json cell); extract flat columns afterwards with json:extract:multi@1.`}),input_fields:I(r.object({[yA.name]:T({fieldName:yA.name})})),output_fields:F(r.object({[vA.name]:O({fieldName:vA.name})}))})}).check(e=>{let t=e.value.config?.destination_field_name;t&&Kl(t)&&e.issues.push({code:`custom`,input:t,path:[`config`,`destination_field_name`],message:`'${t}' is reserved and cannot be used as a destination field name.`})}),SA={"row-expandappend-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},CA=e=>z(K(yA,e)),wA=class extends B{pipeId=_A;payload;payloadSchema=xA;billableOperations=SA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-expandappend-sheet-v1-pipe0`)}getInputRequirement(){return CA(this.payload.config)}getRawOutputFields(){return{[vA.name]:this.catalogOutput(vA)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},TA=xA,EA={pipeId:_A,basePipe:W(_A),label:`Expand list to sheet`,executionMode:`single`,categories:[`actions`,`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:"Expand a list into sheet rows — each item is written as-is to an `expanded_value` column (objects/arrays as json).",guide:`Denormalize a 1:N list into rows on ANOTHER sheet: each item in the input_objects array becomes its own row on config.sheet, inside config.project (REQUIRED — the destination project's org-unique slug; when working inside a project pass THAT slug, see CURRENT CONTEXT). Every item is written AS-IS to a single column on the destination — an object/array lands as one json cell (its fields are NOT spread into separate columns), a primitive as a scalar. That column is \`expanded_value\` by default; rename/retype it via config.destination_field_name / destination_field_type / destination_field_format / destination_field_label (type/format are inferred from the data when left unset). To get flat columns, run json:extract:multi@1 ON THE DESTINATION sheet afterwards to pull out exactly the values you need. With allow_entity_creation on, a missing project/sheet (and the expanded_value column) are created; a sheet slug that exists in a DIFFERENT project fails the rows. Destination slugs are ORG-UNIQUE, so config.sheet addresses a sheet across your whole org: an existing slug REUSES that sheet (appending into it) when it's in config.project, and FAILS when it lives elsewhere — a generic slug like "results"/"companies"/"current-employers" will likely hit an unrelated sheet. When you mean a genuinely NEW sheet, use a short descriptive slug plus 3-4 random alphanumeric chars (e.g. "ceos-x7k2", "prospects-employers-9fq") — you cannot see other projects' slugs, so only the random suffix makes a new slug collision-proof; give the sheet its human-readable name afterwards with sheet:update@1 config.name. Use it when a column holds a list you need per-element (e.g. a profile's current employers) BEFORE enriching each element — never collapse the list with an LLM. Requires a pipe0 connection (resolve via list_connections). Typical pipeline: json:extract:multi@1 to build the array column → this pipe to explode it into an intermediary sheet → json:extract:multi@1 THERE to flatten the fields you need out of expanded_value → enrich each row (e.g. person:match:role:waterfall@1) → rows:copy_to_sheet@1 to the final sheet. NON-IDEMPOTENT: each run appends again, so re-running duplicates rows (and you cannot undo rows written to another sheet) — dry-run the flow in sandbox first (env:change@1), and to retry after a partial failure adopt the succeeded cells (rows:adopt@1 with adopt_statuses:["completed"]) then rows:enrich@1.`,docPath:G(_A),tags:[U.FIELDS],keywords:[`explode`,`denormalize`,`array`,`split`,`one to many`,`fan out`],billableOperations:SA,defaultInputRequirement:CA(null),inputFieldMode:`static`,outputFieldMode:`static`,defaultPayload:{pipe_id:_A,connector:{strategy:`first`,connections:[]},run_if:null,config:{project:``,sheet:``,run:!0,allow_entity_creation:!0,destination_field_name:bA,destination_field_type:``,destination_field_format:``,destination_field_label:``,input_fields:{input_objects:{alias:``}},output_fields:{sheet_record_ids:{alias:``,enabled:!0}}}}},DA=`row:roundrobin:sheet@1`,OA=ps(g(`pipe0`,`Add a pipe0 connection first`),fs(e=>e.config?.sheet,`Select a sheet first`)),kA=r.object({pipe_id:r.literal(DA),connector:S(),run_if:b(),config:r.object({sheet:nl({label:`Sheet`,info:`The sheet to rotate through — e.g. a roster of sellers. Always another sheet.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet`,required:!0,optionsDef:rA}),sheet_where:gc({label:`Rotation pool`,info:`Only target-sheet rows matching these conditions rotate. Leave empty to rotate over the whole sheet.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_where`,required:!1,enabledIf:OA,fieldNamePlaceholder:`segment`,optionsDef:cA({sheetPath:`config.sheet`})}),sheet_unique_field:Pc({label:`Unique column`,info:`Column of the target sheet that must be filled and unique in every row — checked at run time.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_unique_field`,required:!0,enabledIf:OA,optionsDef:cA({sheetPath:`config.sheet`})}),sheet_copy_fields:Nc({label:`Fields to bring over`,info:`Target-sheet columns copied from the picked row; each becomes an output column.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_copy_fields`,minItems:1,enabledIf:OA,optionsDef:cA({sheetPath:`config.sheet`,includeJson:!0})}),sheet_weight_field:Pc({label:`Weight column`,info:`Numeric target-sheet column scaling each row's share. 0 pauses a row; empty counts as 1. Leave unset for equal shares.`,groupPath:`config.general`,sectionKey:`general`,path:`config.sheet_weight_field`,enabledIf:OA,optionsDef:cA({sheetPath:`config.sheet`})}),counter_field:Pc({label:`Counter field`,info:`Column of this sheet whose unique values advance the rotation.`,groupPath:`config.general`,sectionKey:`general`,path:`config.counter_field`,required:!0})})}),AA={"row-roundrobin-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},jA=class extends B{pipeId=DA;payload;payloadSchema=kA;billableOperations=AA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`row-roundrobin-sheet-v1-pipe0`)}getTemplatedFields(){return(this.payload.config.sheet_where?.conditions??[]).map(e=>typeof e.value==`string`?e.value:null)}getInputRequirement(){let e=this.payload.config.counter_field.field_name;return Yl(z({name:e,resolvedName:e,label:``,description:``,type:t=>cu(t,e)?.type||`unknown`,format:null}),lu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`}))}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getBucketRequirements(){let e=$e(this.payload.config.sheet),t=this.payload.config.counter_field.field_name;if(!e||!t)return[];let n=this.payload.config.sheet_where??null;return(n?.conditions??[]).some(e=>typeof e.value==`string`&&e.value.includes(`{{`))?[]:[{slug:tA(e,t,eA(n)),type:`counter`,schema:null,allowCreation:!0}]}getRawOutputFields(){let e={};for(let t of this.payload.config.sheet_copy_fields)t.field_name&&(e[t.field_name]={description:`Value of the target sheet's "${t.field_name}" column on the round-robin-picked row.`,enabled:!0,format:t.format??null,label:t.field_name,name:t.field_name,resolvedName:t.field_name,jsonMeta:null,type:t.type??`unknown`,isCatalogFIeld:!1,isPrimaryOutput:!1});return e}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},MA=kA,NA={pipeId:DA,basePipe:W(DA),label:`Round-robin from sheet`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Rotate through the rows of another sheet (e.g. a sellers roster): each unique counter value picks the next row round-robin, and the selected columns of the picked row become outputs. Re-run safe — the same counter value always picks the same row.`,guide:"Round-robin assignment from another pipe0 sheet (the roster — e.g. sellers). config.sheet is the target sheet's org-unique slug — one FIXED sheet for the whole pipe, never a per-row reference. config.sheet_where (optional) restricts the ROTATION POOL to target-sheet rows matching the conditions (null = whole sheet); condition field_names are LITERAL target-sheet columns, string values may hold `{{ field }}` refs resolved per lead — e.g. segment eq {{ segment }} routes each lead over its own segment's rows. Each distinct RESOLVED filter cycles on its OWN counter (so slot numbers stay consecutive per pool — strict round robin within each pool); avoid high-cardinality templated filters ({{ email }}-like) — every distinct value creates a counter bucket and will exhaust the org bucket quota. config.sheet_unique_field names a TARGET-sheet column that must be filled in EVERY row and unique across rows — the run fails with a clear message if it has gaps or duplicates (this guarantees every roster row is a distinct assignee). config.sheet_copy_fields are the TARGET-sheet columns copied from the picked row; each becomes an output column named like the column, typed by the entry's `type`/`format` (snapshotted from the target sheet's schema when picked — if the target column's type drifts later, the run fails with an output-type mismatch; re-pick the column to refresh the snapshot). config.counter_field names a column of the CURRENT sheet: every unique value of it takes the next number from an internal counter bucket (first-seen → 1, next new value → 2, …; the SAME value always keeps the SAME number, so re-runs are stable). The pick is slot (n − 1) mod W over the pool's rows in creation order, where W is the pool's total weight (= row count when unweighted) — adding pool rows only changes the wrap; deleting or reordering reshuffles subsequent picks. config.sheet_weight_field (optional) names a NUMERIC target-sheet column: a row with weight w takes w of every W slots, spread evenly across the cycle (weight 2 ≠ two consecutive picks); weight 0 pauses the row; an empty cell counts as 1; a negative or non-integer weight fails the run loudly. Editing weights re-shapes FUTURE picks only — the counter and its bucket are untouched, so rotation never restarts. The internal counter is a REAL org-scoped counter bucket (visible in the buckets UI, slug `rr--<sheet>--<counter field>`); changing the sheet or the counter field starts a fresh rotation. A row with a missing/empty counter value is gated to skipped before the runner. Empty roster → all outputs no_result. A copied column that is empty on the picked row resolves to no_result. Missing sheet (bad slug) fails the record naming the slug. The target sheet is NEVER modified. FREE pipe0 operation; requires a pipe0 connection (list_connections).",docPath:G(DA),tags:[U.FIELDS],keywords:[`rotate`,`rotation`,`distribute`,`routing`,`assign`,`alternate`],billableOperations:AA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`config`,defaultPayload:{pipe_id:DA,connector:{strategy:`first`,connections:[]},run_if:null,config:{sheet:``,sheet_where:null,sheet_unique_field:{field_name:``},sheet_copy_fields:[],sheet_weight_field:{field_name:``},counter_field:{field_name:``}}}},PA=`SELECT table_schema, table_name, column_name, data_type FROM information_schema.columns WHERE table_schema NOT IN ('pg_catalog', 'information_schema') ORDER BY table_schema, table_name, ordinal_position`,FA=`table_catalog NOT IN ('system', '__databricks_internal') AND table_schema <> 'information_schema'`,IA=`SELECT table_catalog, table_schema, table_name FROM system.information_schema.tables WHERE ${FA} ORDER BY table_catalog, table_schema, table_name`,LA=`SELECT table_catalog, table_schema, table_name, column_name, data_type FROM system.information_schema.columns WHERE ${FA} ORDER BY table_catalog, table_schema, table_name, ordinal_position`;function RA(e){return typeof e==`string`?e:String(e??``)}function zA(e){let t=new Map;for(let n of e){let e=RA(n.table_schema),r=RA(n.table_name);if(!r)continue;let i=`${e}.${r}`,a=t.get(i);a||(a={schema:e,name:r,columns:[]},t.set(i,a)),a.columns.push({name:RA(n.column_name),type:RA(n.data_type)})}return t}function BA(e){return`${e.catalog?`${e.catalog}.`:``}${e.schema?`${e.schema}.`:``}${e.name}`}function VA(e,t){if(e.length===0)return{summary:`The connected database exposes no tables outside the system schemas — nothing to query yet.`,data:{tables:[],truncated:t}};let n=e.map(e=>{if(e.columns.length===0)return`- ${BA(e)} — (columns not listed; DESCRIBE or sample to inspect)`;let t=e.columns.slice(0,50),n=e.columns.length-t.length,r=t.map(e=>e.type?`${e.name}:${e.type}`:e.name).join(`, `);return`- ${BA(e)} — ${r}${n>0?` (+${n} more)`:``}`}),r=e.some(e=>e.catalog)?` Names are fully qualified (catalog.schema.table) — use them VERBATIM in config.query.`:``;return{summary:[`Schema map (${e.length} table${e.length===1?``:`s`}${t?`, truncated — the database has more`:``}). Write config.query against these;${r} sample rows free via run_search_oneshot.`,...n].join(`
79
+ `),data:{tables:e,truncated:t}}}async function HA(e){let t=await e({query:IA,limit:500}),n=new Map;for(let e of t.rows){let t=RA(e.table_catalog),r=RA(e.table_schema),i=RA(e.table_name);i&&n.set(`${t}.${r}.${i}`,{catalog:t,schema:r,name:i,columns:[]})}let r=await e({query:LA,limit:500});for(let e of r.rows)n.get(`${RA(e.table_catalog)}.${RA(e.table_schema)}.${RA(e.table_name)}`)?.columns.push({name:RA(e.column_name),type:RA(e.data_type)});return VA([...n.values()],t.hasMore||r.hasMore)}async function UA(e){let t=await e({query:`SHOW TABLES`,limit:500}),n=t.rows.map(e=>({schema:RA(e.database??e.namespace),name:RA(e.tableName??e.table_name)})).filter(e=>e.name),r=t.hasMore||n.length>25,i=[];for(let{schema:t,name:r}of n.slice(0,25)){let n=(await e({query:`DESCRIBE TABLE ${t?`${t}.`:``}${r}`,limit:500})).rows.map(e=>({name:RA(e.col_name),type:RA(e.data_type)})).filter(e=>e.name&&!e.name.startsWith(`#`));i.push({schema:t,name:r,columns:n})}return VA(i,r)}async function WA(e,t){if(t.environment===`sandbox`)return{summary:`Schema exploration needs the real database connection — it's read-only and free. Switch to production (env:change@1) to explore the schema, then rehearse the pipeline in sandbox.`};if(!t.runQuery)return{summary:`Live schema exploration isn't available in this context.`};if(e===`databricks`)try{return await HA(t.runQuery)}catch{try{let e=await t.runQuery({query:PA,limit:500});return VA([...zA(e.rows).values()],e.hasMore)}catch{return UA(t.runQuery)}}let n=await t.runQuery({query:PA,limit:500});return VA([...zA(n.rows).values()],n.hasMore)}const GA=`rows:find:databricks@1`,KA=h(`db_rows_found_count`),qA=h(`db_found_rows`),JA=r.object({pipe_id:r.literal(GA),connector:S(),run_if:b(),config:r.object({query:Sc({label:`SQL query`,info:`A single read-only SELECT statement, resolved per row — use {{ field }} for input refs, {{ SECRETS.X }} / {{ CONSTANTS.X }} for secrets/constants. Do not add your own LIMIT for capping; use the row limit below.`,groupPath:`config.general`,sectionKey:`general`,path:`config.query`,rows:8,required:!0,maxLength:2e4}),limit:$c({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:50}),output_fields:F(r.object({[KA.name]:O({fieldName:KA.name}),[qA.name]:O({fieldName:qA.name})}))})}),YA={"rows-find-databricks-v1-databricks":{provider:`databricks`,allowManagedConnection:!1,mode:null,credits:null,note:`Querying your own Databricks SQL warehouse is free.`}},XA=class extends B{pipeId=GA;payload;payloadSchema=JA;billableOperations=YA;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`databricks`]}estimateBillableOperations(e){return q(e,`rows-find-databricks-v1-databricks`)}getTemplatedFields(){return[this.payload.config.query]}getInputRequirement(){return lu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[KA.name]:this.catalogOutput(KA),[qA.name]:this.catalogOutput(qA)}}getConnectionsRequirements(){return[{provider:`databricks`,rateLimitRatio:1,rateLimitOperation:`databricks_query`,allowManagedConnection:!1}]}async getAgentContext(e){return WA(`databricks`,e)}},ZA=JA,QA={pipeId:GA,basePipe:W(GA),label:`Find rows in Databricks`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`databricks`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in your own Databricks SQL warehouse with a read-only SQL query resolved per row. Outputs the total match count and the matching rows.`,guide:"Databricks SQL dialect; config.query must be a single read-only SELECT, resolved per row via Liquid — `{{ field }}` input refs, `{{ SECRETS.X }}` / `{{ CONSTANTS.X }}` supported. Resolved values are interpolated as text, so quote them in the SQL (WHERE email = '{{ email }}'). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the workspace-wide table/column map (all Unity catalogs) for free. Always reference tables by their FULLY QUALIFIED three-part name exactly as the map lists them (catalog.schema.table); a bare table name resolves against the warehouse's unpredictable current catalog and usually fails with TABLE_OR_VIEW_NOT_FOUND. Tables under the `samples` catalog (and other built-in demo schemas like `tpch`) are DEMO data, NOT the customer's own — never answer from them without confirming. READ-ONLY and idempotent — the gateway enforces single-statement SELECT validation. db_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); db_rows_found_count is always the TRUE total. When nothing matches, db_found_rows resolves to no_result (NOT an empty array) — db_rows_found_count (0) still completes, so condition on it to branch on absence. A field resolving to empty renders as an empty string in the SQL — guard with run_if if that must not match. Requires a databricks connection (list_connections).",docPath:G(GA),tags:[U.FIELDS,U.NEW],keywords:[`sql`,`query`,`lookup`,`warehouse`,`database`,`select`],billableOperations:YA,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:GA,connector:{strategy:`first`,connections:[]},run_if:null,config:{query:``,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!1},db_found_rows:{alias:``,enabled:!0}}}}},$A=`rows:find:postgres@1`,ej=h(`db_rows_found_count`),tj=h(`db_found_rows`),nj=r.object({pipe_id:r.literal($A),connector:S(),run_if:b(),config:r.object({query:Sc({label:`SQL query`,info:`A single read-only SELECT statement, resolved per row — use {{ field }} for input refs, {{ SECRETS.X }} / {{ CONSTANTS.X }} for secrets/constants. Do not add your own LIMIT for capping; use the row limit below.`,groupPath:`config.general`,sectionKey:`general`,path:`config.query`,rows:8,required:!0,maxLength:2e4}),limit:$c({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:50}),output_fields:F(r.object({[ej.name]:O({fieldName:ej.name}),[tj.name]:O({fieldName:tj.name})}))})}),rj={"rows-find-postgres-v1-postgres":{provider:`postgres`,allowManagedConnection:!1,mode:null,credits:null,note:`Querying your own PostgreSQL database is free.`}},ij=class extends B{pipeId=$A;payload;payloadSchema=nj;billableOperations=rj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`postgres`]}estimateBillableOperations(e){return q(e,`rows-find-postgres-v1-postgres`)}getTemplatedFields(){return[this.payload.config.query]}getInputRequirement(){return lu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[ej.name]:this.catalogOutput(ej),[tj.name]:this.catalogOutput(tj)}}getConnectionsRequirements(){return[{provider:`postgres`,rateLimitRatio:1,rateLimitOperation:`postgres_query`,allowManagedConnection:!1}]}async getAgentContext(e){return WA(`postgres`,e)}},aj=nj,oj={pipeId:$A,basePipe:W($A),label:`Find rows in Postgres`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`postgres`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in your own PostgreSQL database with a read-only SQL query resolved per row. Outputs the total match count and the matching rows.`,guide:"PostgreSQL dialect; config.query must be a single read-only SELECT, resolved per row via Liquid — `{{ field }}` input refs, `{{ SECRETS.X }}` / `{{ CONSTANTS.X }}` supported. Resolved values are interpolated as text, so quote them in the SQL (WHERE email = '{{ email }}'). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the full table/column map for free. READ-ONLY and idempotent — the gateway enforces single-statement SELECT validation and a read-only transaction. db_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); db_rows_found_count is always the TRUE total. When nothing matches, db_found_rows resolves to no_result (NOT an empty array) — db_rows_found_count (0) still completes, so condition on it to branch on absence. A field resolving to empty renders as an empty string in the SQL — guard with run_if if that must not match. Requires a postgres connection (list_connections).",docPath:G($A),tags:[U.FIELDS,U.NEW],keywords:[`sql`,`query`,`lookup`,`database`,`select`],billableOperations:rj,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:$A,connector:{strategy:`first`,connections:[]},run_if:null,config:{query:``,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!1},db_found_rows:{alias:``,enabled:!0}}}}},sj=`rows:find:sheet@1`,cj=h(`sheet_rows_found_count`),lj=h(`sheet_found_rows`),uj=h(`sheet_found_row_ids`),dj=r.object({pipe_id:r.literal(sj),connector:S(),run_if:b(),config:r.object({sheet:x({label:`Sheet ID`,info:"The sheet to search (its org-unique slug — NOT the display name). Type `@` to insert a field reference for a per-row sheet.",groupPath:`config.general`,sectionKey:`general`,inputType:`text`,path:`config.sheet`,minLength:3,expectedTagType:`string`,expectedTagFormat:`text`,optionsDef:rA}),where:gc({label:`Match conditions`,info:"Conditions on the target sheet's columns. Column names are literal; in the value, type `/` to insert a field reference (e.g. `{{ email }}`).",groupPath:`config.general`,sectionKey:`general`,path:`config.where`,fieldNamePlaceholder:`email`,optionsDef:cA({sheetPath:`config.sheet`})}),limit:$c({label:`Row limit`,info:`Maximum number of rows returned in the matching-rows output. The rows-found count is always the true total.`,groupPath:`config.advanced`,sectionKey:`general`,path:`config.limit`,min:1,max:100}),output_fields:F(r.object({[cj.name]:O({fieldName:cj.name}),[lj.name]:O({fieldName:lj.name}),[uj.name]:O({fieldName:uj.name})}))})}),fj={"rows-find-sheet-v1-pipe0":{provider:`pipe0`,allowManagedConnection:!0,credits:{default:0},mode:`always`}},pj=class extends B{pipeId=sj;payload;payloadSchema=dj;billableOperations=fj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-find-sheet-v1-pipe0`)}getTemplatedFields(){return[this.payload.config.sheet,...(this.payload.config.where?.conditions??[]).map(e=>typeof e.value==`string`?e.value:null)]}getInputRequirement(){return lu(this.getTemplatedFields(),{expectedType:`string`,expectedFormat:`text`})}getSecretRequirements(){return H(this.getTemplatedFields())}getConstantRequirements(){return uu(this.getTemplatedFields())}getRawOutputFields(){return{[cj.name]:this.catalogOutput(cj),[lj.name]:this.catalogOutput(lj),[uj.name]:this.catalogOutput(uj)}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitRatio:1,rateLimitOperation:`pipe0_api_operation`,allowManagedConnection:!0}]}},mj=dj,hj={pipeId:sj,basePipe:W(sj),label:`Find rows in sheet`,executionMode:`single`,categories:[`tools`],lifecycle:null,allowedUserConnectionProviders:[`pipe0`],managedProviders:[],deprecatedProviders:[],description:`Look up rows in another pipe0 sheet matching a condition block (and/or over eq, neq, gt, gte, lt, lte, contains, matches). Outputs the total match count, the matching rows, and their record IDs.`,guide:'Find rows in another pipe0 sheet. config.sheet is the target sheet\'s org-unique slug (a literal or a `{{ field }}` tag). config.where is a condition block over the TARGET sheet\'s columns: `logic` "and"/"or" combines value conditions; each condition\'s field_name is a LITERAL column name (never templated, NOT validated against the target sheet — a wrong name behaves like a null cell), and its value may be a literal or contain `{{ field }}` tags resolved per row. Operators: eq/neq compare as text (a number cell 42 matches the value "42"; neq ALSO matches rows where the column is missing or null; JSON object/array cells effectively never match); gt/gte/lt/lte compare numerically (non-numeric cells never match; a non-numeric condition value fails the row); contains is case-INsensitive substring; matches is case-SENSITIVE regex (invalid pattern fails the row). A `null` value with eq matches missing/null cells. READ-ONLY and idempotent — one query per row, the target sheet is never modified. sheet_found_rows is capped by config.limit and a ~25KB size budget (rows are dropped from the end to fit); sheet_rows_found_count is always the TRUE total. When nothing matches, sheet_found_rows and sheet_found_row_ids resolve to no_result (NOT an empty array) — sheet_rows_found_count (0) still completes, so condition on it to branch on absence. String condition values that resolve to an empty string fail the row (a blank field must not match everything) — guard with run_if. Requires a pipe0 connection (list_connections).',docPath:G(sj),tags:[U.FIELDS],keywords:[`lookup`,`query`,`search`,`match`,`filter`,`vlookup`],billableOperations:fj,defaultInputRequirement:null,inputFieldMode:`config`,outputFieldMode:`static`,defaultPayload:{pipe_id:sj,connector:{strategy:`first`,connections:[]},run_if:null,config:{sheet:``,where:null,limit:10,output_fields:{sheet_rows_found_count:{alias:``,enabled:!1},sheet_found_rows:{alias:``,enabled:!0},sheet_found_row_ids:{alias:``,enabled:!1}}}}},gj=`template:fill@1`,_j=h(`template_output`),vj=r.object({pipe_id:r.literal(gj),connector:C(),run_if:b(),config:r.object({template:Sc({sectionKey:`general`,path:`config.template`,label:`Template`,placeholder:V(`template`),groupPath:`config.general`,required:!0}),output_fields:F(r.object({[_j.name]:O({fieldName:_j.name})}))})}),yj={"template-fill-v1-pipe0":{credits:{default:0},allowManagedConnection:!0,provider:`pipe0`,mode:`always`}},bj=class extends B{pipeId=gj;payload;payloadSchema=vj;billableOperations=yj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`template-fill-v1-pipe0`)}getInputRequirement(){return lu([this.payload.config.template])}getSecretRequirements(){return H([this.payload.config.template])}getConstantRequirements(){return uu([this.payload.config.template])}getRawOutputFields(){return{[_j.name]:this.catalogOutput(_j)}}getConnectionsRequirements(){return[]}},xj=vj,Sj={pipeId:gj,inputFieldMode:`config`,outputFieldMode:`config`,basePipe:W(gj),label:`Fill a text template`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Replaces template tags like {{ name }} with actual values.`,tags:[U.TEXT],keywords:[`merge`,`personalize`,`liquid`,`placeholder`,`variables`,`mail merge`],docPath:G(gj),defaultInputRequirement:null,billableOperations:yj,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],deprecatedProviders:[],defaultPayload:{pipe_id:gj,connector:null,run_if:null,config:{template:``,output_fields:{template_output:{alias:``,enabled:!0}}}}},Cj=`website:extract:firecrawl@1`,wj=h(`website_url`),Tj=h(`firecrawl_extract_result`),Ej=r.object({pipe_id:r.literal(Cj),connector:C(),run_if:b(),config:r.object({json_schema:tl({sectionKey:`general`,groupPath:`config.extraction`,path:`config.json_schema`,label:`Output JSON schema`,info:`Specify the data you want to extract as a JSON schema.`,allowEmpty:!1}),extraction_prompt:Yc({sectionKey:`general`,groupPath:`config.extraction`,path:`config.extraction_prompt`,label:`Extraction Prompt`,info:`Prompt the scraper on what it should extract. Template tags are not supported.`,rows:5,minLength:10,placeholder:`E.g. Extract the company missing and latest news.`}),enable_full_domain_crawl:D({sectionKey:`general`,groupPath:`config.extraction`,defaultValue:!1,path:`config.enable_full_domain_crawl`,info:`If this option is enabled all URLs from this domain will be scraped.`,label:`Crawl full domain`}),enable_web_search:D({sectionKey:`general`,groupPath:`config.extraction`,label:`Enable web search`,path:`enable_web_search`,defaultValue:!1,info:`When 'true', the extraction will follow links outside the specified domain.`}),input_fields:I(r.object({[wj.name]:T({fieldName:wj.name})})),output_fields:F(r.object({[Tj.name]:O({fieldName:Tj.name})}))})}),Dj=e=>z(K(wj,e)),Oj={"website-extract-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:2,level1:{credits:1,weight:1}},mode:`onSuccess`}},kj=class extends B{pipeId=Cj;payload;payloadSchema=Ej;billableOperations=Oj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-extract-firecrawl-v1-firecrawl`)}getInputRequirement(){return Dj(this.payload.config)}getRawOutputFields(){return{[Tj.name]:this.catalogOutput(Tj)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},Aj=Ej,jj={pipeId:Cj,basePipe:W(Cj),label:`Extract`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Perform advanced AI scraping to extract data from any website. Search all subdomains and combine scraped data with search results.`,tags:[U.SCRAPE],keywords:[`scrape`,`crawl`,`ai`,`structured data`,`json`,`web`],docPath:G(Cj),billableOperations:Oj,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:Dj(null),defaultPayload:{pipe_id:Cj,run_if:null,connector:null,config:{json_schema:{type:`object`},enable_full_domain_crawl:!1,enable_web_search:!1,extraction_prompt:``,input_fields:{website_url:{alias:``}},output_fields:{firecrawl_extract_result:{alias:``,enabled:!0}}}}},Mj=`website:extract:parallel@1`,Nj=h(`website_url`),Pj=h(`parallel_extract_result`),Fj=r.object({pipe_id:r.literal(Mj),connector:C(),run_if:b(),config:r.object({objective:Yc({sectionKey:`general`,groupPath:`config.extraction`,path:`config.objective`,label:`Objective`,info:`Natural-language description of what to extract. Template tags are not supported.`,rows:5,minLength:10,placeholder:`E.g. When was the company founded and what does it do?`}),input_fields:I(r.object({[Nj.name]:T({fieldName:Nj.name})})),output_fields:F(r.object({[Pj.name]:O({fieldName:Pj.name})}))})}),Ij=e=>z(K(Nj,e)),Lj={"website-extract-parallel-v1-parallel":{allowManagedConnection:!0,provider:`parallel`,credits:{default:.1},mode:`onSuccess`}},Rj=class extends B{pipeId=Mj;payload;payloadSchema=Fj;billableOperations=Lj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`parallel`]}estimateBillableOperations(e){return q(e,`website-extract-parallel-v1-parallel`)}getInputRequirement(){return Ij(this.payload.config)}getRawOutputFields(){return{[Pj.name]:this.catalogOutput(Pj,{isPrimaryOutput:!0})}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitRatio:1,rateLimitOperation:`parallel_extract`,allowManagedConnection:!0}]}},zj=Fj,Bj={pipeId:Mj,basePipe:W(Mj),label:`Extract (Parallel)`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Extract relevant content from a website using Parallel's Extract API. Returns a flat list of results — page title, publish date and the excerpts most relevant to your objective.`,tags:[U.SCRAPE],keywords:[`scrape`,`crawl`,`content`,`web`,`research`],docPath:G(Mj),billableOperations:Lj,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`parallel`],managedProviders:[`parallel`],deprecatedProviders:[],defaultInputRequirement:Ij(null),defaultPayload:{pipe_id:Mj,run_if:null,connector:null,config:{objective:``,input_fields:{website_url:{alias:``}},output_fields:{parallel_extract_result:{alias:``,enabled:!0}}}}},Vj=`website:maplinks:firecrawl@1`,Hj={"website-maplinks-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:1},mode:`onSuccess`}},Uj=h(`website_url`),Wj=h(`mapped_links`),Gj=r.object({pipe_id:r.literal(Vj),connector:C(),run_if:b(),config:r.object({page_limit:$c({label:`Page limit`,info:`Number of pages searched`,groupPath:`config.general`,max:50,min:1,path:`config.page_limit`,sectionKey:`general`}).nullish(),sitemap:Xc({label:`Sitemap`,info:`Include sitemap links`,sectionKey:`general`,groupPath:`config.general`,path:`config.sitemap`,defaultValue:`include`,required:!1,options:[{value:`include`,label:`Include`},{value:`skip`,label:`Skip`},{value:`only`,label:`Only`}]}),search:Jc({sectionKey:`general`,label:`Search`,inputType:`text`,info:`Return matching urls`,groupPath:`config.general`,path:`config.search`}).nullable().default(``),input_fields:I(r.object({[Uj.name]:T({fieldName:Uj.name})})),output_fields:F(r.object({[Wj.name]:O({fieldName:Wj.name})}))}).optional()}),Kj=e=>z(K(Uj,e)),qj=class extends B{pipeId=Vj;payload;payloadSchema=Gj;billableOperations=Hj;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-maplinks-firecrawl-v1-firecrawl`)}getInputRequirement(){return Kj(this.payload.config)}getRawOutputFields(){return{[Wj.name]:this.catalogOutput(Wj)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_map_requests`,allowManagedConnection:!0}]}},Jj=Gj,Yj={pipeId:Vj,basePipe:W(Vj),label:`Map domain links`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Input a website and get all internal URLs on the website. Results do not include links to external pages.`,tags:[U.SCRAPE],keywords:[`sitemap`,`crawl`,`urls`,`pages`,`discover`,`internal`],docPath:G(Vj),billableOperations:Hj,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:Kj(null),defaultPayload:{pipe_id:Vj,run_if:null,connector:null,config:{page_limit:25,sitemap:`include`,search:``,input_fields:{website_url:{alias:``}},output_fields:{mapped_links:{alias:``,enabled:!0}}}}},Xj=`website:scrape:firecrawl@1`,Zj=h(`website_url`),Qj=h(`website_markdown`),$j=h(`website_html`),eM=h(`website_links`),tM=r.object({pipe_id:r.literal(Xj),connector:C(),run_if:b(),config:r.object({scrape_main_only:D({defaultValue:!1,label:`Scrape main content only?`,info:`If selected, content like headers, footers, and sidebars are excluded from the scrape results.`,sectionKey:`general`,groupPath:`config.general`,path:`config.scrape_main_only`}),input_fields:I(r.object({[Zj.name]:T({fieldName:Zj.name})})),output_fields:F(r.object({[Qj.name]:O({fieldName:Qj.name}),[$j.name]:O({fieldName:$j.name}),[eM.name]:O({fieldName:eM.name})}))}).optional()}),nM=e=>z(K(Zj,e)),rM={"website-scrape-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`onSuccess`}},iM=class extends B{pipeId=Xj;payload;payloadSchema=tM;billableOperations=rM;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return q(e,`website-scrape-firecrawl-v1-firecrawl`)}getInputRequirement(){return nM(this.payload.config)}getRawOutputFields(){return{[Qj.name]:this.catalogOutput(Qj),[$j.name]:this.catalogOutput($j),[eM.name]:this.catalogOutput(eM)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},aM=tM,oM={pipeId:Xj,basePipe:W(Xj),label:`Scrape`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Turn any URL into clean data.`,tags:[U.SCRAPE],keywords:[`crawl`,`html`,`markdown`,`content`,`web page`,`fetch`],docPath:G(Xj),billableOperations:rM,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:nM(null),defaultPayload:{pipe_id:Xj,run_if:null,connector:null,config:{scrape_main_only:!0,input_fields:{website_url:{alias:``}},output_fields:{website_markdown:{alias:``,enabled:!0},website_html:{alias:``,enabled:!1},website_links:{alias:``,enabled:!1}}}}},sM=`website:scrapelist:firecrawl@1`,cM={"website-scrapelist-firecrawl-v1-firecrawl":{allowManagedConnection:!0,provider:`firecrawl`,credits:{default:.1,level1:{credits:.05,weight:1}},mode:`onSuccess`,note:`You are charged per url that is scraped.`}},lM=h(`urls`),uM=h(`scrape_list_response`),dM=r.object({pipe_id:r.literal(sM),connector:C(),run_if:b(),config:r.object({scrape_main_only:D({label:`Scrape main content only?`,defaultValue:!1,info:`If selected headers, footers, and sidebars will be excluded from the results.`,sectionKey:`general`,groupPath:`config.general`,path:`config.scrape_main_only`}),formats:Qc({options:[{label:`Markdown`,value:`markdown`},{label:`HTML`,value:`html`},{label:`Links`,value:`links`}],disableSearch:!0,info:`Choose what you want to scrape from the website`,required:!1,label:`Formats`,sectionKey:`general`,groupPath:`config.general`,path:`config.formats`}).default([]),input_fields:I(r.object({[lM.name]:T({fieldName:lM.name})})),output_fields:F(r.object({[uM.name]:O({fieldName:uM.name})}))}).optional()}),fM=e=>z(K(lM,e)),pM=class extends B{pipeId=sM;payload;payloadSchema=dM;billableOperations=cM;constructor(e){super(),this.payload=this.validatePayload(e)}getProviderNames(){return[`firecrawl`]}estimateBillableOperations(e){return[{billableOperation:`website-scrapelist-firecrawl-v1-firecrawl`,quantity:e.count*5}]}getInputRequirement(){return fM(this.payload.config)}getRawOutputFields(){return{[uM.name]:this.catalogOutput(uM)}}getConnectionsRequirements(){return[{provider:`firecrawl`,rateLimitRatio:1,rateLimitOperation:`firecrawl_generic`,allowManagedConnection:!0}]}},mM=dM,hM={pipeId:sM,basePipe:W(sM),label:`Scrape list`,executionMode:`single`,categories:[`tools`],lifecycle:null,description:`Turn a list of URLs into clean scraped data.`,tags:[U.SCRAPE],keywords:[`crawl`,`html`,`markdown`,`content`,`batch`,`bulk`],docPath:G(sM),billableOperations:cM,inputFieldMode:`static`,outputFieldMode:`static`,allowedUserConnectionProviders:[`firecrawl`],managedProviders:[`firecrawl`],deprecatedProviders:[],defaultInputRequirement:fM(null),defaultPayload:{pipe_id:sM,run_if:null,connector:null,config:{scrape_main_only:!0,formats:[`html`,`markdown`,`links`],input_fields:{urls:{alias:``}},output_fields:{scrape_list_response:{alias:``,enabled:!0}}}}},gM=`companies:profiles:crustdata@1.companies:profiles:crustdata@2.companies:profiles:amplemarket@1.companies:profiles:amplemarket@2.people:profiles:crustdata@1.people:profiles:crustdata@2.people:profiles:crustdata@3.people:profiles:amplemarket@1.people:profiles:amplemarket@2.companies:entitysearch:parallel@1.people:entitysearch:parallel@1.people:eventguests:luma@1.sheet:rows@1.bucket:entries@1.query:postgres@1.query:databricks@1.posts:content:crustdata@1.contacts:hubspot@1.companies:hubspot@1.deals:hubspot@1.owners:hubspot@1.contacts:salesforce@1.leads:salesforce@1.accounts:salesforce@1.opportunities:salesforce@1.users:salesforce@1.query:salesforce@1`.split(`.`),_M=r.enum(gM);function vM(e,t){let n={name:e,config:t};return jl.hashObject(n)}var Z=class{estimateBillableOperations(e){let{cost:t,billableOperation:n}=this.billing;return t.allowManagedConnection?[{billableOperation:n,quantity:t.mode===`per_result`?e.count:t.mode===`per_page`?e.count/100:1}]:[]}validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}catalogOutput(e){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:e.type,format:e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0,order:`order`in e?e.order:void 0}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}getDedupConfig(){return{match:`any`,fields:[]}}async getAgentContext(e){return null}getHashKey(){return vM(this.searchId,this.payload)}};function Q(e){return e.split(`@`)[0]}function $(e){return`/docs/search-catalog/${Q(e)}/${e.split(`@`)[1]}`}const yM=`bucket:entries@1`,bM=r.object({search_id:r.literal(yM),connector:Ec(),config:r.object({bucket:pl({path:`config.bucket`,groupPath:`config.general`,inputType:`text`,label:`Bucket`,sectionKey:`general`,description:`The bucket's org-unique slug. Its entries (one row each) are returned.`}),limit:P({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entries per page`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),include_metadata:dl({path:`config.include_metadata`,groupPath:`config.general`,sectionKey:`general`,label:`Include metadata`,description:`Provenance (source sheet/row/run) and expiry as extra columns.`,defaultValue:!1})})}),xM={allowManagedConnection:!0,mode:`per_search`,credits:{default:0},info:`Reading your own bucket is free.`},SM=`bucket-entries-v1-pipe0`,CM=class extends Z{billing={billableOperation:SM,cost:xM};searchId=yM;schema=bM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}},wM=bM,TM={searchId:yM,billableOperation:SM,baseSearch:Q(yM),outputFieldMode:`dynamic`,paginationType:`cursor`,label:`Read bucket entries`,categories:[`data`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`List the entries in a bucket — one row per entry, with its identifying field values (and counter number / expiry).`,tags:[U.FIELDS,U.NEW],keywords:[`claims`,`counter`,`suppression`,`list`,`lookup`,`rows`],docPath:$(yM),cost:xM,provider:`pipe0`,defaultPayload:{search_id:yM,connector:{strategy:`first`,connections:[]},config:{bucket:``,limit:100,cursor:``,include_metadata:!1}}},EM=`companies:entitysearch:parallel@1`,DM=h(`company_name`),OM=h(`company_domain`),kM=h(`company_description`),AM=h(`company_profile_url`),jM=h(`parallel_company_entity_match`),MM=r.object({search_id:r.literal(EM),connector:Dc(),config:r.object({objective:ml({path:`config.objective`,sectionKey:`general`,groupPath:`config.general`,label:`Objective`,rows:4,minLength:10,placeholder:`AI startups in Europe that raised a Series A in 2024`,description:`Plain-text natural-language description of the companies to find.`}),limit:P({path:`config.limit`,min:5,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entities to return (5–1000).`}).default(100),output_fields:F(r.object({[DM.name]:j({fieldName:DM.name}),[OM.name]:j({fieldName:OM.name}),[kM.name]:j({fieldName:kM.name}),[AM.name]:j({fieldName:AM.name}),[jM.name]:j({fieldName:jM.name})}))})}),NM={match:`any`,fields:[{fieldName:`company_profile_url`}]},PM={allowManagedConnection:!0,mode:`per_page`,credits:{default:.5},info:`1 page = 100 results; billed per 100 results returned (e.g. 100 results = 1 page, 1,000 results = 10 pages). A search returns up to your selected limit in a single request.`},FM=`companies-entitysearch-parallel-v1`,IM=class extends Z{billing={billableOperation:FM,cost:PM};searchId=EM;schema=MM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[DM.name]:this.catalogOutput(DM),[OM.name]:this.catalogOutput(OM),[kM.name]:this.catalogOutput(kM),[AM.name]:this.catalogOutput(AM),[jM.name]:this.catalogOutput(jM)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitOperation:`parallel_entity_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return NM}},LM=MM,RM={searchId:EM,billableOperation:FM,baseSearch:Q(EM),label:`Company search (AI)`,categories:[`companies`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Natural-language company search powered by Parallel Entity Search.`,tags:[U.COMPANY_PROFILES],keywords:[`find companies`,`accounts`,`prospect`,`natural language`,`organizations`],docPath:$(EM),cost:PM,provider:`parallel`,defaultPayload:{search_id:EM,connector:null,config:{objective:``,limit:100,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},parallel_company_entity_match:{enabled:!1,alias:``}}}}},zM=`companies:hubspot@1`,BM=h(`hubspot_object_id`),VM=h(`company_name`),HM=h(`company_domain`),UM=h(`hubspot_company_match`),WM=r.object({search_id:r.literal(zM),connector:Ec(),config:r.object({query:pl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable company properties (name, domain, website, phone).`}).nullable(),custom_properties:il({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`account_tier`,info:"Added to the company JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:rl({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`industry`,info:`Rows filter on any HubSpot property by internal name — including custom properties. Enumeration values are the portal's internal option values (case-sensitive).`}),domains:A({path:`config.domains`,groupPath:`config.general`,sectionKey:`general`,label:`Domains`,placeholder:`acme.com`}),owner:gl({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Uf}),created_within:hl({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:hl({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),limit:P({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[BM.name]:j({fieldName:BM.name}),[VM.name]:j({fieldName:VM.name}),[HM.name]:j({fieldName:HM.name}),[UM.name]:j({fieldName:UM.name})}))})}),GM={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},KM=`companies-hubspot-v1`,qM=class extends Z{billing={billableOperation:KM,cost:GM};searchId=zM;schema=WM;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[BM.name]:this.catalogOutput(BM),[VM.name]:this.catalogOutput(VM),[HM.name]:this.catalogOutput(HM),[UM.name]:this.catalogOutput(UM)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Kf(e,{objectTypes:[[`companies`,`0-2`]]})}},JM=WM,YM={searchId:zM,billableOperation:KM,baseSearch:Q(zM),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot companies`,categories:[`companies`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List companies from your HubSpot portal: identity columns (id, name, domain) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.WEBSITE,U.NEW],keywords:[`crm`,`lookup`,`list`,`records`,`import`,`account`],docPath:$(zM),guide:"Call get_provider_context first for this portal's property names and enumeration option values — use internal names verbatim. Domain include/exclude matches the primary `domain` property (lowercased). Newly created records lag search indexing by a few moments; archived records never appear. Total results cap at 10,000 per query.",cost:GM,provider:`hubspot`,defaultPayload:{search_id:zM,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:null,domains:{include:[],exclude:[]},owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},hubspot_company_match:{enabled:!0,alias:``}}}}};function XM(e){let t=!0,n=e=>{if(t!==!1&&typeof e==`object`&&e){Array.isArray(e)&&e.length>0&&(t=!1);for(let r of Object.values(e))typeof r!=`object`&&r!=null&&r!==``&&(t=!1),typeof r==`object`&&r&&n(r)}};return n(e),t}const ZM=`companies:profiles:amplemarket@2`,QM=h(`company_name`),$M=h(`company_domain`),eN=h(`company_description`),tN=h(`company_profile_url`),nN=h(`amplemarket_company_match`),rN=r.object({search_id:r.literal(ZM),connector:Dc(),config:r.object({limit:P({label:`Limit`,description:`Max number of search results`,path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`}).default(100),page_number:P({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:F(r.object({[QM.name]:j({fieldName:QM.name}),[$M.name]:j({fieldName:$M.name}),[eN.name]:j({fieldName:eN.name}),[tN.name]:j({fieldName:tN.name}),[nN.name]:j({fieldName:nN.name})})),filters:r.object({hq_locations:N({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),company_names:A({sectionKey:`config.filters`,path:`config.filters.company_names`,label:`Company names`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),company_domains:A({sectionKey:`config.filters`,path:`config.filters.company_domains`,label:`Company domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_profile_urls:A({sectionKey:`config.filters`,path:`config.filters.company_profile_urls`,label:`Company LinkedIn URLs`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),company_types:M({sectionKey:`config.filters`,path:`config.filters.company_types`,disableSearch:!1,label:`Company Type`,description:``,groupPath:`config.filters.categories`,options:p(`amplemarket.company_types`),required:!1}).default([]),investors:_l({sectionKey:`config.filters`,path:`config.filters.investors`,label:`Investor names`,optionsDef:m(`company.crunchbase_investors.crustdata`),description:`A list of company investor names`,placeholder:V(`investor`),groupPath:`config.filters.investors`,disableSearch:!1,required:!1}).default([]),company_industries:sl({sectionKey:`config.filters`,path:`config.filters.company_industries`,optionsDef:ze(`amplemarket.industries`),disableSearch:!1,label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),customer_types:M({sectionKey:`config.filters`,path:`config.filters.customer_types`,options:[{value:`b2b`,label:`B2B`},{value:`b2c`,label:`B2C`}],required:!1,disableSearch:!0,label:`Customer Types`,description:``,groupPath:`config.filters.industry`}).default([]),keywords:A({sectionKey:`config.filters`,path:`config.filters.keywords`,label:`Keywords`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),revenue_groups:M({path:`config.filters.revenue_groups`,sectionKey:`config.filters`,label:`Revenue groups`,description:``,disableSearch:!0,options:p(`amplemarket.company_revenue`),required:!1,groupPath:`config.filters.financials`}).default([]),founded_year:ol({path:`config.filters.founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.general`,min:0,max:2040,description:``}).default({min:null,max:null}),open_position_titles:k({path:`config.filters.open_position_titles`,sectionKey:`config.filters`,label:`Job openings for titles`,groupPath:`config.filters.job_openings`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),headcount:M({sectionKey:`config.filters`,path:`config.filters.headcount`,disableSearch:!1,options:p(`amplemarket.company_size`),label:`Company sizes`,required:!1,description:``,groupPath:`config.filters.company_size`}).default([]),headcount_growth_l6m_in_percent:ol({path:`config.filters.headcount_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months (in %)`,groupPath:`config.filters.company_size`,description:``,max:1e4,min:0}).default({min:null,max:null})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),iN={match:`any`,fields:[{fieldName:`company_profile_url`}]},aN={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},oN=`companies-profiles-amplemarket-v2`,sN=class extends Z{billing={billableOperation:oN,cost:aN};searchId=ZM;schema=rN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[QM.name]:this.catalogOutput(QM),[$M.name]:this.catalogOutput($M),[eN.name]:this.catalogOutput(eN),[tN.name]:this.catalogOutput(tN),[nN.name]:this.catalogOutput(nN)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_company_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return iN}},cN=rN,lN={searchId:ZM,billableOperation:oN,baseSearch:Q(`companies:profiles:amplemarket@2`),label:`Company search`,categories:[`companies`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],keywords:[`accounts`,`prospect`,`find companies`,`organizations`,`firmographic`],docPath:$(ZM),cost:aN,provider:`amplemarket`,defaultPayload:{search_id:ZM,connector:null,config:{limit:100,page_number:1,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},amplemarket_company_match:{enabled:!0,alias:``}},filters:{company_industries:{include:[],exclude:[]},company_names:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}},uN=`companies:profiles:crustdata@2`,dN=h(`company_name`),fN=h(`company_domain`),pN=h(`company_description`),mN=h(`company_profile_url`),hN=h(`crustdata_company_match`),gN=r.object({search_id:r.literal(uN),connector:Dc(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[dN.name]:j({fieldName:dN.name}),[fN.name]:j({fieldName:fN.name}),[pN.name]:j({fieldName:pN.name}),[mN.name]:j({fieldName:mN.name}),[hN.name]:j({fieldName:hN.name})})),filters:r.object({hq_locations:N({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),crunchbase_categories:N({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,placeholder:V(`crunchbase_category`),description:``,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default({include:[],exclude:[]}),crunchbase_investors:N({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default({include:[],exclude:[]}),tracxn_investors:N({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.tracxn_investors.crustdata`)}).default({include:[],exclude:[]}),company_types:sl({sectionKey:`config.filters`,path:`config.filters.company_types`,optionsDef:{type:`static`,options:p(`crustdata.company_types`)},label:`Company types`,placeholder:`Public, Private, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),linkedin_industries:N({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),markets:N({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),placeholder:`NYSE, TYO, ...`,label:`Markets`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),linkedin_categories:N({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`LinkedIn category`,placeholder:`Marketing, Branding, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),headcount:sl({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,placeholder:`1-10`,optionsDef:{type:`static`,options:p(`crustdata.company_size`)},groupPath:`config.filters.company_size`}).default({include:[],exclude:[]}),linkedin_headcount_ranges:M({path:`config.filters.linkedin_headcount_ranges`,sectionKey:`config.filters`,label:`Size bracket`,description:`Headcount range a company self-reports on its LinkedIn page.`,options:p(`crustdata.linkedin_headcount_ranges`),placeholder:`2-10`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),headcount_growth_l6m_in_percent:M({path:`config.filters.headcount_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),placeholder:`0-10%`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:ll({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:sl({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,placeholder:`Series A`,disableSearch:!0,optionsDef:{type:`static`,options:p(`crustdata.funding_rounds`)},description:``,groupPath:`config.filters.financials`}).default({include:[],exclude:[]}),last_funding_amount:ll({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:M({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,placeholder:`1-500`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_l6m_in_percent:M({path:`config.filters.follower_growth_l6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,required:!1,disableSearch:!0,placeholder:`0-10%`,description:``,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:A({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,placeholder:V(`company_profile_keyword`),description:``,groupPath:`config.filters.keywords`}).default({include:[],exclude:[]}),competitor_domains:A({path:`config.filters.competitor_domains`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domain`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.competitors`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_domains:A({path:`config.filters.company_domains`,sectionKey:`config.filters`,maxItems:400,label:`Company domain`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.web_presence`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),company_profile_urls:A({path:`config.filters.company_profile_urls`,sectionKey:`config.filters`,maxItems:2e3,label:`Company LinkedIn URL`,description:``,placeholder:`https://linkedin.com/company/...`,groupPath:`config.filters.web_presence`}).default({include:[],exclude:[]}),company_names:A({path:`config.filters.company_names`,sectionKey:`config.filters`,maxItems:2e3,label:`Company name`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.web_presence`}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),_N={match:`any`,fields:[{fieldName:`company_profile_url`}]},vN={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},yN=`companies-profiles-crustdata-v2`,bN=class extends Z{billing={billableOperation:yN,cost:vN};searchId=uN;schema=gN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[dN.name]:this.catalogOutput(dN),[fN.name]:this.catalogOutput(fN),[pN.name]:this.catalogOutput(pN),[mN.name]:this.catalogOutput(mN),[hN.name]:this.catalogOutput(hN)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return _N}},xN=gN,SN={searchId:uN,billableOperation:yN,baseSearch:Q(`companies:profiles:crustdata@2`),label:`Company search`,categories:[`companies`],paginationType:`cursor`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],keywords:[`accounts`,`prospect`,`find companies`,`organizations`,`firmographic`,`linkedin`],docPath:$(uN),cost:vN,provider:`crustdata`,defaultPayload:{search_id:uN,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:{include:[],exclude:[]},linkedin_industries:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},crunchbase_categories:{include:[],exclude:[]},markets:{include:[],exclude:[]},revenue_in_usd:{from:null,to:null},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},follower_growth_l6m_in_percent:[],headcount:{include:[],exclude:[]},linkedin_headcount_ranges:[],hq_locations:{include:[],exclude:[]},number_of_followers:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[],exclude:[]},company_domains:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_names:{include:[],exclude:[]}}}}},CN=`contacts:hubspot@1`,wN=h(`hubspot_object_id`),TN=h(`email`),EN=h(`first_name`),DN=h(`last_name`),ON=h(`hubspot_contact_match`),kN=r.object({search_id:r.literal(CN),connector:Ec(),config:r.object({query:pl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable contact properties (name, email, phone, company).`}).nullable(),custom_properties:il({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`product_signup_date`,info:"Added to the contact JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:rl({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`lifecyclestage`,info:`Rows filter on any HubSpot property by internal name — including custom properties. Enumeration values are the portal's internal option values (case-sensitive).`}),lifecycle_stage:gl({path:`config.lifecycle_stage`,groupPath:`config.general`,sectionKey:`general`,label:`Lifecycle stage`,required:!1,info:`This portal's actual stages — custom stages included.`,enabledIf:g(`hubspot`),optionsDef:Wf(`contacts`,`lifecyclestage`)}),owner:gl({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Uf}),created_within:hl({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:hl({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),limit:P({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[wN.name]:j({fieldName:wN.name}),[TN.name]:j({fieldName:TN.name}),[EN.name]:j({fieldName:EN.name}),[DN.name]:j({fieldName:DN.name}),[ON.name]:j({fieldName:ON.name})}))})}),AN={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},jN=`contacts-hubspot-v1`,MN=class extends Z{billing={billableOperation:jN,cost:AN};searchId=CN;schema=kN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[wN.name]:this.catalogOutput(wN),[TN.name]:this.catalogOutput(TN),[EN.name]:this.catalogOutput(EN),[DN.name]:this.catalogOutput(DN),[ON.name]:this.catalogOutput(ON)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Kf(e,{objectTypes:[[`contacts`,`0-1`]]})}},NN=kN,PN={searchId:CN,billableOperation:jN,baseSearch:Q(CN),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot contacts`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List contacts from your HubSpot portal: identity columns (id, email, name) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`lookup`,`list`,`records`,`import`,`person`],docPath:$(CN),guide:`Call get_provider_context first for this portal's property names and enumeration option values — use internal names verbatim. Standard fields become typed columns; the standard set rides flat in the contact JSON and picked custom properties nest under custom_properties — expand it or chain json:extract downstream. Filters support any property; the lifecycle-stage picker shows the portal's actual stages (custom stages have opaque internal values). Newly created records lag search indexing by a few moments; archived records never appear. Total results cap at 10,000 per query — narrow with filters or date windows.`,cost:AN,provider:`hubspot`,defaultPayload:{search_id:CN,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:null,lifecycle_stage:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},email:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},hubspot_contact_match:{enabled:!0,alias:``}}}}},FN=`query:databricks@1`,IN=r.object({search_id:r.literal(FN),connector:Ec(),config:r.object({query:ml({path:`config.query`,groupPath:`config.general`,sectionKey:`general`,label:`SQL query`,description:`A single read-only SELECT statement. It is wrapped automatically for pagination, so do not add your own LIMIT/OFFSET for paging.`,rows:8,minLength:1,maxLength:2e4}),limit:P({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:P({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index (offset pagination)`}).nullable().default(1)})}),LN={allowManagedConnection:!1,mode:null,credits:null,info:`Querying your own Databricks SQL warehouse is free.`},RN=`data-query-databricks-v1`,zN=class extends Z{billing={billableOperation:RN,cost:LN};searchId=FN;schema=IN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`databricks`,rateLimitOperation:`databricks_query`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return WA(`databricks`,e)}},BN=IN,VN={searchId:FN,billableOperation:RN,baseSearch:Q(FN),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Databricks`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SQL query against your Databricks SQL warehouse and return the rows.`,guide:"Databricks SQL dialect; config.query must be a single read-only statement (no self-managed LIMIT/OFFSET — pagination is wrapped automatically). To discover the schema, draft a payload with a placeholder config.query like \"SELECT 1\" and the chosen connection in connector.connections, then call get_provider_context once — it returns the workspace-wide table/column map (all Unity catalogs) for free. Always reference tables by their FULLY QUALIFIED three-part name exactly as the map lists them (catalog.schema.table, e.g. samples.accuweather.forecast_daily); a bare table name resolves against the warehouse's unpredictable current catalog and usually fails with TABLE_OR_VIEW_NOT_FOUND. Sample actual rows (also free) with run_search_oneshot, then write the real config.query. Tables under the `samples` catalog (and Databricks' other built-in example schemas like `tpch` and `tpcds_*`) are DEMO data shipped to every workspace, NOT the customer's own data. If the user asks about their data and the only match is under `samples`/a demo schema — or the map shows only demo tables — the connection isn't pointed at their catalog: confirm the intended table with the user before querying, and never answer their question from a demo table.",tags:[U.FIELDS,U.NEW],keywords:[`sql`,`database`,`warehouse`,`select`,`table`,`read data`],docPath:$(FN),cost:LN,provider:`databricks`,defaultPayload:{search_id:FN,connector:{strategy:`first`,connections:[]},config:{query:``,limit:100,page_number:1}}},HN=`query:postgres@1`,UN=r.object({search_id:r.literal(HN),connector:Ec(),config:r.object({query:ml({path:`config.query`,groupPath:`config.general`,sectionKey:`general`,label:`SQL query`,description:`A single read-only SELECT statement. It is wrapped automatically for pagination, so do not add your own LIMIT/OFFSET for paging.`,rows:8,minLength:1,maxLength:2e4}),limit:P({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:P({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index (offset pagination)`}).nullable().default(1)})}),WN={allowManagedConnection:!1,mode:null,credits:null,info:`Querying your own PostgreSQL database is free.`},GN=`data-query-postgres-v1`,KN=class extends Z{billing={billableOperation:GN,cost:WN};searchId=HN;schema=UN;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`postgres`,rateLimitOperation:`postgres_query`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return WA(`postgres`,e)}},qN=UN,JN={searchId:HN,billableOperation:GN,baseSearch:Q(HN),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Postgres`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SQL query against your own PostgreSQL database and return the rows.`,guide:`PostgreSQL dialect; config.query must be a single read-only SELECT (no self-managed LIMIT/OFFSET — pagination is wrapped automatically). To discover the schema, draft a payload with a placeholder config.query like "SELECT 1" and the chosen connection in connector.connections, then call get_provider_context once — it returns the full table/column map for free. Sample actual rows (also free) with run_search_oneshot, then write the real config.query.`,tags:[U.FIELDS,U.NEW],keywords:[`sql`,`database`,`select`,`table`,`read data`],docPath:$(HN),cost:WN,provider:`postgres`,defaultPayload:{search_id:HN,connector:{strategy:`first`,connections:[]},config:{query:``,limit:100,page_number:1}}},YN=`deals:hubspot@1`,XN=h(`hubspot_object_id`),ZN=h(`deal_name`),QN=h(`deal_amount`),$N=h(`hubspot_deal_match`),eP=r.object({search_id:r.literal(YN),connector:Ec(),config:r.object({query:pl({path:`config.query`,groupPath:`config.general`,inputType:`text`,label:`Search text`,sectionKey:`general`,info:`Free-text search over HubSpot's default searchable deal properties (deal name, pipeline, stage, description).`}).nullable(),custom_properties:il({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom properties`,placeholder:`contract_term`,info:"Added to the deal JSON under `custom_properties` — internal names, custom properties included (standard-set names are already top-level)."}),filters:r.object({conditions:rl({path:`config.filters.conditions`,groupPath:`config.general`,sectionKey:`general`,label:`Property filters`,fieldNamePlaceholder:`amount`,info:`Rows filter on any HubSpot property by internal name — including custom properties.`}),pipeline:gl({path:`config.filters.pipeline`,groupPath:`config.general`,sectionKey:`general`,label:`Pipeline`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Bf(`deals`)}),deal_stage:gl({path:`config.filters.deal_stage`,groupPath:`config.general`,sectionKey:`general`,label:`Deal stage`,required:!1,info:`Stages of the selected pipeline (stage ids are numeric outside the default pipeline).`,enabledIf:g(`hubspot`),optionsDef:Gf}),status:hl({required:!1,path:`config.filters.status`,groupPath:`config.general`,sectionKey:`general`,label:`Deal status`,description:`Filters on HubSpot's computed hs_is_closed / hs_is_closed_won — portal-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),owner:gl({path:`config.filters.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`hubspot`),optionsDef:Uf}),created_within:hl({required:!1,path:`config.filters.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created`,description:`Relative window, resolved at every run — schedule-friendly. Exact date ranges go in the property filters (createdate gte/lte).`,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``),modified_within:hl({required:!1,path:`config.filters.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:[{label:`Any time`,value:``},{label:`Last 24 hours`,value:`24h`},{label:`Last 48 hours`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}]}).default(``)}),limit:P({path:`config.limit`,min:1,max:200,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page (HubSpot search caps pages at 200 and total results at 10,000).`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[XN.name]:j({fieldName:XN.name}),[ZN.name]:j({fieldName:ZN.name}),[QN.name]:j({fieldName:QN.name}),[$N.name]:j({fieldName:$N.name})}))})}),tP={allowManagedConnection:!1,mode:null,credits:null,info:`Searching your own HubSpot portal is free.`},nP=`deals-hubspot-v1`,rP=class extends Z{billing={billableOperation:nP,cost:tP};searchId=YN;schema=eP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[XN.name]:this.catalogOutput(XN),[ZN.name]:this.catalogOutput(ZN),[QN.name]:this.catalogOutput(QN),[$N.name]:this.catalogOutput($N)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_object_id`}]}}async getAgentContext(e){return Kf(e,{objectTypes:[[`deals`,`0-3`]],includePipelinesFor:[`deals`]})}},iP=eP,aP={searchId:YN,billableOperation:nP,baseSearch:Q(YN),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot deals`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List deals from your HubSpot portal: identity columns (id, name, amount) plus a JSON record with the standard property set and any custom properties you pick.`,tags:[U.FIELDS,U.NEW],keywords:[`crm`,`opportunity`,`pipeline`,`list`,`records`,`import`],docPath:$(YN),guide:`Call get_provider_context first — it includes this portal's pipelines with per-pipeline stage ids and labels (stage ids are numeric outside the default pipeline; never assume 'closedwon' exists). Prefer the status filter (computed hs_is_closed/hs_is_closed_won) over stage names for open/won/lost. Standard fields become typed columns; pipeline, stage and close date ride flat in the deal JSON, picked custom properties nest under custom_properties — expand it or chain json:extract downstream. Total results cap at 10,000 per query.`,cost:tP,provider:`hubspot`,defaultPayload:{search_id:YN,connector:{strategy:`first`,connections:[]},config:{query:``,custom_properties:[],filters:{conditions:null,pipeline:``,deal_stage:``,status:`any`,owner:``,created_within:``,modified_within:``},limit:100,cursor:``,output_fields:{hubspot_object_id:{enabled:!0,alias:``},deal_name:{enabled:!0,alias:``},deal_amount:{enabled:!0,alias:``},hubspot_deal_match:{enabled:!0,alias:``}}}}},oP=`companies:profiles:amplemarket@1`,sP=h(`company_name`),cP=h(`company_website_url`),lP=h(`company_description`),uP=h(`company_profile_url`),dP=h(`amplemarket_company_match`),fP=r.object({search_id:r.literal(oP),connector:io.nullable().optional(),config:r.object({limit:P({label:`Limit`,description:`Max number of search results`,path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`}),page_number:P({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:F(r.object({[sP.name]:j({fieldName:sP.name}),[cP.name]:j({fieldName:cP.name}),[lP.name]:j({fieldName:lP.name}),[uP.name]:j({fieldName:uP.name}),[dP.name]:j({fieldName:dP.name})})),filters:r.object({hq_locations:N({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),company_names:A({sectionKey:`config.filters`,path:`config.filters.company_names`,label:`Company names`,description:``,placeholder:V(`company_name`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),company_website_urls:A({sectionKey:`config.filters`,path:`config.filters.company_website_urls`,label:`Company domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.categories`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),company_profile_urls:A({sectionKey:`config.filters`,path:`config.filters.company_profile_urls`,label:`Company LinkedIn URLs`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),company_types:M({sectionKey:`config.filters`,path:`config.filters.company_types`,disableSearch:!1,label:`Company Type`,description:``,groupPath:`config.filters.categories`,options:p(`amplemarket.company_types`),required:!1}).default([]),investors:_l({sectionKey:`config.filters`,path:`config.filters.investors`,label:`Investor names`,optionsDef:m(`company.crunchbase_investors.crustdata`),description:`A list of company investor names`,placeholder:V(`investor`),groupPath:`config.filters.investors`,disableSearch:!1,required:!1}).default([]),company_industries:sl({sectionKey:`config.filters`,path:`config.filters.company_industries`,optionsDef:ze(`amplemarket.industries`),disableSearch:!1,label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),customer_types:M({sectionKey:`config.filters`,path:`config.filters.customer_types`,options:[{value:`b2b`,label:`B2B`},{value:`b2c`,label:`B2C`}],required:!1,disableSearch:!0,label:`Customer Types`,description:``,groupPath:`config.filters.industry`}).default([]),keywords:A({sectionKey:`config.filters`,path:`config.filters.keywords`,label:`Keywords`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),revenue_groups:M({path:`config.filters.revenue_groups`,sectionKey:`config.filters`,label:`Revenue groups`,description:``,disableSearch:!0,options:p(`amplemarket.company_revenue`),required:!1,groupPath:`config.filters.financials`}).default([]),founded_year:ol({path:`config.filters.founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.general`,min:0,max:2040,description:``}).default({min:null,max:null}),open_positions_titles:k({path:`config.filters.open_positions_titles`,sectionKey:`config.filters`,label:`Job openings for titles`,groupPath:`config.filters.job_openings`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),headcount:M({sectionKey:`config.filters`,path:`config.filters.company_sizes`,disableSearch:!1,options:p(`amplemarket.company_size`),label:`Headcount groups`,required:!1,description:``,groupPath:`config.filters.company_size`}).default([]),headcount_growth_last_6_months_in_percent:ol({path:`config.filters.headcount_growth_last_6_months_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months (in %)`,groupPath:`config.filters.company_size`,description:``,max:1e4,min:0}).default({min:null,max:null})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),pP={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},mP=`companies-profiles-amplemarket-v1`,hP=class extends Z{billing={billableOperation:mP,cost:pP};searchId=oP;schema=fP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[sP.name]:this.catalogOutput(sP),[cP.name]:this.catalogOutput(cP),[lP.name]:this.catalogOutput(lP),[uP.name]:this.catalogOutput(uP),[dP.name]:this.catalogOutput(dP)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_company_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},gP=fP,_P={searchId:oP,billableOperation:mP,baseSearch:Q(`companies:profiles:amplemarket@1`),label:`Company search`,categories:[`deprecated`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`companies:profiles:amplemarket@2`},description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:$(oP),cost:pP,provider:`amplemarket`,defaultPayload:{search_id:oP,connector:null,config:{limit:100,page_number:1,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},amplemarket_company_match:{enabled:!0,alias:``}},filters:{company_industries:{include:[],exclude:[]},company_names:{include:[],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_website_urls:{include:[],exclude:[]},customer_types:[],headcount_growth_last_6_months_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_positions_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}},vP=`companies:profiles:crustdata@1`,yP=h(`company_name`),bP=h(`company_website_url`),xP=h(`company_description`),SP=h(`company_profile_url`),CP=h(`crustdata_company_match`),wP=r.object({search_id:r.literal(vP),connector:io.nullable().optional(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[yP.name]:j({fieldName:yP.name}),[bP.name]:j({fieldName:yP.name}),[xP.name]:j({fieldName:xP.name}),[SP.name]:j({fieldName:SP.name}),[CP.name]:j({fieldName:CP.name})})),filters:r.object({hq_locations:N({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,placeholder:V(`location`),groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default({include:[],exclude:[]}),crunchbase_categories:N({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,placeholder:V(`crunchbase_category`),description:``,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default({include:[],exclude:[]}),crunchbase_investors:N({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default({include:[],exclude:[]}),tracxn_investors:N({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,placeholder:V(`investor`),groupPath:`config.filters.investors`,optionsDef:m(`company.tracxn_investors.crustdata`)}).default({include:[],exclude:[]}),company_types:sl({sectionKey:`config.filters`,path:`config.filters.company_types`,optionsDef:{type:`static`,options:p(`crustdata.company_types`)},label:`Company types`,placeholder:`Public, Private, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),linkedin_industries:N({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,description:``,placeholder:V(`industry`),groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),markets:N({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),placeholder:`NYSE, TYO, ...`,label:`Markets`,description:``,groupPath:`config.filters.industry`}).default({include:[],exclude:[]}),linkedin_categories:N({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`LinkedIn category`,placeholder:`Marketing, Branding, ...`,description:``,groupPath:`config.filters.categories`}).default({include:[],exclude:[]}),headcount:sl({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,placeholder:`1-10`,optionsDef:{type:`static`,options:p(`crustdata.company_size`)},groupPath:`config.filters.company_size`}).default({include:[],exclude:[]}),headcount_growth_last_6m_in_percent:M({path:`config.filters.headcount_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),placeholder:`0-10%`,disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:ll({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:sl({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,placeholder:`Series A`,disableSearch:!0,optionsDef:{type:`static`,options:p(`crustdata.funding_rounds`)},description:``,groupPath:`config.filters.financials`}).default({include:[],exclude:[]}),last_funding_amount:ll({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:M({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,placeholder:`1-500`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_last_6m_in_percent:M({path:`config.filters.follower_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,required:!1,disableSearch:!0,placeholder:`0-10%`,description:``,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:A({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,placeholder:V(`company_profile_keyword`),description:``,groupPath:`config.filters.keywords`}).default({include:[],exclude:[]}),competitor_websites:A({path:`config.filters.competitor_websites`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domains`,description:``,placeholder:V(`company_domain`),groupPath:`config.filters.competitors`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),TP={allowManagedConnection:!0,mode:`per_page`,credits:{default:2}},EP=`companies-profiles-crustdata-v1`,DP=class extends Z{billing={billableOperation:EP,cost:TP};searchId=vP;schema=wP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[yP.name]:this.catalogOutput(yP),[bP.name]:this.catalogOutput(bP),[xP.name]:this.catalogOutput(xP),[SP.name]:this.catalogOutput(SP),[CP.name]:this.catalogOutput(CP)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},OP=wP,kP={searchId:vP,billableOperation:EP,baseSearch:Q(`companies:profiles:crustdata@1`),label:`Company search`,categories:[`deprecated`],paginationType:`cursor`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`companies:profiles:crustdata@2`},description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:$(vP),cost:TP,provider:`crustdata`,defaultPayload:{search_id:vP,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:{include:[],exclude:[]},headcount_growth_last_6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:{include:[],exclude:[]},linkedin_industries:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},crunchbase_categories:{include:[],exclude:[]},markets:{include:[],exclude:[]},revenue_in_usd:{from:null,to:null},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},follower_growth_last_6m_in_percent:[],headcount:{include:[],exclude:[]},hq_locations:{include:[],exclude:[]},number_of_followers:[],profile_summary_keywords:{include:[],exclude:[]},competitor_websites:{include:[],exclude:[]}}}}},AP=`people:profiles:amplemarket@1`,jP=h(`name`),MP=h(`company_website_url`),NP=h(`profile_url`),PP=h(`job_title`),FP=h(`amplemarket_person_match`),IP=r.object({search_id:r.literal(AP),connector:io.nullable().optional(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,label:`Limit`,sectionKey:`pagination`,description:`Max number of search results`}),page_number:P({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:F(r.object({[jP.name]:j({fieldName:jP.name}),[MP.name]:j({fieldName:MP.name}),[NP.name]:j({fieldName:NP.name}),[PP.name]:j({fieldName:PP.name}),[FP.name]:j({fieldName:FP.name})})),filters:r.object({person_names:k({label:`Full name`,path:`config.filters.person_names`,sectionKey:`config.filters`,groupPath:`config.filters.general`}),current_locations:N({path:`config.filters.current_locations`,sectionKey:`config.filters`,label:`Location`,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:k({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,placeholder:V(`title`),description:``,order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}),current_seniority_levels:M({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,placeholder:V(`seniority`),label:`Seniority`,required:!1,disableSearch:!1,options:p(`amplemarket.seniority_levels`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_departments:M({path:`config.filters.current_departments`,sectionKey:`config.filters`,label:`Department`,placeholder:V(`department`),disableSearch:!1,required:!1,options:p(`amplemarket.departments`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_job_functions:M({path:`config.filters.current_job_functions`,sectionKey:`config.filters`,label:`Job function`,placeholder:V(`job_function`),disableSearch:!1,required:!1,options:p(`amplemarket.job_functions`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_employer_locations:N({path:`config.filters.current_employer_locations`,sectionKey:`config.filters`,label:`Headquarters`,optionsDef:m(`locations`),groupPath:`config.filters.current_company`,placeholder:V(`location`)}).default({include:[],exclude:[]}),current_employer_names:A({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`company_name`),suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),current_employer_website_urls:A({path:`config.filters.current_employer_website_urls`,sectionKey:`config.filters`,label:`Company domain`,description:``,maxItems:200,placeholder:V(`company_domain`),groupPath:`config.filters.current_company`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),current_employer_linkedin_industries:M({path:`config.filters.current_employer_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,disableSearch:!1,groupPath:`config.filters.current_company`,description:``,placeholder:V(`industry`),required:!1,options:p(`linkedin.industries`)}).default([]),current_employer_estimated_revenue:M({path:`config.filters.current_employer_estimated_revenue`,sectionKey:`config.filters`,label:`Estimated revenue`,disableSearch:!1,required:!1,groupPath:`config.filters.current_company`,description:``,options:p(`amplemarket.company_revenue`)}).default([]),current_employer_founded_year:ol({path:`config.filters.current_employer_founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.current_company`,min:0,max:2040,description:``}).default({min:null,max:null}),current_employer_investors:k({path:`config.filters.current_employer_investors`,sectionKey:`config.filters`,label:`Employer investors`,groupPath:`config.filters.current_company`,placeholder:V(`investor`),description:``}),current_employer_open_positions_titles:k({path:`config.filters.current_employer_open_positions_titles`,sectionKey:`config.filters`,label:`Open positions`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),school_names:N({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),LP={allowManagedConnection:!0,mode:`per_page`,credits:{default:3},info:`1 page = 100 records; 200 results = 2 pages`},RP=`people-profiles-amplemarket-v1`,zP=class extends Z{billing={billableOperation:RP,cost:LP};searchId=AP;schema=IP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[jP.name]:this.catalogOutput(jP),[MP.name]:this.catalogOutput(MP),[NP.name]:this.catalogOutput(NP),[PP.name]:this.catalogOutput(PP),[FP.name]:this.catalogOutput(FP)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_people_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},BP=IP,VP={searchId:AP,billableOperation:RP,baseSearch:Q(`people:profiles:amplemarket@1`),paginationType:`page_number`,label:`People search`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:amplemarket@2`},description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:$(AP),cost:LP,provider:`amplemarket`,defaultPayload:{search_id:AP,connector:null,config:{limit:50,page_number:1,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},amplemarket_person_match:{enabled:!0,alias:``}},filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_positions_titles:[],current_job_functions:[],current_locations:{include:[],exclude:[]},current_employer_linkedin_industries:[],current_employer_website_urls:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}},HP=`people:profiles:crustdata@1`,UP=h(`name`),WP=h(`company_website_url`),GP=h(`profile_url`),KP=h(`job_title`),qP=h(`crustdata_person_match`),JP=r.object({search_id:r.literal(HP),connector:io.nullable().optional(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of search results`}),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[UP.name]:j({fieldName:UP.name}),[WP.name]:j({fieldName:WP.name}),[GP.name]:j({fieldName:GP.name}),[KP.name]:j({fieldName:KP.name}),[qP.name]:j({fieldName:qP.name})})),filters:r.object({locations:N({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:A({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employers:A({path:`config.filters.current_employers`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employers_website_urls:A({path:`config.filters.current_employers_website_urls`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),current_employers_linkedin_industries:N({path:`config.filters.current_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),years_at_current_company:M({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employers_website_urls:A({path:`config.filters.previous_employers_website_urls`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:{emoji:{char:`🌐`}}})}).default({include:[],exclude:[]}),previous_seniority_levels:sl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employers:A({path:`config.filters.previous_employers`,sectionKey:`config.filters`,label:`Previous employer`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_job_titles:A({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employers_linkedin_industries:N({path:`config.filters.previous_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Previous employer industries`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),profile_headline_keywords:A({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),profile_summary_keywords:A({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_languages:sl({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile language`,placeholder:V(`languages`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),languages:sl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),skills:N({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]}),years_of_experience:M({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:sl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),certifications:A({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``}).default({include:[],exclude:[]}),honors:A({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``}).default({include:[],exclude:[]}),recently_changed_jobs:fl({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:N({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),degree_names:N({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),school_names:N({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),current_school_names:N({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),extracurricular_activities:A({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,placeholder:V(`extracurricular`),groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),YP={allowManagedConnection:!0,mode:`per_page`,credits:{default:5},info:`1 page = 100 records; 200 results = 2 pages`},XP=`people-profiles-crustdata-v1`,ZP=class extends Z{billing={billableOperation:XP,cost:YP};searchId=HP;schema=JP;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[UP.name]:this.catalogOutput(UP),[WP.name]:this.catalogOutput(WP),[GP.name]:this.catalogOutput(GP),[KP.name]:this.catalogOutput(KP),[qP.name]:this.catalogOutput(qP)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}},QP=JP,$P={searchId:HP,billableOperation:XP,baseSearch:Q(`people:profiles:crustdata@1`),paginationType:`cursor`,label:`People search`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:crustdata@2`},description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:$(HP),cost:YP,provider:`crustdata`,defaultPayload:{search_id:HP,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:{include:[],exclude:[]},languages:{include:[],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},current_employers:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},years_at_current_company:[],certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employers_linkedin_industries:{include:[],exclude:[]},current_employers_website_urls:{include:[],exclude:[]},previous_employers_website_urls:{include:[],exclude:[]},current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},locations:{include:[],exclude:[]},profile_languages:{include:[],exclude:[]},recently_changed_jobs:null,extracurricular_activities:{include:[],exclude:[]},school_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},previous_employers:{include:[],exclude:[]},current_job_titles:{include:[],exclude:[]},skills:{include:[],exclude:[]},years_of_experience:[],previous_employers_linkedin_industries:{include:[],exclude:[]}}}}},eF=`owners:hubspot@1`,tF=h(`hubspot_owner_id`),nF=h(`email`),rF=h(`first_name`),iF=h(`last_name`),aF=h(`hubspot_owned_count`),oF=h(`hubspot_owner_match`),sF=r.object({search_id:r.literal(eF),connector:Ec(),config:r.object({email:pl({path:`config.email`,groupPath:`config.general`,inputType:`text`,label:`Email`,sectionKey:`general`,info:`Only return the owner with this exact email.`}).nullable(),include_archived:dl({path:`config.include_archived`,groupPath:`config.general`,sectionKey:`general`,label:`Include deactivated owners`,description:``,defaultValue:!1}),owned_object_type:hl({required:!1,path:`config.owned_object_type`,groupPath:`config.counts`,sectionKey:`general`,label:`Count owned`,description:"Which records to count per owner (via `hubspot_owner_id`).",options:[{label:`Companies`,value:`companies`},{label:`Contacts`,value:`contacts`},{label:`Deals`,value:`deals`}]}).default(`companies`),min_owned_count:P({path:`config.min_owned_count`,min:0,groupPath:`config.counts`,sectionKey:`general`,label:`Minimum owned`,description:`Only return owners owning MORE than this many records. Counting costs one search request per owner (~5/second).`}).nullable(),include_ownership_counts:dl({path:`config.include_ownership_counts`,groupPath:`config.counts`,sectionKey:`general`,label:`Include ownership counts`,description:`Adds an owned-record count column (one search request per owner, ~5/second).`,defaultValue:!0}),limit:P({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Maximum number of owners returned.`}).default(500),output_fields:F(r.object({[tF.name]:j({fieldName:tF.name}),[nF.name]:j({fieldName:nF.name}),[rF.name]:j({fieldName:rF.name}),[iF.name]:j({fieldName:iF.name}),[aF.name]:j({fieldName:aF.name}),[oF.name]:j({fieldName:oF.name})}))})}),cF={allowManagedConnection:!1,mode:null,credits:null,info:`Listing your own HubSpot owners is free.`},lF=`owners-hubspot-v1`,uF=class extends Z{billing={billableOperation:lF,cost:cF};searchId=eF;schema=sF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[tF.name]:this.catalogOutput(tF),[nF.name]:this.catalogOutput(nF),[rF.name]:this.catalogOutput(rF),[iF.name]:this.catalogOutput(iF),[aF.name]:this.catalogOutput(aF),[oF.name]:this.catalogOutput(oF)}}getConnectionsRequirements(){return[{provider:`hubspot`,rateLimitOperation:`hubspot_crm_search`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`hubspot_owner_id`}]}}async getAgentContext(e){return Kf(e,{objectTypes:[]})}},dF=sF,fF={searchId:eF,billableOperation:lF,baseSearch:Q(eF),outputFieldMode:`static`,paginationType:`cursor`,label:`HubSpot owners`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List the owners (users) of your HubSpot portal, optionally with how many companies, contacts, or deals each owns — e.g. all owners with more than 50 companies.`,tags:[U.FIELDS,U.NEW],keywords:[`crm`,`users`,`sales reps`,`assignment`,`rollup`,`count`],docPath:$(eF),guide:"HubSpot has no aggregation API — ownership counts are computed with one count-search per owner against the portal's shared 5 requests/second search budget (expect ~N/5 seconds for N owners). Counts are accurate beyond the 10,000-result search cap. The owner id column matches `hubspot_owner_id` values on records.",cost:cF,provider:`hubspot`,defaultPayload:{search_id:eF,connector:{strategy:`first`,connections:[]},config:{email:``,include_archived:!1,owned_object_type:`companies`,min_owned_count:null,include_ownership_counts:!0,limit:500,output_fields:{hubspot_owner_id:{enabled:!0,alias:``},email:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},hubspot_owned_count:{enabled:!0,alias:``},hubspot_owner_match:{enabled:!0,alias:``}}}}},pF=()=>il({path:`config.custom_properties`,groupPath:`config.general`,sectionKey:`general`,label:`Custom fields`,placeholder:`Lead_Score__c`,info:"Field API names added to the record JSON under `custom_properties` — custom fields included; dotted parent paths like `Account.Industry` work (standard-set names are already top-level)."}),mF=e=>rl({path:`config.filters`,groupPath:`config.general`,sectionKey:`general`,label:`Field filters`,fieldNamePlaceholder:e,info:`Rows filter on any Salesforce field by API name — custom fields and dotted parent paths included. Picklist values are the org's API values (case-sensitive); date values accept ISO dates or SOQL literals like LAST_N_DAYS:30.`}),hF=e=>gl({path:`config.list_view`,groupPath:`config.general`,sectionKey:`general`,label:`List view`,required:!1,info:`Run one of the org's own list views instead of filters — the view's conditions (including 'My …' scoping) apply server-side. Cannot be combined with filters or shortcuts.`,enabledIf:g(`salesforce`),optionsDef:XC(e)}),gF=()=>gl({path:`config.owner`,groupPath:`config.general`,sectionKey:`general`,label:`Owner`,required:!1,info:``,enabledIf:g(`salesforce`),optionsDef:GC}),_F=[{label:`Any time`,value:``},{label:`Today`,value:`24h`},{label:`Last 2 days`,value:`48h`},{label:`Last 7 days`,value:`7d`},{label:`Last 30 days`,value:`30d`}],vF=()=>hl({required:!1,path:`config.created_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Created at`,description:``,options:_F}).default(``),yF=()=>hl({required:!1,path:`config.modified_within`,groupPath:`config.dates`,sectionKey:`general`,label:`Last modified`,description:``,options:_F}).default(``),bF=()=>P({path:`config.limit`,min:1,max:500,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Rows per page.`}).default(100),xF=()=>pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),SF=e=>t=>{let n=t.value;if(!ZC(n.list_view))return;let r=[];n.filters&&r.push(`filters`);for(let t of e){let e=n[t];if(!(e==null||e===``||e===!1)){if(typeof e==`object`&&!Array.isArray(e)){let t=e;if((t.include?.length??0)===0&&(t.exclude?.length??0)===0&&t.min==null&&t.max==null)continue}r.push(t)}}r.length>0&&t.issues.push({code:`custom`,input:n.list_view,message:`A list view already carries its own conditions — clear ${r.join(`, `)} or clear the list view.`,path:[`list_view`]})},CF=`accounts:salesforce@1`,wF=h(`salesforce_record_id`),TF=h(`company_name`),EF=h(`company_domain`),DF=h(`salesforce_account_match`),OF=r.object({search_id:r.literal(CF),connector:Ec(),config:r.object({custom_properties:pF(),filters:mF(`Industry`),list_view:hF(`Account`),domains:A({path:`config.domains`,groupPath:`config.general`,sectionKey:`general`,label:`Domains`,placeholder:`acme.com`,info:`Matches exact spellings of the Website URL (Salesforce has no domain field).`}),industry:gl({path:`config.industry`,groupPath:`config.general`,sectionKey:`general`,label:`Industry`,required:!1,info:`The org's actual Industry picklist values.`,enabledIf:g(`salesforce`),optionsDef:YC(`Account`,`Industry`)}),owner:gF(),created_within:vF(),modified_within:yF(),limit:bF(),cursor:xF(),output_fields:F(r.object({[wF.name]:j({fieldName:wF.name}),[TF.name]:j({fieldName:TF.name}),[EF.name]:j({fieldName:EF.name}),[DF.name]:j({fieldName:DF.name})}))}).check(e=>SF([`domains`,`industry`,`owner`,`created_within`,`modified_within`])(e))}),kF={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},AF=`accounts-salesforce-v1`,jF=class extends Z{billing={billableOperation:AF,cost:kF};searchId=CF;schema=OF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[wF.name]:this.catalogOutput(wF),[TF.name]:this.catalogOutput(TF),[EF.name]:this.catalogOutput(EF),[DF.name]:this.catalogOutput(DF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return $C(e,{objects:[`Account`],includeListViewsFor:[`Account`]})}},MF=OF,NF={searchId:CF,billableOperation:AF,baseSearch:Q(CF),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce accounts`,categories:[`companies`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List accounts from your Salesforce org: identity columns (id, name, domain) plus a JSON record with the standard field set and any custom fields you pick. Filter with field conditions or run one of the org's own list views.`,tags:[U.WEBSITE,U.NEW],keywords:[`crm`,`sfdc`,`company`,`list`,`records`,`import`,`organization`],docPath:$(CF),guide:"Call get_provider_context first for the org's field API names and picklist values. The domain column is derived from the Website URL (Salesforce has no domain field) — accounts with exotic Website formats yield null. Person accounts (B2C orgs) appear as accounts here. To find stale accounts, filter on `LastActivityDate` (e.g. `LastActivityDate < LAST_N_DAYS:90` — closed tasks + events, not literal touches). `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:kF,provider:`salesforce`,defaultPayload:{search_id:CF,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,domains:{include:[],exclude:[]},industry:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},salesforce_account_match:{enabled:!0,alias:``}}}}},PF=`contacts:salesforce@1`,FF=h(`salesforce_record_id`),IF=h(`first_name`),LF=h(`last_name`),RF=h(`email`),zF=h(`salesforce_contact_match`),BF=r.object({search_id:r.literal(PF),connector:Ec(),config:r.object({custom_properties:pF(),filters:mF(`Title`),list_view:hF(`Contact`),email_domains:A({path:`config.email_domains`,groupPath:`config.general`,sectionKey:`general`,label:`Email domains`,placeholder:`acme.com`,info:`Matches the email's domain part. Large orgs: domain matching is unindexed — combine with other filters when it times out.`}),has_email:dl({path:`config.has_email`,groupPath:`config.general`,sectionKey:`general`,label:`Has email`,description:``,defaultValue:!1}),owner:gF(),created_within:vF(),modified_within:yF(),limit:bF(),cursor:xF(),output_fields:F(r.object({[FF.name]:j({fieldName:FF.name}),[IF.name]:j({fieldName:IF.name}),[LF.name]:j({fieldName:LF.name}),[RF.name]:j({fieldName:RF.name}),[zF.name]:j({fieldName:zF.name})}))}).check(e=>SF([`email_domains`,`has_email`,`owner`,`created_within`,`modified_within`])(e))}),VF={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},HF=`contacts-salesforce-v1`,UF=class extends Z{billing={billableOperation:HF,cost:VF};searchId=PF;schema=BF;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[FF.name]:this.catalogOutput(FF),[IF.name]:this.catalogOutput(IF),[LF.name]:this.catalogOutput(LF),[RF.name]:this.catalogOutput(RF),[zF.name]:this.catalogOutput(zF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return $C(e,{objects:[`Contact`],includeListViewsFor:[`Contact`]})}},WF=BF,GF={searchId:PF,billableOperation:HF,baseSearch:Q(PF),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce contacts`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List contacts from your Salesforce org: identity columns (id, name, email) plus a JSON record with the standard field set and any custom fields you pick. Filter with field conditions or run one of the org's own list views.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`sfdc`,`lookup`,`list`,`records`,`import`,`person`],docPath:$(PF),guide:"Call get_provider_context first for the org's field API names and picklist values — use them verbatim (`__c` = custom). Standard fields become typed columns; picked custom fields nest under custom_properties in the contact JSON. Filters accept dotted parent paths (Account.Industry); date values accept SOQL literals like LAST_N_DAYS:30. To find stale records, filter on `LastActivityDate` (e.g. `LastActivityDate < LAST_N_DAYS:90` — it reflects closed tasks + events, not literal touches). `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id (creation order) — a cursor never expires. Rows the connected user cannot see are silently absent (sharing rules).",cost:VF,provider:`salesforce`,defaultPayload:{search_id:PF,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,email_domains:{include:[],exclude:[]},has_email:!1,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},salesforce_contact_match:{enabled:!0,alias:``}}}}},KF=`leads:salesforce@1`,qF=h(`salesforce_record_id`),JF=h(`first_name`),YF=h(`last_name`),XF=h(`email`),ZF=h(`company_name`),QF=h(`salesforce_lead_match`),$F=r.object({search_id:r.literal(KF),connector:Ec(),config:r.object({custom_properties:pF(),filters:mF(`LeadSource`),list_view:hF(`Lead`),lead_status:gl({path:`config.lead_status`,groupPath:`config.general`,sectionKey:`general`,label:`Lead status`,required:!1,info:`The org's actual status values — custom entries included.`,enabledIf:g(`salesforce`),optionsDef:KC}),include_converted:dl({path:`config.include_converted`,groupPath:`config.general`,sectionKey:`general`,label:`Include converted leads`,description:`Converted leads are read-only history pointing at the contact they became — excluded by default.`,defaultValue:!1}),owner:gF(),created_within:vF(),modified_within:yF(),limit:bF(),cursor:xF(),output_fields:F(r.object({[qF.name]:j({fieldName:qF.name}),[JF.name]:j({fieldName:JF.name}),[YF.name]:j({fieldName:YF.name}),[XF.name]:j({fieldName:XF.name}),[ZF.name]:j({fieldName:ZF.name}),[QF.name]:j({fieldName:QF.name})}))}).check(e=>SF([`lead_status`,`owner`,`created_within`,`modified_within`])(e))}),eI={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},tI=`leads-salesforce-v1`,nI=class extends Z{billing={billableOperation:tI,cost:eI};searchId=KF;schema=$F;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[qF.name]:this.catalogOutput(qF),[JF.name]:this.catalogOutput(JF),[YF.name]:this.catalogOutput(YF),[XF.name]:this.catalogOutput(XF),[ZF.name]:this.catalogOutput(ZF),[QF.name]:this.catalogOutput(QF)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return $C(e,{objects:[`Lead`],includeListViewsFor:[`Lead`]})}},rI=$F,iI={searchId:KF,billableOperation:tI,baseSearch:Q(KF),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce leads`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List leads from your Salesforce org: identity columns (id, name, email, company) plus a JSON record with the standard field set. Converted leads are excluded by default; filter with field conditions or run one of the org's own list views.`,tags:[U.EMAIL,U.NEW],keywords:[`crm`,`sfdc`,`prospect`,`list`,`records`,`import`,`demand gen`],docPath:$(KF),guide:"Call get_provider_context first for the org's field API names and status values — use them verbatim. Leads are pre-qualification records: Company is plain text (no account link), and converted leads (IsConverted = true) are read-only history excluded by default — the JSON carries IsConverted/ConvertedContactId when you include them. Duplicate emails across leads are normal in demand-gen orgs. To find untouched leads, filter on `LastActivityDate` (e.g. `LastActivityDate < LAST_N_DAYS:90` — closed tasks + events, not literal touches). `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:eI,provider:`salesforce`,defaultPayload:{search_id:KF,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,lead_status:``,include_converted:!1,owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},salesforce_lead_match:{enabled:!0,alias:``}}}}},aI=`opportunities:salesforce@1`,oI=h(`salesforce_record_id`),sI=h(`deal_name`),cI=h(`deal_amount`),lI=h(`salesforce_opportunity_match`),uI=r.object({search_id:r.literal(aI),connector:Ec(),config:r.object({custom_properties:pF(),filters:mF(`StageName`),list_view:hF(`Opportunity`),status:hl({required:!1,path:`config.status`,groupPath:`config.general`,sectionKey:`general`,label:`Status`,description:`Filters on Salesforce's computed IsClosed / IsWon — org-invariant, unlike stage names.`,options:[{label:`Any`,value:`any`},{label:`Open`,value:`open`},{label:`Won`,value:`won`},{label:`Lost`,value:`lost`}]}).default(`any`),stage:gl({path:`config.stage`,groupPath:`config.general`,sectionKey:`general`,label:`Stage`,required:!1,info:`The org's own OpportunityStage list.`,enabledIf:g(`salesforce`),optionsDef:WC}),amount:ol({path:`config.amount`,groupPath:`config.general`,sectionKey:`general`,label:`Amount`,min:0,max:0xe8d4a51000,info:`In multi-currency orgs the bounds compare in the corporate currency.`}),owner:gF(),created_within:vF(),modified_within:yF(),limit:bF(),cursor:xF(),output_fields:F(r.object({[oI.name]:j({fieldName:oI.name}),[sI.name]:j({fieldName:sI.name}),[cI.name]:j({fieldName:cI.name}),[lI.name]:j({fieldName:lI.name})}))}).check(e=>SF([`stage`,`amount`,`owner`,`created_within`,`modified_within`])(e))}),dI={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},fI=`opportunities-salesforce-v1`,pI=class extends Z{billing={billableOperation:fI,cost:dI};searchId=aI;schema=uI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[oI.name]:this.catalogOutput(oI),[sI.name]:this.catalogOutput(sI),[cI.name]:this.catalogOutput(cI),[lI.name]:this.catalogOutput(lI)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return $C(e,{objects:[`Opportunity`],includeStages:!0,includeListViewsFor:[`Opportunity`]})}},mI=uI,hI={searchId:aI,billableOperation:fI,baseSearch:Q(aI),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce opportunities`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List opportunities from your Salesforce org: identity columns (id, name, amount) plus a JSON record with the standard field set (including IsClosed/IsWon). Filter by status, stage, amount, or field conditions — or run one of the org's own list views.`,tags:[U.NEW],keywords:[`crm`,`sfdc`,`deal`,`pipeline`,`revenue`,`list`,`records`],docPath:$(aI),guide:"Filter open/won via `status` (computed IsClosed/IsWon — org-invariant); `stage` values are OpportunityStage ApiNames from get_provider_context — never assume a stage named 'Closed Won' exists. Close-date windows go through filter rows (CloseDate lte/gte with ISO dates or SOQL literals). In multi-currency orgs Amount bounds compare in the corporate currency. To find deals gone quiet, filter on `LastActivityDate` (e.g. `LastActivityDate < LAST_N_DAYS:30` — closed tasks + events, not literal touches). `list_view` runs the org's own segmentation (XOR with filters/shortcuts). Results page by record id; rows the connected user cannot see are silently absent.",cost:dI,provider:`salesforce`,defaultPayload:{search_id:aI,connector:{strategy:`first`,connections:[]},config:{custom_properties:[],filters:null,list_view:``,status:`any`,stage:``,amount:{min:null,max:null},owner:``,created_within:``,modified_within:``,limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},deal_name:{enabled:!0,alias:``},deal_amount:{enabled:!0,alias:``},salesforce_opportunity_match:{enabled:!0,alias:``}}}}},gI=`query:salesforce@1`,_I=r.object({search_id:r.literal(gI),connector:Ec(),config:r.object({soql:ml({path:`config.soql`,groupPath:`config.general`,sectionKey:`general`,label:`SOQL query`,description:`A single read-only SELECT statement (SOQL, not SQL). Pagination is wrapped automatically — add your own LIMIT/OFFSET only to cap results.`,rows:8,minLength:1,maxLength:2e4}),limit:P({path:`config.limit`,min:1,max:500,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),page_number:P({path:`config.page_number`,min:1,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page`,description:`1-based page index. Salesforce caps OFFSET at 2,000 rows — narrow with WHERE past that, or use the object searches (their cursors have no depth limit).`}).nullable().default(1)})}),vI={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},yI=`query-salesforce-v1`,bI=class extends Z{billing={billableOperation:yI,cost:vI};searchId=gI;schema=_I;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}async getAgentContext(e){return $C(e,{objects:[`Contact`,`Lead`,`Account`,`Opportunity`],includeStages:!0})}},xI=_I,SI={searchId:gI,billableOperation:yI,baseSearch:Q(gI),outputFieldMode:`dynamic`,paginationType:`page_number`,label:`Query Salesforce (SOQL)`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Run a read-only SOQL query against your Salesforce org — including native aggregates (GROUP BY / HAVING / COUNT), e.g. every owner with more than 10 accounts.`,guide:"SOQL SELECT only (no SOSL, no DML). Get object/field API names from get_provider_context and use them verbatim. Aggregates (GROUP BY/HAVING/COUNT) are supported but capped to ONE page — Salesforce can't paginate aggregate results. Use IsClosed = false for open opportunities (never assume stage names); date literals like LAST_N_DAYS:30 work; in multi-currency orgs prefix amount literals (Amount > USD5000). For org-wide activity reports, query Task/Event directly (e.g. `SELECT Subject, ActivityDate, Who.Name FROM Task WHERE TaskSubtype = 'Call' AND ActivityDate = LAST_WEEK`); for a single record's timeline use activities:find:salesforce instead. OFFSET is capped at 2,000 rows — past that, narrow with WHERE or use the object searches.",tags:[U.FIELDS,U.NEW],keywords:[`soql`,`sql`,`crm`,`sfdc`,`aggregate`,`group by`,`report`],docPath:$(gI),cost:vI,provider:`salesforce`,defaultPayload:{search_id:gI,connector:{strategy:`first`,connections:[]},config:{soql:``,limit:100,page_number:1}}},CI=`users:salesforce@1`,wI=h(`salesforce_record_id`),TI=h(`first_name`),EI=h(`last_name`),DI=h(`email`),OI=h(`salesforce_owned_count`),kI=h(`salesforce_user_match`),AI=r.object({search_id:r.literal(CI),connector:Ec(),config:r.object({owned_object:hl({required:!1,path:`config.owned_object`,groupPath:`config.counts`,sectionKey:`general`,label:`Count owned`,description:`Which records to count per user (via OwnerId).`,options:[{label:`Accounts`,value:`accounts`},{label:`Contacts`,value:`contacts`},{label:`Leads`,value:`leads`},{label:`Opportunities`,value:`opportunities`}]}).default(`accounts`),min_owned_count:P({path:`config.min_owned_count`,min:0,groupPath:`config.counts`,sectionKey:`general`,label:`Minimum owned`,description:`Only return users owning MORE than this many records. Counted in ONE aggregate query for all users.`}).nullable(),include_ownership_counts:dl({path:`config.include_ownership_counts`,groupPath:`config.counts`,sectionKey:`general`,label:`Include ownership counts`,description:`Adds an owned-record count column (one aggregate query, all users at once).`,defaultValue:!0}),include_inactive:dl({path:`config.include_inactive`,groupPath:`config.general`,sectionKey:`general`,label:`Include deactivated users`,description:``,defaultValue:!1}),custom_properties:pF(),limit:bF(),cursor:xF(),output_fields:F(r.object({[wI.name]:j({fieldName:wI.name}),[TI.name]:j({fieldName:TI.name}),[EI.name]:j({fieldName:EI.name}),[DI.name]:j({fieldName:DI.name}),[OI.name]:j({fieldName:OI.name}),[kI.name]:j({fieldName:kI.name})}))})}),jI={allowManagedConnection:!1,mode:null,credits:null,info:`Salesforce searches are free — you bring your own Salesforce connection.`},MI=`users-salesforce-v1`,NI=class extends Z{billing={billableOperation:MI,cost:jI};searchId=CI;schema=AI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[wI.name]:this.catalogOutput(wI),[TI.name]:this.catalogOutput(TI),[EI.name]:this.catalogOutput(EI),[DI.name]:this.catalogOutput(DI),[OI.name]:this.catalogOutput(OI),[kI.name]:this.catalogOutput(kI)}}getConnectionsRequirements(){return[{provider:`salesforce`,rateLimitOperation:`salesforce_api`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return{match:`any`,fields:[{fieldName:`salesforce_record_id`}]}}async getAgentContext(e){return $C(e,{objects:[`User`],includeOwners:!0})}},PI=AI,FI={searchId:CI,billableOperation:MI,baseSearch:Q(CI),outputFieldMode:`static`,paginationType:`cursor`,label:`Salesforce users`,categories:[`data`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`List users (record owners) from your Salesforce org, with per-user owned-record counts computed in a single aggregate query — e.g. every rep owning more than 10 accounts.`,tags:[U.NEW],keywords:[`crm`,`sfdc`,`owner`,`rep`,`seller`,`team`,`ownership`],docPath:$(CI),guide:"Ownership counts come from ONE `GROUP BY OwnerId` aggregate — cheap even for many users. Caveat: aggregate results don't paginate, so orgs with more than 2,000 distinct owners of the counted object get a precise error — use query:salesforce@1 with your own GROUP BY/HAVING there. The user id chains as `salesforce_record_id` into owner filters on the object searches.",cost:jI,provider:`salesforce`,defaultPayload:{search_id:CI,connector:{strategy:`first`,connections:[]},config:{owned_object:`accounts`,min_owned_count:null,include_ownership_counts:!0,include_inactive:!1,custom_properties:[],limit:100,cursor:``,output_fields:{salesforce_record_id:{enabled:!0,alias:``},first_name:{enabled:!0,alias:``},last_name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},salesforce_owned_count:{enabled:!0,alias:``},salesforce_user_match:{enabled:!0,alias:``}}}}},II=`people:entitysearch:parallel@1`,LI=h(`name`),RI=h(`job_title`),zI=h(`profile_url`),BI=h(`parallel_person_entity_match`),VI=r.object({search_id:r.literal(II),connector:Dc(),config:r.object({objective:ml({path:`config.objective`,sectionKey:`general`,groupPath:`config.general`,label:`Objective`,rows:4,minLength:10,placeholder:`Heads of Engineering at Series B fintech companies in the US`,description:`Plain-text natural-language description of the people to find.`}),limit:P({path:`config.limit`,min:5,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of entities to return (5–1000).`}).default(100),output_fields:F(r.object({[LI.name]:j({fieldName:LI.name}),[RI.name]:j({fieldName:RI.name}),[zI.name]:j({fieldName:zI.name}),[BI.name]:j({fieldName:BI.name})}))})}),HI={match:`any`,fields:[{fieldName:`profile_url`}]},UI={allowManagedConnection:!0,mode:`per_page`,credits:{default:.5},info:`1 page = 100 results; billed per 100 results returned (e.g. 100 results = 1 page, 1,000 results = 10 pages). A search returns up to your selected limit in a single request.`},WI=`people-entitysearch-parallel-v1`,GI=class extends Z{billing={billableOperation:WI,cost:UI};searchId=II;schema=VI;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[LI.name]:this.catalogOutput(LI),[RI.name]:this.catalogOutput(RI),[zI.name]:this.catalogOutput(zI),[BI.name]:this.catalogOutput(BI)}}getConnectionsRequirements(){return[{provider:`parallel`,rateLimitOperation:`parallel_entity_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return HI}},KI=VI,qI={searchId:II,billableOperation:WI,baseSearch:Q(II),label:`People search (AI)`,categories:[`people`],paginationType:`page_number`,hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Natural-language people search powered by Parallel Entity Search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`natural language`],docPath:$(II),cost:UI,provider:`parallel`,defaultPayload:{search_id:II,connector:null,config:{objective:``,limit:100,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},parallel_person_entity_match:{enabled:!1,alias:``}}}}},JI=`people:eventguests:luma@1`,YI=h(`name`),XI=h(`email`),ZI=h(`luma_id`),QI=h(`registered_at`),$I=h(`luma_event_guest_match`),eL=[{label:`Sample Meetup — Berlin`,value:`evt-sandbox-1`},{label:`Sample Conference — SF`,value:`evt-sandbox-2`}],tL={requires:{connection:`luma`},options:async({query:e,secret:t,environment:n})=>{if(n===`sandbox`)return eL;if(!t)throw Error(`A Luma connection is required to list events.`);let r=await fetch(`https://public-api.luma.com/v1/calendar/list-events`,{headers:{accept:`application/json`,"x-luma-api-key":t}});if(!r.ok){let e=await r.text();throw Error(`Failed to list Luma events: ${e}`)}let i=((await r.json()).entries||[]).filter(e=>!!e?.id).map(e=>({label:e.name||e.id,value:e.id}));return e?i.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())):i}},nL=r.object({search_id:r.literal(JI),connector:Ec(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of guests per page`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[YI.name]:j({fieldName:YI.name}),[XI.name]:j({fieldName:XI.name}),[ZI.name]:j({fieldName:ZI.name}),[QI.name]:j({fieldName:QI.name}),[$I.name]:j({fieldName:$I.name})})),filters:r.object({event_id:gl({path:`config.filters.event_id`,sectionKey:`config.filters`,groupPath:`config.filters.event`,label:`Event`,required:!0,info:`Pick one of your Luma events; guests of this event are returned.`,enabledIf:g(`luma`),optionsDef:tL}),approval_status:hl({path:`config.filters.approval_status`,sectionKey:`config.filters`,groupPath:`config.filters.event`,label:`Approval status`,description:`Only return guests with this approval status.`,required:!1,options:[{value:`approved`,label:`Approved`},{value:`pending_approval`,label:`Pending approval`},{value:`declined`,label:`Declined`},{value:`waitlist`,label:`Waitlist`},{value:`invited`,label:`Invited`}]})})})}),rL={match:`any`,fields:[{fieldName:`luma_id`}]},iL={allowManagedConnection:!0,mode:`per_page`,credits:{default:1},info:`1 page = up to 100 guests.`},aL=`people-eventguests-luma-v1`,oL=class extends Z{billing={billableOperation:aL,cost:iL};searchId=JI;schema=nL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[YI.name]:this.catalogOutput(YI),[XI.name]:this.catalogOutput(XI),[ZI.name]:this.catalogOutput(ZI),[QI.name]:this.catalogOutput(QI),[$I.name]:this.catalogOutput($I)}}getConnectionsRequirements(){return[{provider:`luma`,rateLimitOperation:`luma_get_guests`,rateLimitRatio:1,allowManagedConnection:!1}]}getDedupConfig(){return rL}},sL=nL,cL={searchId:JI,billableOperation:aL,baseSearch:Q(JI),paginationType:`cursor`,label:`List event guests`,categories:[`people`],hasManagedConnection:!1,allowsUserConnection:!0,lifecycle:null,description:`Fetch all guests of a Luma event using your own Luma API key.`,tags:[U.PEOPLE_PROFILES,U.EVENTS,U.NEW],keywords:[`attendees`,`rsvp`,`meetup`,`conference`,`registrations`,`participants`],docPath:$(JI),cost:iL,provider:`luma`,defaultPayload:{search_id:JI,connector:{strategy:`first`,connections:[]},config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},luma_id:{enabled:!0,alias:``},registered_at:{enabled:!0,alias:``},luma_event_guest_match:{enabled:!0,alias:``}},filters:{event_id:``,approval_status:``}}}},lL=`people:profiles:amplemarket@2`,uL=h(`name`),dL=h(`company_domain`),fL=h(`profile_url`),pL=h(`job_title`),mL=h(`amplemarket_person_match`),hL=r.object({search_id:r.literal(lL),connector:Dc(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,label:`Page size`,sectionKey:`pagination`,description:`Max number of search results per page`}).default(50),page_number:P({path:`config.page_number`,groupPath:`config.pagination`,label:`Page number`,min:1,sectionKey:`pagination`,description:``}).nullish(),output_fields:F(r.object({[uL.name]:j({fieldName:uL.name}),[dL.name]:j({fieldName:dL.name}),[fL.name]:j({fieldName:fL.name}),[pL.name]:j({fieldName:pL.name}),[mL.name]:j({fieldName:mL.name})})),filters:r.object({person_names:k({label:`Full name`,path:`config.filters.person_names`,sectionKey:`config.filters`,groupPath:`config.filters.general`}),current_locations:N({path:`config.filters.current_locations`,sectionKey:`config.filters`,label:`Location`,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:k({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,placeholder:V(`title`),description:``,order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}),current_seniority_levels:M({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,placeholder:V(`seniority`),label:`Seniority`,required:!1,disableSearch:!1,options:p(`amplemarket.seniority_levels`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_departments:M({path:`config.filters.current_departments`,sectionKey:`config.filters`,label:`Department`,placeholder:V(`department`),disableSearch:!1,required:!1,options:p(`amplemarket.departments`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_job_functions:M({path:`config.filters.current_job_functions`,sectionKey:`config.filters`,label:`Job function`,placeholder:V(`job_function`),disableSearch:!1,required:!1,options:p(`amplemarket.job_functions`),description:``,groupPath:`config.filters.current_employer`}).default([]),current_employer_locations:N({path:`config.filters.current_employer_locations`,sectionKey:`config.filters`,label:`Headquarters`,optionsDef:m(`locations`),groupPath:`config.filters.current_company`,placeholder:V(`location`)}).default({include:[],exclude:[]}),current_employer_names:A({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`company_name`),suggestionsDef:m(`company_names`)}).default({include:[],exclude:[]}),current_employer_domains:A({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,description:``,maxItems:200,placeholder:V(`company_domain`),groupPath:`config.filters.current_company`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_linkedin_industries:M({path:`config.filters.current_employer_linkedin_industries`,sectionKey:`config.filters`,label:`Industry`,disableSearch:!1,groupPath:`config.filters.current_company`,description:``,placeholder:V(`industry`),required:!1,options:p(`linkedin.industries`)}).default([]),current_employer_estimated_revenue:M({path:`config.filters.current_employer_estimated_revenue`,sectionKey:`config.filters`,label:`Estimated revenue`,disableSearch:!1,required:!1,groupPath:`config.filters.current_company`,description:``,options:p(`amplemarket.company_revenue`)}).default([]),current_employer_founded_year:ol({path:`config.filters.current_employer_founded_year`,sectionKey:`config.filters`,label:`Founded year`,groupPath:`config.filters.current_company`,min:0,max:2040,description:``}).default({min:null,max:null}),current_employer_investors:k({path:`config.filters.current_employer_investors`,sectionKey:`config.filters`,label:`Employer investors`,groupPath:`config.filters.current_company`,placeholder:V(`investor`),description:``}),current_employer_open_position_titles:k({path:`config.filters.current_employer_open_position_titles`,sectionKey:`config.filters`,label:`Open positions`,groupPath:`config.filters.current_company`,description:``,placeholder:V(`title`),suggestionsDef:m(`titles`)}),school_names:N({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),gL={match:`any`,fields:[{fieldName:`profile_url`}]},_L={allowManagedConnection:!0,mode:`per_page`,credits:{default:3},info:`1 page = 100 records; 200 results = 2 pages`},vL=`people-profiles-amplemarket-v2`,yL=class extends Z{billing={billableOperation:vL,cost:_L};searchId=lL;schema=hL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[uL.name]:this.catalogOutput(uL),[dL.name]:this.catalogOutput(dL),[fL.name]:this.catalogOutput(fL),[pL.name]:this.catalogOutput(pL),[mL.name]:this.catalogOutput(mL)}}getConnectionsRequirements(){return[{provider:`amplemarket`,rateLimitOperation:`amplemarket_people_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return gL}},bL=hL,xL={searchId:lL,billableOperation:vL,baseSearch:Q(`people:profiles:amplemarket@2`),paginationType:`page_number`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`filters`],docPath:$(lL),cost:_L,provider:`amplemarket`,defaultPayload:{search_id:lL,connector:null,config:{limit:50,page_number:1,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},amplemarket_person_match:{enabled:!0,alias:``}},filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}},SL=`people:profiles:crustdata@2`,CL=h(`name`),wL=h(`company_domain`),TL=h(`profile_url`),EL=h(`job_title`),DL=h(`crustdata_person_match`),OL=r.object({search_id:r.literal(SL),connector:Dc(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[CL.name]:j({fieldName:CL.name}),[wL.name]:j({fieldName:wL.name}),[TL.name]:j({fieldName:TL.name}),[EL.name]:j({fieldName:EL.name}),[DL.name]:j({fieldName:DL.name})})),filters:r.object({locations:N({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),current_job_titles:A({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employer_names:A({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employer_domains:A({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_industries:N({path:`config.filters.current_employer_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),years_at_current_company:M({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employer_domains:A({path:`config.filters.previous_employer_domains`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),previous_seniority_levels:sl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employer_names:A({path:`config.filters.previous_employer_names`,sectionKey:`config.filters`,label:`Previous employer`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_job_titles:A({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employer_industries:N({path:`config.filters.previous_employer_industries`,sectionKey:`config.filters`,label:`Previous employer industries`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),profile_headline_keywords:A({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),profile_summary_keywords:A({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_languages:sl({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile language`,placeholder:V(`languages`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),languages:sl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),skills:N({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]}),years_of_experience:M({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:sl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),certifications:A({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``}).default({include:[],exclude:[]}),honors:A({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``}).default({include:[],exclude:[]}),recently_changed_jobs:fl({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:N({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),degree_names:N({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),school_names:N({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),current_school_names:N({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),extracurricular_activities:A({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,placeholder:V(`extracurricular`),groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)}).default({include:[],exclude:[]}),post_processing_exclude_company_profile_urls:k({path:`config.filters.post_processing_exclude_company_profile_urls`,sectionKey:`config.filters`,groupPath:`config.filters.post_processing`,label:`Exclude company profiles`,maxItems:5e3,placeholder:`https://linkedin.com/company/...`,description:`Company LinkedIn URLs (https://www.linkedin.com/company/{slug}) removed from the search results`}).default([]),post_processing_exclude_company_names:k({path:`config.filters.post_processing_exclude_company_names`,sectionKey:`config.filters`,groupPath:`config.filters.post_processing`,label:`Exclude company names`,maxItems:5e3,placeholder:V(`company_name`),description:`Company names removed from the search results`}).default([])}).check(e=>{let{post_processing_exclude_company_profile_urls:t,post_processing_exclude_company_names:n,...r}=e.value;XM(r)&&e.issues.push({code:`custom`,message:`You must set at least one meaningful filter.`,input:e.value})})})}),kL={match:`any`,fields:[{fieldName:`profile_url`}]},AL={allowManagedConnection:!0,mode:`per_page`,credits:{default:5},info:`1 page = 100 records; 200 results = 2 pages`},jL=`people-profiles-crustdata-v2`,ML=class extends Z{billing={billableOperation:jL,cost:AL};searchId=SL;schema=OL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[CL.name]:this.catalogOutput(CL),[wL.name]:this.catalogOutput(wL),[TL.name]:this.catalogOutput(TL),[EL.name]:this.catalogOutput(EL),[DL.name]:this.catalogOutput(DL)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return kL}},NL=OL,PL={searchId:SL,billableOperation:jL,baseSearch:Q(`people:profiles:crustdata@2`),paginationType:`cursor`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`linkedin`],docPath:$(SL),cost:AL,provider:`crustdata`,defaultPayload:{search_id:SL,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_domain:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:{include:[],exclude:[]},languages:{include:[],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},current_employer_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},years_at_current_company:[],certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employer_industries:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},locations:{include:[],exclude:[]},profile_languages:{include:[],exclude:[]},recently_changed_jobs:null,extracurricular_activities:{include:[],exclude:[]},school_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},current_job_titles:{include:[],exclude:[]},skills:{include:[],exclude:[]},years_of_experience:[],previous_employer_industries:{include:[],exclude:[]},post_processing_exclude_company_profile_urls:[],post_processing_exclude_company_names:[]}}}},FL=`people:profiles:crustdata@3`,IL=h(`name`),LL=h(`profile_url`),RL=h(`person_profile_match`),zL=r.object({search_id:r.literal(FL),connector:Dc(),config:r.object({limit:P({path:`config.limit`,min:1,max:1e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),output_fields:F(r.object({[IL.name]:j({fieldName:IL.name}),[LL.name]:j({fieldName:LL.name}),[RL.name]:j({fieldName:RL.name})})),filters:r.object({recently_changed_jobs:fl({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),certifications:A({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,placeholder:V(`certification`),description:``,suggestionsDef:m(`person.certifications.crustdata`)}).default({include:[],exclude:[]}),honors:A({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,placeholder:V(`honor`),description:``,suggestionsDef:m(`person.honors.crustdata`)}).default({include:[],exclude:[]}),current_employer_domains:A({path:`config.filters.current_employer_domains`,sectionKey:`config.filters`,label:`Company domain`,placeholder:V(`company_domain`),description:``,maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),current_employer_headcount_brackets:M({path:`config.filters.current_employer_headcount_brackets`,sectionKey:`config.filters`,label:`Headcount`,description:``,placeholder:`1-10`,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.current_employer`}).default([]),current_employer_industries:N({path:`config.filters.current_employer_industries`,sectionKey:`config.filters`,label:`Industry`,groupPath:`config.filters.current_employer`,placeholder:V(`industry`),description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),current_employer_names:A({path:`config.filters.current_employer_names`,sectionKey:`config.filters`,label:`Company name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.current_employer`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),current_employment_job_functions:M({path:`config.filters.current_employment_job_functions`,sectionKey:`config.filters`,label:`Function`,groupPath:`config.filters.current_employer`,placeholder:V(`job_function`),description:``,disableSearch:!0,required:!1,options:p(`employment_function.crustdata`)}).default([]),current_employment_job_titles:A({path:`config.filters.current_employment_job_titles`,sectionKey:`config.filters`,label:`Title`,description:``,placeholder:V(`title`),order:1,groupPath:`config.filters.current_employer`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),current_employment_seniority_levels:M({path:`config.filters.current_employment_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,placeholder:V(`seniority`),options:ze(`crustdata.person_seniority`).options,required:!1,description:``,groupPath:`config.filters.current_employer`}).default([]),current_employment_tenure_brackets:M({path:`config.filters.current_employment_tenure_brackets`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.current_employer`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),current_school_names:N({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),degree_names:N({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree`,placeholder:V(`degree_name`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default({include:[],exclude:[]}),fields_of_study:N({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Field of study`,placeholder:V(`field_of_study`),description:``,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default({include:[],exclude:[]}),school_names:N({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School`,description:``,placeholder:V(`school`),groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default({include:[],exclude:[]}),previous_employer_domains:A({path:`config.filters.previous_employer_domains`,sectionKey:`config.filters`,label:`Previous employer domain`,description:``,placeholder:V(`company_domain`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_domains`,{widgets:e=>({logo_url:{url:Dt(e.value)}})})}).default({include:[],exclude:[]}),previous_employer_headcount_brackets:M({path:`config.filters.previous_employer_headcount_brackets`,sectionKey:`config.filters`,label:`Previous employer headcount`,description:``,placeholder:`1-10`,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.experience`}).default([]),previous_employer_industries:N({path:`config.filters.previous_employer_industries`,sectionKey:`config.filters`,label:`Previous employer industry`,placeholder:V(`industry`),groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`,{limit:300})}).default({include:[],exclude:[]}),previous_employer_names:A({path:`config.filters.previous_employer_names`,sectionKey:`config.filters`,label:`Previous employer name`,description:``,placeholder:V(`company_name`),maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`company_names`,{widgets:{emoji:{char:`🏷️`}}})}).default({include:[],exclude:[]}),previous_employment_job_functions:M({path:`config.filters.previous_employment_job_functions`,sectionKey:`config.filters`,label:`Previous function`,groupPath:`config.filters.experience`,placeholder:V(`job_function`),description:``,disableSearch:!0,required:!1,options:p(`employment_function.crustdata`)}).default([]),previous_employment_job_titles:A({path:`config.filters.previous_employment_job_titles`,sectionKey:`config.filters`,label:`Previous title`,description:``,placeholder:V(`title`),groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}).default({include:[],exclude:[]}),previous_employment_seniority_levels:M({path:`config.filters.previous_employment_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,placeholder:V(`seniority`),disableSearch:!0,options:ze(`crustdata.person_seniority`).options,required:!1,description:``,groupPath:`config.filters.experience`}).default([]),previous_employment_tenure_brackets:M({path:`config.filters.previous_employment_tenure_brackets`,sectionKey:`config.filters`,label:`Years at previous company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),total_years_of_experience_brackets:M({path:`config.filters.total_years_of_experience_brackets`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),languages:sl({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken language`,placeholder:V(`languages_1`),optionsDef:ze(`crustdata.person_profile_languages`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),locations:N({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Location`,placeholder:V(`location`),optionsDef:m(`locations`),groupPath:`config.filters.general`}).default({include:[],exclude:[]}),about_section_keywords:A({path:`config.filters.about_section_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`profile_keywords`)}).default({include:[],exclude:[]}),profile_headline_keywords:A({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`,placeholder:V(`headline_keywords`)}).default({include:[],exclude:[]}),skills:N({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,description:``,placeholder:V(`skills`),groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default({include:[],exclude:[]})}).check(e=>{XM(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),BL={match:`any`,fields:[{fieldName:`profile_url`}]},VL={allowManagedConnection:!0,mode:`per_result`,credits:{default:.15,level1:{credits:.07,weight:10}},info:`1 page = 100 records; 200 results = 2 pages`},HL=`people-profiles-crustdata-v3`,UL=class extends Z{billing={billableOperation:HL,cost:VL};searchId=FL;schema=zL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[IL.name]:this.catalogOutput(IL),[LL.name]:this.catalogOutput(LL),[RL.name]:this.catalogOutput(RL)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return BL}},WL=zL,GL={searchId:FL,billableOperation:HL,baseSearch:Q(`people:profiles:crustdata@2`),paginationType:`cursor`,label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],keywords:[`prospect`,`lead`,`contact`,`find people`,`linkedin`],docPath:$(FL),cost:VL,provider:`crustdata`,defaultPayload:{search_id:FL,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},person_profile_match:{enabled:!0,alias:``}},filters:{recently_changed_jobs:null,certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},current_employer_headcount_brackets:[],current_employer_industries:{include:[],exclude:[]},current_employer_names:{include:[],exclude:[]},current_employment_job_functions:[],current_employment_job_titles:{include:[],exclude:[]},current_employment_seniority_levels:[],current_employment_tenure_brackets:[],current_school_names:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},fields_of_study:{include:[],exclude:[]},school_names:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},previous_employer_headcount_brackets:[],previous_employer_industries:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},previous_employment_job_functions:[],previous_employment_job_titles:{include:[],exclude:[]},previous_employment_seniority_levels:[],previous_employment_tenure_brackets:[],total_years_of_experience_brackets:[],languages:{include:[],exclude:[]},locations:{include:[],exclude:[]},about_section_keywords:{include:[],exclude:[]},profile_headline_keywords:{include:[],exclude:[]},skills:{include:[],exclude:[]}}}}},KL=`posts:content:crustdata@1`,qL=h(`post_match`),JL=h(`post_text`),YL=h(`post_id`),XL=r.object({search_id:r.literal(KL),connector:Dc(),config:r.object({limit:P({path:`config.limit`,min:1,max:100,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Page size`,description:`Max number of search results per page`}).default(100),output_fields:F(r.object({[YL.name]:j({fieldName:YL.name}),[qL.name]:j({fieldName:qL.name}),[JL.name]:j({fieldName:JL.name})})),filters:r.object({keywords:k({path:`config.filters.keywords`,sectionKey:`config.filters`,label:`Search keywords`,groupPath:`config.filters.general`,maxItems:6,placeholder:V(`profile_keywords`),description:``}).default([]),keyword_operator:hl({path:`config.filters.keyword_operator`,sectionKey:`config.filters`,label:`Keyword operator`,groupPath:`config.filters.general`,options:[{value:`OR`,label:`Any keyword (OR)`},{value:`AND`,label:`All keywords (AND)`}],required:!0,defaultValue:`OR`,description:`Post must match any or all keywords.`}).default(`OR`),date_posted:hl({path:`config.filters.date_posted`,sectionKey:`config.filters`,label:`Date posted`,groupPath:`config.filters.general`,options:ze(`crustdata.post_date_posted`).options,placeholder:`Past 24h, past week, ...`,required:!1,defaultValue:``,description:`Only return posts published within this recency window.`}).default(``),content_types:M({path:`config.filters.content_types`,sectionKey:`config.filters`,label:`Content type`,groupPath:`config.filters.general`,options:p(`crustdata.post_content_type`),disableSearch:!0,required:!1,placeholder:`Photos, jobs, ...`,description:``}).default([]),author_industries:_l({path:`config.filters.author_industries`,sectionKey:`config.filters`,label:`Author industry`,groupPath:`config.filters.author`,optionsDef:m(`linkedin_industries.crustdata`),disableSearch:!1,required:!1,maxItems:100,placeholder:V(`industry`),description:`Only return posts whose author works in one of these industries.`}).default([]),author_company_profile_url:k({path:`config.filters.author_company_profile_url`,sectionKey:`config.filters`,label:`Author company profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts whose author currently works at these companies (by LinkedIn profile URL).`}).default([]),author_title:k({path:`config.filters.author_title`,sectionKey:`config.filters`,label:`Author title`,groupPath:`config.filters.author`,maxItems:50,suggestionsDef:m(`titles`),placeholder:V(`title`),description:`Only return posts whose author holds one of these titles.`}).default([]),author_profile_url:k({path:`config.filters.author_profile_url`,sectionKey:`config.filters`,label:`Author profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/in/..., ...`,description:`Only return posts authored by these people (by LinkedIn profile URL).`}).default([]),authoring_company_profile_url:k({path:`config.filters.authoring_company_profile_url`,sectionKey:`config.filters`,label:`Authoring company profile URL`,groupPath:`config.filters.author`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts authored by these companies (by LinkedIn profile URL).`}).default([]),companies_mentioned_in_post:k({path:`config.filters.companies_mentioned_in_post`,sectionKey:`config.filters`,label:`Companies mentioned in post`,groupPath:`config.filters.mentions`,maxItems:50,placeholder:`https://linkedin.com/company/..., ...`,description:`Only return posts that mention these companies (by LinkedIn profile URL).`}).default([]),people_mentioned_in_post:k({path:`config.filters.people_mentioned_in_post`,sectionKey:`config.filters`,label:`People mentioned in post`,groupPath:`config.filters.mentions`,maxItems:50,placeholder:`https://linkedin.com/in/..., ...`,description:`Only return posts that mention these people (by LinkedIn profile URL).`}).default([])}).check(e=>{let t=e.value,n=t.keywords.some(e=>e.trim()!==``),r=[t.author_industries,t.author_company_profile_url,t.author_title,t.author_profile_url,t.authoring_company_profile_url,t.companies_mentioned_in_post,t.people_mentioned_in_post].some(e=>e.length>0);!n&&!r&&e.issues.push({code:`custom`,message:`Provide a keyword or at least one filter.`,input:e.value,path:[`keywords`]});let i=t.author_industries.length>0||t.author_company_profile_url.length>0||t.author_title.length>0||t.author_profile_url.length>0;t.authoring_company_profile_url.length>0&&i&&e.issues.push({code:`custom`,message:`Authoring company profile URL can't be combined with author profile URL, company name, title, or industry filters.`,input:e.value,path:[`authoring_company_profile_url`]})})})}),ZL={match:`any`,fields:[{fieldName:`post_id`}]},QL={allowManagedConnection:!0,mode:`per_result`,credits:{default:2}},$L=`posts-content-crustdata-v1`,eR=class extends Z{billing={billableOperation:$L,cost:QL};searchId=KL;schema=XL;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[YL.name]:this.catalogOutput(YL),[qL.name]:this.catalogOutput(qL),[JL.name]:this.catalogOutput(JL)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_social_post_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return ZL}},tR=XL,nR={searchId:KL,billableOperation:$L,baseSearch:Q(KL),paginationType:`page_number`,label:`LinkedIn post search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Keyword-based LinkedIn post search.`,tags:[U.LINKEDIN],keywords:[`content`,`social`,`engagement`,`keyword`,`activity`],docPath:$(KL),cost:QL,provider:`crustdata`,defaultPayload:{search_id:KL,connector:null,config:{limit:100,output_fields:{post_id:{enabled:!0,alias:``},post_text:{enabled:!0,alias:``},post_match:{enabled:!0,alias:``}},filters:{keywords:[],keyword_operator:`OR`,date_posted:``,content_types:[],author_industries:[],author_company_profile_url:[],author_title:[],author_profile_url:[],authoring_company_profile_url:[],companies_mentioned_in_post:[],people_mentioned_in_post:[]}}}},rR=`sheet:rows@1`,iR=[{label:`Demo leads`,value:`demo-leads`},{label:`Demo companies`,value:`demo-companies`},{label:`Demo contacts`,value:`demo-contacts`}],aR={requires:{connection:`pipe0`},enabledIf:g(`pipe0`,`Select a pipe0 connection to see sheet suggestions`),options:async({query:e,client:t,environment:n})=>n===`sandbox`?iR:t?(await t.sheets.list({query:e})).map(e=>({label:e.slug,value:e.slug})):[],widgets:{provider_logo:{provider:`pipe0`}}},oR=r.object({search_id:r.literal(rR),connector:Ec(),config:r.object({sheet:gl({path:`config.sheet`,sectionKey:`general`,groupPath:`config.general`,label:`Sheet`,required:!0,info:`Pick one of your pipe0 sheets; its rows are returned.`,enabledIf:g(`pipe0`),optionsDef:aR}),limit:P({path:`config.limit`,min:1,max:2e3,groupPath:`config.pagination`,sectionKey:`pagination`,label:`Limit`,description:`Max number of rows per page`}).default(100),cursor:pl({path:`config.cursor`,groupPath:`config.pagination`,inputType:`text`,label:`Cursor`,sectionKey:`pagination`,description:`Pagination cursor`}).nullable(),include_metadata:dl({path:`config.include_metadata`,groupPath:`config.general`,sectionKey:`general`,label:`Include metadata`,description:`Widgets and prevenance tags.`,defaultValue:!1})})}),sR={allowManagedConnection:!0,mode:`per_search`,credits:{default:0},info:`Reading your own pipe0 sheet is free.`},cR=`sheet-items-v1-pipe0`,lR=class extends Z{billing={billableOperation:cR,cost:sR};searchId=rR;schema=oR;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{}}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}},uR=oR,dR={searchId:rR,billableOperation:cR,baseSearch:Q(rR),outputFieldMode:`dynamic`,paginationType:`cursor`,label:`Read sheet rows`,categories:[`data`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`List rows from a pipe0 sheet.`,tags:[U.FIELDS,U.NEW],keywords:[`lookup`,`list`,`records`,`table`,`fetch`],docPath:$(rR),cost:sR,provider:`pipe0`,defaultPayload:{search_id:rR,connector:{strategy:`first`,connections:[]},config:{sheet:``,limit:100,cursor:``,include_metadata:!1}}},fR={"people:profiles:crustdata@1":ZP,"people:profiles:crustdata@2":ML,"people:profiles:crustdata@3":UL,"companies:profiles:crustdata@1":DP,"companies:profiles:crustdata@2":bN,"people:profiles:amplemarket@1":zP,"people:profiles:amplemarket@2":yL,"companies:profiles:amplemarket@1":hP,"companies:profiles:amplemarket@2":sN,"companies:entitysearch:parallel@1":IM,"people:entitysearch:parallel@1":GI,"people:eventguests:luma@1":oL,"posts:content:crustdata@1":eR,"sheet:rows@1":lR,"bucket:entries@1":CM,"query:postgres@1":KN,"query:databricks@1":zN,"contacts:hubspot@1":MN,"companies:hubspot@1":qM,"deals:hubspot@1":rP,"owners:hubspot@1":uF,"contacts:salesforce@1":UF,"leads:salesforce@1":nI,"accounts:salesforce@1":jF,"opportunities:salesforce@1":pI,"users:salesforce@1":NI,"query:salesforce@1":bI},pR={"people:profiles:crustdata@1":QP,"people:profiles:crustdata@2":NL,"people:profiles:crustdata@3":WL,"companies:profiles:crustdata@1":OP,"companies:profiles:crustdata@2":xN,"people:profiles:amplemarket@1":BP,"people:profiles:amplemarket@2":bL,"companies:profiles:amplemarket@1":gP,"companies:profiles:amplemarket@2":cN,"companies:entitysearch:parallel@1":LM,"people:entitysearch:parallel@1":KI,"people:eventguests:luma@1":sL,"posts:content:crustdata@1":tR,"sheet:rows@1":uR,"bucket:entries@1":wM,"query:postgres@1":qN,"query:databricks@1":BN,"contacts:hubspot@1":NN,"companies:hubspot@1":JM,"deals:hubspot@1":iP,"owners:hubspot@1":dF,"contacts:salesforce@1":WF,"leads:salesforce@1":rI,"accounts:salesforce@1":MF,"opportunities:salesforce@1":mI,"users:salesforce@1":PI,"query:salesforce@1":xI},mR={"people:profiles:crustdata@1":$P,"people:profiles:crustdata@2":PL,"people:profiles:crustdata@3":GL,"companies:profiles:crustdata@1":kP,"companies:profiles:crustdata@2":SN,"people:profiles:amplemarket@1":VP,"people:profiles:amplemarket@2":xL,"companies:profiles:amplemarket@1":_P,"companies:profiles:amplemarket@2":lN,"companies:entitysearch:parallel@1":RM,"people:entitysearch:parallel@1":qI,"people:eventguests:luma@1":cL,"posts:content:crustdata@1":nR,"sheet:rows@1":dR,"bucket:entries@1":TM,"query:postgres@1":JN,"query:databricks@1":VN,"contacts:hubspot@1":PN,"companies:hubspot@1":YM,"deals:hubspot@1":aP,"owners:hubspot@1":fF,"contacts:salesforce@1":GF,"leads:salesforce@1":iI,"accounts:salesforce@1":NF,"opportunities:salesforce@1":hI,"users:salesforce@1":FI,"query:salesforce@1":SI};function hR(e){return fR[e]}const gR=t.discriminatedUnion(`search_id`,Object.values(pR).map(e=>e)).openapi(`SearchPayloadSchema`);function _R(e,t){return yt(t,mR[e].defaultPayload)}const vR=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`search_id`in e))return e;let t=_R(e.search_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},gR),yR=t.object({config:t.object({environment:t.enum([`production`,`sandbox`]).default(`production`),widgets:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1}),field_definitions:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1})}).default({environment:`production`,widgets:{enabled:!1},field_definitions:{enabled:!1}}),search:vR}).openapi(`SearchRequestSchema`),bR=Fa,xR=t.object({value:xa,status:ba,type:va.optional(),format:Ra.nullable().optional(),resolved_by:Wa.nullable().optional(),widgets:Pa.optional()}),SR=t.record(t.string(),xR.nullable());function CR(e){return pR[e]}const wR=t.enum([`cursor`,`page_number`]),TR=t.object({id:t.string(),status:t.enum([`completed`,`failed`,`pending`,`processing`]),search_id:_M,errors:t.array(bR),results:t.array(SR),organization_id:t.string(),next_page:vR.nullable(),pagination_type:wR.nullable(),total_pages:t.int32().nullable(),field_definitions:Ba.optional()}).openapi(`SearchResponseSchema`);function ER(e){let t=e.split(`@`)[1];if(!t)throw Error(`No search version found`);return Number(t)}function DR(){let e={};for(let t of Object.values(mR)){let{baseSearch:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=ER(e.searchId);return ER(t.searchId)-n})}),e}function OR(e){return mR[e]}const kR=DR();function AR(e){let t=[];for(let[n,r]of Object.entries(kR)){let i=r[0];if(!i)throw Error(`Found empty entry`);i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||i.categories.includes(e))&&t.push({...i,baseSearch:n,latestVersion:ER(i.searchId)})}return t}function jR(e){let t=mR[e].defaultPayload.config.output_fields;return t?Object.keys(t):[]}function MR(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={};for(let e of n){if(e.lifecycle&&e.lifecycle.deprecatedOn){i.Deprecated??=[],i.Deprecated.push(e.searchId);continue}a[e.provider]??=[],a[e.provider].push(e.searchId);for(let t of jR(e.searchId))r[t]??=[],r[t].push(e.searchId);for(let t of e.tags)i[t]??=[],i[t].push(e.searchId)}return{searchIdsByOutputField:r,searchIdsByTag:i,searchIdsByProvider:a,sortedTagEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),searchEntriesByBaseSearch:kR}}function NR(e){let t=OR(e);return{[t.provider]:t.cost.allowManagedConnection?t.cost.credits.default:0}}const PR={"prompt:run@1":Jk,"agent:run@1":wu,"company:newssummary:website@1":Xh,"company:newssummary:domain@1":Sp,"company:techstack:builtwith@1":Rg,"company:techstack:builtwith@2":Yp,"company:websiteurl:email@1":qg,"company:domain:workemail@1":md,"company:funding:leadmagic@1":Um,"company:funding:leadmagic@2":Od,"company:funding:waterfall@1":Kd,"people:workemail:waterfall@1":nx,"person:workemail:waterfall@1":Vk,"people:email:iswork@1":n_,"email:iswork@1":dx,"people:name:split@1":Ev,"person:name:split@1":rO,"people:validate:email:zerobounce@1":kb,"people:email:validate:zerobounce@2":x_,"email:validate:zerobounce@1":Fx,"people:mobilenumber:workemail:waterfall@1":gv,"person:name:join@1":qD,"company:overview@1":dg,"company:overview@2":Dg,"company:overview@3":Rp,"json:extract:multi@1":LS,"company:lookalikes:companyenrich@1":bh,"company:lookalikes:companyenrich@2":Cf,"company:match:logodev@1":Vh,"company:match:logodev@2":pp,"person:posts:content:crustdata@1":TO,"people:profile:workemail:crustdata@1":sb,"person:profile:workemail:crustdata@1":KO,"people:identity:email:waterfall@1":L_,"person:identity:email:waterfall@1":YE,"person:identity:amplemarket@1":NE,"email:send:resend@1":Tx,"contact:create:resend@1":om,"lead:enroll:lemlist@1":vC,"lead:enroll:amplemarket@1":XS,"email:send:gmail@1":vx,"email:write@1":Wx,"fields:merge@1":SS,"field:slugify@1":cS,"field:domainify@1":$x,"http:request@1":jS,"template:fill@1":bj,"message:send:slack@1":EC,"message:write@1":PC,"people:personalemail:profile:waterfall@1":Rv,"person:personalemail:profileurl:waterfall@1":hO,"website:scrape:firecrawl@1":iM,"website:scrapelist:firecrawl@1":pM,"website:extract:firecrawl@1":kj,"website:extract:parallel@1":Rj,"website:maplinks:firecrawl@1":qj,"row:append:sheet@1":mA,"bucket:claim@1":Qu,"bucket:count@1":ad,"bucket:check@1":Gu,"row:expandappend:sheet@1":wA,"row:roundrobin:sheet@1":jA,"rows:find:sheet@1":pj,"rows:find:postgres@1":ij,"rows:find:databricks@1":XA,"people:match:role:waterfall@1":J_,"person:match:role:waterfall@1":hD,"company:match:crustdata@1":kh,"company:match:crustdata@2":Mf,"contact:match:hubspot@1":_m,"company:match:hubspot@1":tp,"deal:match:hubspot@1":km,"object:update:hubspot@1":qw,"object:associations:hubspot@1":Rw,"activity:log:hubspot@1":vw,"person:match:salesforce@1":DT,"account:match:salesforce@1":iT,"opportunity:match:salesforce@1":gT,"record:lookup:salesforce@1":KT,"record:update:salesforce@1":nE,"record:assert:salesforce@1":IT,"activities:find:salesforce@1":cw,"activity:log:salesforce@1":Ow,"person:match:amplemarket@1":iD,"company:identity@2":dh,"company:identity@3":rf,"company:identity:crustdata@1":mf,"people:phone:profile:waterfall@1":Yv,"person:mobile:profileurl:waterfall@1":ED,"person:devprofileurl:profileurl:waterfall@1":mE,"people:phone:workemail:waterfall@1":oy,"person:mobile:workemail:waterfall@1":LD,"people:profile:waterfall@1":Zy,"person:profile:waterfall@1":IO,"people:profileurl:email:waterfall@1":yb,"person:profileurl:email:waterfall@1":ik,"person:profileurl:name@1":hk,"people:email:validate:zerobounce@1":d_,"person:email:validate:millionverifier@1":wE,"people:workemail:profileurl:waterfall@1":Hb,"person:workemail:profileurl:waterfall@1":Dk,"company:identity@1":eh,"people:professionalprofile:waterfall@1":_y,"people:professionalprofileurl:name@1":By,"people:professionalprofileurl:email:waterfall@1":ky,"people:mobilenumber:professionalprofile:waterfall@1":av},FR={"prompt:run@1":Yk,"agent:run@1":Tu,"company:newssummary:website@1":Zh,"company:newssummary:domain@1":Cp,"company:techstack:builtwith@1":zg,"company:techstack:builtwith@2":Xp,"company:websiteurl:email@1":Jg,"company:domain:workemail@1":hd,"company:funding:leadmagic@1":Wm,"company:funding:leadmagic@2":kd,"company:funding:waterfall@1":qd,"people:workemail:waterfall@1":rx,"person:workemail:waterfall@1":Hk,"people:email:iswork@1":r_,"email:iswork@1":fx,"people:name:split@1":Dv,"person:name:split@1":iO,"people:validate:email:zerobounce@1":Ab,"people:email:validate:zerobounce@2":S_,"email:validate:zerobounce@1":Ix,"people:mobilenumber:workemail:waterfall@1":_v,"person:name:join@1":JD,"company:overview@1":fg,"company:overview@2":Og,"company:overview@3":zp,"json:extract:multi@1":RS,"email:write@1":Gx,"fields:merge@1":CS,"field:slugify@1":lS,"field:domainify@1":eS,"http:request@1":MS,"email:send:resend@1":Ex,"contact:create:resend@1":sm,"lead:enroll:lemlist@1":yC,"lead:enroll:amplemarket@1":ZS,"company:lookalikes:companyenrich@1":xh,"company:lookalikes:companyenrich@2":wf,"company:match:logodev@1":Hh,"company:match:logodev@2":mp,"person:posts:content:crustdata@1":EO,"people:profile:workemail:crustdata@1":cb,"person:profile:workemail:crustdata@1":qO,"people:identity:email:waterfall@1":R_,"person:identity:email:waterfall@1":XE,"company:match:crustdata@1":Ah,"company:match:crustdata@2":Nf,"contact:match:hubspot@1":vm,"company:match:hubspot@1":np,"deal:match:hubspot@1":Am,"object:update:hubspot@1":Jw,"object:associations:hubspot@1":zw,"activity:log:hubspot@1":yw,"person:match:salesforce@1":OT,"account:match:salesforce@1":aT,"opportunity:match:salesforce@1":_T,"record:lookup:salesforce@1":qT,"record:update:salesforce@1":rE,"record:assert:salesforce@1":LT,"activities:find:salesforce@1":lw,"activity:log:salesforce@1":kw,"person:identity:amplemarket@1":PE,"message:send:slack@1":DC,"email:send:gmail@1":yx,"message:write@1":FC,"template:fill@1":xj,"website:scrape:firecrawl@1":aM,"website:scrapelist:firecrawl@1":mM,"website:extract:firecrawl@1":Aj,"website:extract:parallel@1":zj,"website:maplinks:firecrawl@1":Jj,"row:append:sheet@1":hA,"bucket:claim@1":$u,"bucket:count@1":od,"bucket:check@1":Ku,"row:expandappend:sheet@1":TA,"row:roundrobin:sheet@1":MA,"rows:find:sheet@1":mj,"rows:find:postgres@1":aj,"rows:find:databricks@1":ZA,"people:match:role:waterfall@1":Y_,"person:match:role:waterfall@1":gD,"company:identity@2":fh,"company:identity@3":af,"company:identity:crustdata@1":hf,"people:phone:profile:waterfall@1":Xv,"person:mobile:profileurl:waterfall@1":DD,"person:devprofileurl:profileurl:waterfall@1":hE,"people:personalemail:profile:waterfall@1":zv,"person:personalemail:profileurl:waterfall@1":gO,"people:profile:waterfall@1":Qy,"person:profile:waterfall@1":LO,"people:profileurl:email:waterfall@1":bb,"person:profileurl:email:waterfall@1":ak,"person:profileurl:name@1":gk,"people:email:validate:zerobounce@1":f_,"person:email:validate:millionverifier@1":TE,"people:phone:workemail:waterfall@1":sy,"person:mobile:workemail:waterfall@1":RD,"people:workemail:profileurl:waterfall@1":Ub,"person:workemail:profileurl:waterfall@1":Ok,"person:match:amplemarket@1":aD,"company:identity@1":th,"people:professionalprofile:waterfall@1":vy,"people:professionalprofileurl:name@1":Vy,"people:professionalprofileurl:email:waterfall@1":Ay,"people:mobilenumber:professionalprofile:waterfall@1":ov},IR={"prompt:run@1":Xk,"agent:run@1":Eu,"company:newssummary:website@1":Qh,"company:newssummary:domain@1":wp,"company:techstack:builtwith@1":Bg,"company:techstack:builtwith@2":Zp,"company:websiteurl:email@1":Yg,"company:domain:workemail@1":gd,"company:funding:leadmagic@1":Gm,"company:funding:leadmagic@2":Ad,"company:funding:waterfall@1":Jd,"people:workemail:waterfall@1":ix,"person:workemail:waterfall@1":Uk,"people:email:iswork@1":i_,"email:iswork@1":px,"people:name:split@1":Ov,"person:name:split@1":aO,"people:validate:email:zerobounce@1":jb,"people:mobilenumber:workemail:waterfall@1":vv,"person:name:join@1":YD,"company:overview@1":pg,"company:overview@2":kg,"company:overview@3":Bp,"json:extract:multi@1":zS,"email:send:resend@1":Dx,"contact:create:resend@1":cm,"lead:enroll:lemlist@1":bC,"lead:enroll:amplemarket@1":QS,"email:send:gmail@1":bx,"message:send:slack@1":OC,"message:write@1":IC,"email:write@1":Kx,"template:fill@1":Sj,"fields:merge@1":wS,"field:slugify@1":uS,"field:domainify@1":tS,"http:request@1":NS,"row:append:sheet@1":gA,"bucket:claim@1":ed,"bucket:count@1":sd,"bucket:check@1":qu,"row:expandappend:sheet@1":EA,"row:roundrobin:sheet@1":NA,"rows:find:sheet@1":hj,"rows:find:postgres@1":oj,"rows:find:databricks@1":QA,"company:lookalikes:companyenrich@1":Sh,"company:lookalikes:companyenrich@2":Tf,"people:match:role:waterfall@1":X_,"person:match:role:waterfall@1":_D,"company:match:logodev@1":Uh,"company:match:logodev@2":hp,"person:posts:content:crustdata@1":DO,"people:profile:workemail:crustdata@1":lb,"person:profile:workemail:crustdata@1":JO,"people:workemail:profileurl:waterfall@1":Wb,"person:workemail:profileurl:waterfall@1":kk,"people:identity:email:waterfall@1":z_,"person:identity:email:waterfall@1":ZE,"company:match:crustdata@1":jh,"company:match:crustdata@2":Pf,"contact:match:hubspot@1":ym,"company:match:hubspot@1":rp,"deal:match:hubspot@1":jm,"object:update:hubspot@1":Yw,"object:associations:hubspot@1":Bw,"activity:log:hubspot@1":bw,"person:match:salesforce@1":kT,"account:match:salesforce@1":oT,"opportunity:match:salesforce@1":vT,"record:lookup:salesforce@1":JT,"record:update:salesforce@1":iE,"record:assert:salesforce@1":RT,"activities:find:salesforce@1":uw,"activity:log:salesforce@1":Aw,"person:identity:amplemarket@1":FE,"email:validate:zerobounce@1":Lx,"person:email:validate:millionverifier@1":EE,"people:personalemail:profile:waterfall@1":Bv,"person:personalemail:profileurl:waterfall@1":_O,"people:email:validate:zerobounce@1":p_,"people:email:validate:zerobounce@2":C_,"people:phone:workemail:waterfall@1":cy,"person:mobile:workemail:waterfall@1":zD,"website:scrape:firecrawl@1":oM,"website:scrapelist:firecrawl@1":hM,"website:extract:firecrawl@1":jj,"website:extract:parallel@1":Bj,"website:maplinks:firecrawl@1":Yj,"person:match:amplemarket@1":oD,"company:identity@2":ph,"company:identity@3":of,"company:identity:crustdata@1":gf,"people:phone:profile:waterfall@1":Zv,"person:mobile:profileurl:waterfall@1":OD,"person:devprofileurl:profileurl:waterfall@1":gE,"people:profile:waterfall@1":$y,"person:profile:waterfall@1":RO,"people:profileurl:email:waterfall@1":xb,"person:profileurl:email:waterfall@1":ok,"person:profileurl:name@1":_k,"company:identity@1":nh,"people:professionalprofile:waterfall@1":yy,"people:professionalprofileurl:name@1":Hy,"people:professionalprofileurl:email:waterfall@1":jy,"people:mobilenumber:professionalprofile:waterfall@1":sv};function LR(e){return e.defaultPayload?.config?.output_fields?Object.keys(e.defaultPayload?.config?.output_fields||{}):[]}function RR(e){return PR[e]}function zR(e){return IR[e].defaultPayload}function BR(e){return FR[e]}const VR=r.discriminatedUnion(`pipe_id`,Object.values(FR)).openapi(`PipePayload`),HR=r.preprocess(e=>{if(!e||typeof e!=`object`||!(`pipe_id`in e))return e;try{let t=zR(ga.parse(e.pipe_id));return t?{...e,config:yt(e?.config||{},t.config)}:e}catch{return e}},VR);function UR(e){return IR[e]}function WR(e,t){let n=UR(e);if(t in n.billableOperations)return n.billableOperations[t];throw Error(`Unable to find billable operation definition for pipeId '${e}' and operation '${t}'`)}function GR(e){let t=e.split(`@`)[1];if(!t)throw Error(`No pipe version found`);return Number(t)}function KR(){let e={};for(let t of Object.values(IR)){let{basePipe:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=GR(e.pipeId);return GR(t.pipeId)-n})}),e}const qR=e=>{let t=UR(e),n=new Set(t.deprecatedProviders);return Array.from(new Set([...t.managedProviders,...t.allowedUserConnectionProviders])).filter(e=>!n.has(e))},JR=KR();function YR(e,t){let n=new Map;for(let[t,r]of Object.entries(e))for(let e of Object.keys(r.billableOperations)){let r=n.get(e)??[];r.push(`pipe ${t}`),n.set(e,r)}for(let[e,r]of Object.entries(t)){let t=r.billableOperation,i=n.get(t)??[];i.push(`search ${e}`),n.set(t,i)}let r=[...n.entries()].filter(([,e])=>e.length>1);if(r.length>0){let e=r.map(([e,t])=>` "${e}" used by ${t.join(`, `)}`).join(`
80
+ `);throw Error(`Catalog has ${r.length} duplicate billable-operation key(s):\n${e}`)}}YR(IR,mR);function XR(e){let t=[];for(let[n,r]of Object.entries(JR)){let i=r[0];if(!i)throw Error(`Found empty entry`);let a=i.categories;i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||a.includes(e))&&t.push({...i,basePipe:n,latestVersion:GR(i.pipeId)})}return t}function ZR(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={},o={};for(let e of n){let t=qR(e.defaultPayload.pipe_id);for(let n of t)o[n]??=[],o[n].push(e.defaultPayload.pipe_id);for(let t of LR(e))i[t]??=[],i[t].push(e.defaultPayload.pipe_id);if(e.defaultInputRequirement)for(let{field:t}of $l(e.defaultInputRequirement))r[t.name]??=[],r[t.name]?.push(e.defaultPayload.pipe_id);for(let t of e.tags)a[t]??=[],a[t].push(e.defaultPayload.pipe_id)}return{pipeIdsByInputField:r,pipeIdsByOutputField:i,pipeIdsByTag:a,pipeIdsByProvider:o,sortedTagEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),sortedInputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(o).sort((e,t)=>e[0].localeCompare(t[0])),pipeEntriesByBasePipe:JR}}const QR=r.object({id:r.string(),organization_id:r.string(),order:r.array(ya),field_definitions:Za,errors:r.array(Fa),records:r.record(ya,Ja),status:r.enum([`completed`,`failed`,`pending`,`processing`])}).openapi(`PipesResponseSchema`),$R=r.object({environment:ma.default(`production`),widgets:r.object({enabled:r.boolean().default(!1)}).default({enabled:!1}),field_definitions:r.object({enabled:r.boolean()}).default({enabled:!1}),transform:r.object({include_fields:r.enum([`input`,`annotated`])}).default({include_fields:`input`})}).default({environment:`production`,transform:{include_fields:`input`},widgets:{enabled:!1},field_definitions:{enabled:!1}}).openapi(`PipesRequestConfig`),ez=r.object({config:$R.openapi(`PipesRequestConfig`),field_annotations:Ba.optional().openapi(`PipesFieldAnnotations`),pipes:r.array(VR),input:r.array(qa.openapi(`PipesInputSchema`)),scopes:r.array(r.string()).optional()});function tz(e){let t=UR(e);return Object.values(t.billableOperations).reduce((e,t)=>{let n=t.allowManagedConnection?t.credits.default:0;return e[t.provider]??=n,e[t.provider]=Math.min(e[t.provider],n),e},{})}function nz(e){let t=[];for(let n of e){if(n instanceof B){t.push(n);continue}let e=HR.parse(n);if(!UR(n.pipe_id))throw Error(`Unknown pipe: ${n.pipe_id}`);let r=new(RR(n.pipe_id))(e);t.push(r)}return t}function rz(e,t){let n=nz(e),r=new Set;return n.forEach(e=>Object.entries(e.inputFields).forEach(([n,i])=>{i.resolvedName===t&&r.add(e.pipeId)})),Array.from(r)}function iz(e,t){let n=e.dependencyGraph,r=new Set;return n.forEach((e,n)=>e.forEach(e=>{e.index===t&&r.add(n)})),Array.from(r).map(t=>{let n=e.orderedPipeInstances[t];if(!n)throw Error(`Internal: Pipe with index ${t} not found.`);return n.pipeId})}function az(e){return e===`localhost`?!0:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)&&e.includes(`.`)}function oz(e){return/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(e)?e.split(`.`).every(e=>{let t=parseInt(e,10);return t>=0&&t<=255}):/:/.test(e)}function sz(e){if(!e||typeof e!=`string`)return``;let t=e.trim();t.match(/^[a-zA-Z]+:\/\//)||(t=`https://${t}`);try{let e=new URL(t).hostname;if(oz(e))return`https://${e}`;if(!az(e))throw Error(`Invalid domain`);return`https://${e}`}catch{let t=e.match(/([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}/i);return t?`https://${t[0]}`:``}}function cz(e){if(!e||typeof e!=`string`)return``;let t=e.trim();t.match(/^[a-zA-Z]+:\/\//)||(t=`https://${t}`);try{let e=new URL(t),n=e.hostname;if(oz(n))return`${e.protocol===`http:`?`http:`:`https:`}//${e.host}${e.pathname}${e.search}${e.hash}`;if(!az(n))throw Error(`Invalid domain`);return`${e.protocol===`http:`?`http:`:`https:`}//${e.host}${e.pathname}${e.search}${e.hash}`}catch{let t=e.match(/^(https?:\/\/)?([^/\s]+)(\/.*)?$/i);if(t){let[,e,n,r=``]=t,i=n?.split(`:`)[0]||``;if(az(i)||oz(i))return`${e?.toLowerCase()===`http://`?`http:`:`https:`}//${n}${r}`}return``}}function lz(e){try{return sz(e)}catch{console.warn(`Invalid URL: ${e}`);return}}function uz(e,t){if(t)switch(e){case`website_url`:return lz(t);default:return}}function dz(e){let t;if(fz(e))return dz(e.value);let n=typeof e;return t=n===`string`||n===`number`||n===`boolean`?n:e===null?`unknown`:`json`,t}function fz(e,t=0){if(typeof e==`object`&&e&&`value`in e&&`status`in e&&ba.safeParse(e.status).success){if(t>1||typeof e.value==`object`&&fz(e.value,t++))throw new _S([hS.RecursiveExpandedValue()]);return!0}return!1}function pz(e){let t=fz(e),n;return n=t?e.value:e,t?{isExpanded:!0,resolvedInputValue:n,expandedValue:e}:{isExpanded:!1,resolvedInputValue:n,expandedValue:null}}function mz(e){return fz(e)?mz(e.value):e}function hz(e,t,n){if([`processing`,`completed`].includes(n.status)===!1||t==null)return{};try{let r=sa(e,n.format)?.getStaticWidgets?.(t),i=uz(n.format,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}function gz(e,t,n){if(t==null)return{};try{let r=sa(e,n)?.getStaticWidgets?.(t),i=uz(n,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}function _z(e,t){for(let[n,r]of Object.entries(t)){let i=n;i===`type`&&e.type===`unknown`&&t.type!==`unknown`&&(e.type=t.type),i!==`type`&&i!==`json_metadata`&&(e[i]===void 0||e[i]===null||e[i]===``)&&t[i]&&(e[i]=r),i===`json_metadata`&&e.type===`json`&&!e.json_metadata&&t.json_metadata&&(e.json_metadata=t.json_metadata)}return e}var vz=class e{annotations;constructor(e){this.annotations=e||{}}getAnnotation(e){return this.annotations[e]}static fromInput(t,{probeCount:n=1e5,inferCatalogFields:i=!0,addIdColumn:a=!0}={probeCount:1e5,inferCatalogFields:!0,addIdColumn:!0}){let o={},s=0;for(let e of t){if(s++,s>n)break;for(let[t,n]of Object.entries(e)){if(t===``||t==null)continue;let{resolvedInputValue:e,expandedValue:a,isExpanded:s}=pz(n),c;c=s&&a.type?a.type:dz(e);let l;ca(t)&&(l=h(t));let u=l&&(l.type===c||c===`unknown`);(!o[t]||o[t].type===`unknown`&&c!==`unknown`)&&(o[t]={type:c===`unknown`&&u&&i&&l?.type?l.type:c,format:u&&i&&l?.format||null,label:l&&i?l.label:null,json_metadata:u&&i&&l?.jsonMeta?{schema:l.jsonMeta.zodSchema?r.toJSONSchema(l.jsonMeta.zodSchema):null,example_value:l.jsonMeta.exampleValue||null}:null})}}return a&&!o.id&&(o.id={format:null,type:`string`,json_metadata:null,label:null}),new e(o)}merge(t,n=!1){let r=structuredClone(this.annotations),i=t instanceof e?t.annotations:t;for(let[e,t]of Object.entries(i))if(r[e]===void 0||n)r[e]=t;else{let n=r[e];r[e]=_z(n,t)}return new e(r)}deleteKey(t){let n=structuredClone(this.annotations);return delete n[t],new e(n)}};function yz(e){let t={};for(let n=0;n<e.length;n++){let r=e[n];Object.values(r.getOutputFields()).forEach(e=>{if(t[e.resolvedName])throw new _S([hS.AmbiguousDependency({fieldName:e.resolvedName})]);t[e.resolvedName]=n})}return t}function bz(e){let t=yz(e),n=[];for(let[r,i]of e.entries()){let e=[];for(let{field:n,required:a}of $l(i.getInputRequirement())){let o=t[n.resolvedName];if(r===o)throw new _S([{code:`SelfReference`,message:`Pipe '${i.pipeId} has an input requirement that points to a field that is produced by itself.'`}]);if(o==null)continue;let s=e.find(e=>e.index===o);s?(s.reason??=[],s.reason=Array.from(new Set([...s.reason,`input`])),s.required=a||s.required):e.push({index:o,required:a,reason:[`input`]})}if(i.payload.run_if){let n=i.payload.run_if.when.conditions.map(e=>e.field_name);for(let r of n){let n=t[r];if(n==null)continue;let i=e.find(e=>e.index===n);i?(i.reason??=[],i.reason=Array.from(new Set([...i.reason,`input`])),i.required=!0):e.push({index:n,required:!0,reason:[`input`]})}}n.push(e)}return n}function xz({config:e,pipes:t,input:n,field_annotations:r}){try{let i=Tz({config:e,pipes:t,input:n,fieldAnnotations:r});return Sz(i),i}catch(e){throw e instanceof _S?e:new _S([hS.ValidationFailed({error:e})])}}function Sz(e){for(let t of e.orderedPipeInstances)for(let{field:n}of $l(t.getInputRequirement()))au({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},n.type),ou({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},n.format)}function Cz(e,t){if(!e&&!t)throw new _S([hS.MustDefineAnnotations()]);return new vz(t||{}).merge(vz.fromInput(e||[]))}function wz(e,t){let n={...t};return e.pipes.forEach((t,r)=>{for(let[i,a]of Object.entries(t.getOutputFields())){if(Kl(a.resolvedName))throw new _S([hS.ReservedOutputFieldName({pipeId:t.pipeId,outputField:a})]);let i=n[a.resolvedName];if(i&&i.added_by.ref!==`input`)throw new _S([hS.DuplicatePipeOutput({pipeId:t.pipeId,outputField:a})]);n[a.resolvedName]={type:au(e,a.type),added_by:{ref:t.pipeId,config_hash:t.getConfigHashKey(),pipe_index:r},label:i?.label||a.label,format:ou(e,a.format),is_primary_output:a.isPrimaryOutput,order:a.order??null}}}),n}function Tz(e){let t=nz(e.pipes),n=Cz(e.input,e.fieldAnnotations),r={},i=new Set;t.forEach((e,t)=>{Object.entries(e.getOutputFields()).forEach(([e,t])=>{r[t.resolvedName]=e,i.add(t.resolvedName)}),Oz(e,t)});let a={},o={};for(let[e,t]of Object.entries(n.annotations))o[e]={type:t.type,added_by:{ref:`input`,config_hash:null,pipe_index:null},label:t.label||``,format:t.format?t.format:null,is_primary_output:!1,order:la(e)},!i.has(e)&&(a[e]={addedBy:`input`,required:!1,type:t.type,label:t.label||e});let[s,c,l]=Ez(t,n),u=wz({pipes:c,derivedInputFields:a},o);for(let e in u){let t=u[e];r[e]&&(n=n.merge({[e]:{type:t.type,format:t.format,json_metadata:null,label:n.annotations[e]?.label?n.annotations[e]?.label:null}},!0))}return{environment:e.config.environment,dependencyGraph:l,derivedInputFields:a,fieldAnnotations:n,orderedPipePayloads:s,orderedPipeInstances:c,resolvedFieldNames:r,fieldDefinitions:u}}function Ez(e,t){let n=bz(e),r=Dz(n,e,t),i=[],a=[];return r.forEach(t=>{let n=e[t];if(!n)throw new _S([hS.FaultyEnrichmentOrder()]);i.push(n.payload),a.push(n)}),[i,a,n]}function Dz(e,t,n){let r=t.length,i=[],a=new Set,o=new Set,s=[],c=e=>{let n=t[e];return n?$l(n.getInputRequirement()).length>0:!1},l=(n,r=[])=>{if(o.has(n)){let e=n,i=r[r.length-1]||0,a={idx:i,pipe_id:t[i]?.pipeId},o={idx:e,pipeId:t[e]?.pipeId};throw new _S([hS.CircularDependency({currentPipe:a,circularPipe:o})])}if(a.has(n))return;o.add(n),r.push(n);let s=e[n]||[];for(let e of s)l(e.index,r);r.pop(),o.delete(n),a.add(n),i.push(n)};function u(t){if(a.has(t))return;o.add(t);let n=e[t]||[];for(let e of n){if(!a.has(e.index)&&e.required)throw new _S([hS.UnresolvableDependency({index:t,dependencyIndex:e.index})]);!o.has(e.index)&&!e.required&&u(e.index)}o.delete(t),a.add(t),i.push(t)}for(let e=0;e<r;e++)c(e)&&l(e);for(let e=0;e<r;e++)c(e)||l(e);for(let e=0;e<r;e++)u(e);let d=new Set(Object.keys(n.annotations));for(let e of i){let n=t[e];if(!n)throw Error(`Pipe not defined`);Object.values(n.getOutputFields()).forEach(e=>{d.add(e.resolvedName)})}for(let[n,r]of t.entries()){let a=r.getInputRequirement();Ql(a,d)||s.push(hS.RequirementUnmet({requirement:a,pipeId:r.pipeId,index:n}));let o=e[n]||[],c=i.indexOf(n);for(let e of o){let r=i.indexOf(e.index);e.required&&r>c&&s.push(e.reason.includes(`input`)?hS.HardInputDependencyViolation({dependencyIndex:e.index,dependencyIndexPipeId:t[e.index]?.pipeId,index:n,indexPipeId:t[n]?.pipeId}):hS.HardConditionDependencyViolation({dependencyIndex:e.index,dependencyIndexPipeId:t[e.index]?.pipeId,index:n,indexPipeId:t[n]?.pipeId}))}r.payload.run_if&&r.payload.run_if.when.conditions.map(e=>e.field_name).forEach(e=>{if(!d.has(e))throw new _S([hS.ConditionTargetFieldNotFound({fieldName:e,pipeId:r.pipeId,pipeIdx:n})])})}if(s.length>0)throw new _S(s);return i}function Oz(e,t){let n=new Set(e.getConnectionsRequirements().filter(e=>e.allowManagedConnection===!1).map(e=>e.provider));if(n.size>0){let r=e.payload.connector;if(!r||(r.connections.map(e=>{if(e.type===`vault`)return es(e.connection).provider;e.type}).forEach(e=>{e&&n.delete(e)}),n.size>0))throw new _S([hS.MissingCustomConnections({index:t,pipeId:e.pipeId,missingProviders:Array.from(n)})])}}const kz=`fields:deletesparse:input@1`,Az={},jz=r.object({effect_id:r.literal(kz),connector:w(),config:r.object({fields:Fc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Candidate fields`,minItems:1,description:`Input fields to delete if they turn out sparsely populated.`}),probe_size:Cl({path:`config.probe_size`,sectionKey:`general`,groupPath:`config.general`,label:`Probe size`,description:`How many rows to sample when measuring column density.`,min:100,max:1e4}).default(1e3),threshold_in_percent:Cl({path:`config.threshold_in_percent`,sectionKey:`general`,groupPath:`config.general`,label:`Density threshold (%)`,description:`Candidates populated in strictly fewer than this percent of probed rows are deleted.`,min:1,max:100}).default(25)})}),Mz=class extends R{effectId=kz;schema=jz;payload;billableOperations=Az;constructor(e){if(super(),this.payload=this.validatePayload(e),this.payload.config.fields.some(e=>e.field_name===`id`))throw Error(`Cannot list the id field as a deletion candidate.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}evolveSchema(e){let t=structuredClone(e.fieldAnnotations||{});for(let{field_name:e}of this.payload.config.fields)delete t[e];if(Object.keys(t).filter(e=>e!==`id`).length===0&&e.pipes.length===0)throw Error(`fields:deletesparse:input@1 lists every input column as a candidate — it refuses to empty the sheet. Keep at least one column off the candidate list, or use fields:remove@1 / sheet:reset@1 to clear the sheet explicitly.`);let n=xz({config:{environment:e.environment},pipes:e.pipes,field_annotations:t});return{next:{environment:e.environment,pipes:e.pipes,fieldAnnotations:t,validationContext:n}}}},Nz=jz,Pz={effectId:kz,baseEffect:L(kz),label:`Delete sparse input columns`,description:`Probe rows to measure how densely candidate input columns are populated and delete the ones below a density threshold.`,guide:`Conditional column cleanup: list every input column you'd consider dropping as config.fields (typically the sparse leftovers rows:copy_to_sheet@1 imports leave behind) — the density check keeps any candidate that turns out well-populated. Probes the first config.probe_size rows (default 1000) and deletes a candidate only when it is populated in strictly fewer than config.threshold_in_percent (default 25) of them. Only listed fields can be deleted; id and pipe-referenced fields cannot be listed (validation error). Static validation treats ALL candidates as removed (aggressive over-approximation), so do not reference a candidate in later steps of the same run — re-read get_sheet_schema afterwards to see which columns survived. Deletes columns, never rows. DESTRUCTIVE (approval-gated), reversible via timetravel. To delete named columns unconditionally use fields:remove@1 instead.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`empty`,`cleanup`,`prune`,`remove fields`,`unused`,`blank`],lifecycle:null,billableOperations:Az,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:kz,connector:null,config:{fields:[],probe_size:1e3,threshold_in_percent:25}}},Fz=`fields:duplicate@1`,Iz={},Lz=r.object({effect_id:r.literal(Fz),connector:w(),config:r.object({fields:Fc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields to duplicate`,minItems:1,description:`Each selected field is copied to a new editable input column.`})})});function Rz(e,t){let n=`${e}_copy`;if(!t.has(n))return{name:n,index:null};let r=2;for(;t.has(`${n}_${r}`);)r++;return{name:`${n}_${r}`,index:r}}function zz(e){if(e==null)return null;let{isExpanded:t,expandedValue:n,resolvedInputValue:r}=pz(e);return t&&n.status!==`completed`||r==null?null:typeof r==`object`?structuredClone(r):r}const Bz=class extends R{effectId=Fz;schema=Lz;payload;billableOperations=Iz;constructor(e){super(),this.payload=this.validatePayload(e);let t=this.payload.config.fields.map(e=>e.field_name);if(t.includes(`id`))throw Error(`Cannot duplicate the id field.`);if(new Set(t).size!==t.length)throw Error(`Cannot duplicate the same field twice in one effect.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[...new Set(this.payload.config.fields.map(e=>e.field_name))]}evolveSchema(e){let t=e.validationContext.fieldDefinitions,n=new Set(Object.keys(t)),r=structuredClone(e.fieldAnnotations||{}),i=[];for(let{field_name:a}of this.payload.config.fields){let o=t[a];if(!o)throw Error(`Field name ${a} not found in current schema.`);let{name:s,index:c}=Rz(a,n);n.add(s),i.push({source:a,target:s});let l=e.fieldAnnotations?.[a];r[s]={type:o.type,format:o.format??null,label:c===null?`${o.label} copy`:`${o.label} copy ${c}`,...l?.json_metadata?{json_metadata:structuredClone(l.json_metadata)}:{}}}let a=xz({config:{environment:e.environment},pipes:e.pipes,field_annotations:r});return{next:{environment:e.environment,pipes:a.orderedPipePayloads,fieldAnnotations:a.fieldAnnotations.annotations,validationContext:a},rowMigration:(e,t)=>{for(let{source:n,target:r}of i)e.input[r]=zz(t.input[n]);return e}}}},Vz=Lz,Hz={effectId:Fz,baseEffect:L(Fz),label:`Duplicate fields`,description:`Copy fields into new editable input columns (enrichment values become plain values).`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`copy`,`clone`,`freeze`,`snapshot`,`column`],lifecycle:null,billableOperations:Iz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,guide:`Copy fields into new editable input columns — works for user-entered AND pipe-output fields, so it freezes an enrichment result into a plain value you can edit or re-enrich over. Copies land as "<field>_copy" (then "<field>_copy_2", …) with the source's type/format; only the RESOLVED VALUE is copied — cells whose status is not "completed" copy as null, and status/provenance never carry over. Put every field to duplicate in ONE effect. Later effects in the same chain may reference the "_copy" names.`,defaultPayload:{effect_id:Fz,connector:null,config:{fields:[]}}};function Uz(e,t,n){if(e==null||typeof e==`number`||typeof e==`boolean`)return e;if(typeof e==`string`){let r=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i=new RegExp(r,`g`);return e.replace(i,n)}if(Array.isArray(e))return e.map(e=>Uz(e,t,n));if(typeof e==`object`){let r={};for(let i in e)Object.hasOwn(e,i)&&(i.includes(`path`)||[`connector`,`provider`,`pipe_id`,`search_id`].includes(i)?r[i]=e[i]:r[i]=Uz(e[i],t,n));return r}return e}function Wz(e,t,n){let r={...e};r.config??={};let i=r.config;if(i?.input_fields?.[t]&&(!i.input_fields[t].alias||i.input_fields[t].alias===t)){let e=i.input_fields[t]||{};i.input_fields[t]={...e,alias:n}}return r}function Gz(e,t,n){let r=[];for(let i of e.orderedPipePayloads){let e=Uz(i,t,n);r.push(Wz(e,t,n))}return r}function Kz(e,t,n,r,i){if(!e.orderedPipeInstances[t])throw Error(`Pipe instance at index ${t} is not defined`);let a={...n};if(UR(n.pipe_id).outputFieldMode===`static`){let n=e.resolvedFieldNames[r]?e.resolvedFieldNames[r]:Object.entries(e.resolvedFieldNames).find(([,e])=>e===r)?.[0];if(!n)throw Error(`Unable to find field name ${r} in pipe at idx ${t}`);a.config??={};let o=a.config,s=o.output_fields?.[n]||{};return o.output_fields??={},o.output_fields[n]??={},o.output_fields[n]={...s,alias:i},Wz(a,r,i)}return Uz(a,r,i)}function qz(e,t,n,r){let i=[];for(let a=0;a<e.orderedPipePayloads.length;a++){let o=e.orderedPipePayloads[a],s=t.added_by.pipe_index;if(typeof s!=`number`)throw Error(`Pipe index must be number.`);a===s?i.push(Kz(e,a,o,n,r)):i.push(Uz(o,n,r))}return i}function Jz(e,t,n){let r=e.fieldDefinitions[t];if(!r)throw Error(`No field definition found for field with name ${t}`);return r?.added_by.ref===`input`?Gz(e,t,n):qz(e,r,t,n)}const Yz=`fields:patch@1`,Xz={},Zz=r.object({effect_id:r.literal(Yz),connector:w(),config:r.object({field_name:r.string().min(1),new_name:r.string().min(1).optional(),new_format:Ra.nullable().optional(),new_type:va.optional(),new_label:r.string().optional()})}),Qz=class extends R{effectId=Yz;schema=Zz;payload;billableOperations=Xz;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[this.payload.config.field_name]}evolveSchema(e){let{field_name:t,new_name:n,new_label:r,new_format:i,new_type:a}=this.payload.config;if(!e.fieldAnnotations?.[t])throw Error(`Field name ${t} not found in current schema.`);let o=e.validationContext,s=o.fieldDefinitions[t];if(!s)throw Error(`Field definition for field ${t} not found.`);let c={...e.fieldAnnotations},l=!!n&&n!==t,u=[...o.orderedPipePayloads];if(l){u=Jz(o,t,n);let e=c[t];if(!e)throw Error(`Unable to find file annotations for field ${t}.`);c[n]=e,delete c[t]}let d=s.added_by.ref===`input`,ee=n||t,te=a||s.type,ne=i||s.format;if(a&&a!==s.type){if(!d)throw Error(`Cannot change the type of a pipe output field.`);c[ee].type=a,Fd[a].length===0&&(c[ee].format=null)}if(i&&i!==s.format){if(!d)throw Error(`Cannot change the format of a pipe output field.`);c[ee].format=i}if(Fd[te].length&&ne&&!Fd[te].includes(ne))throw Error(`After applying your updates the field has the type ${te} but format ${ne}. Type and format are not compatible.`);r&&r!==s.label&&(c[ee].label=r);let re=xz({config:{environment:e.environment},pipes:u,field_annotations:c}),f=l?(e,r)=>(e.input[n]=r.input[t]||null,e):void 0;return{next:{environment:e.environment,pipes:re.orderedPipePayloads,fieldAnnotations:re.fieldAnnotations.annotations,validationContext:re},rowMigration:f}}},$z=Zz,eB={effectId:Yz,baseEffect:L(Yz),label:`Edit field`,description:`Rename, retype, reformat, or relabel a field.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:Xz,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:Yz,connector:null,config:{field_name:``}}},tB=`fields:remove@1`,nB={},rB=r.object({effect_id:r.literal(tB),connector:w(),config:r.object({field_names:r.array(r.string().min(1)).min(1)})}),iB=class extends R{effectId=tB;schema=rB;payload;billableOperations=nB;constructor(e){if(super(),this.payload=this.validatePayload(e),this.payload.config.field_names.includes(`id`))throw Error(`Cannot remove the id field.`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.field_names}evolveSchema(e){let t=structuredClone(e.fieldAnnotations||{});for(let e of this.payload.config.field_names)delete t[e];if(Object.keys(t).length===1){let t=xz({config:{environment:e.environment},pipes:[],field_annotations:{}});return{next:{environment:e.environment,pipes:[],fieldAnnotations:{},validationContext:t}}}let n=xz({config:{environment:e.environment},pipes:e.pipes,field_annotations:t});return{next:{environment:e.environment,pipes:e.pipes,fieldAnnotations:t,validationContext:n}}}},aB=rB,oB={effectId:tB,baseEffect:L(tB),label:`Remove fields`,description:`Remove fields (input columns) from the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:nB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:tB,connector:null,config:{field_names:[]}}},sB=`pipe:add@1`,cB={},lB=r.object({effect_id:r.literal(sB),connector:w(),config:r.object({pipe_payload:VR.optional()})}),uB=class extends R{effectId=sB;schema=lB;payload;billableOperations=cB;constructor(e){if(super(),this.payload=this.validatePayload(e),!this.payload.config.pipe_payload)throw Error(`pipe:add@1 requires config.pipe_payload`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let t=this.payload.config.pipe_payload;if(!t)throw Error(`pipe:add@1 requires config.pipe_payload`);let n=xz({config:{environment:e.environment},pipes:[...e.pipes,t],field_annotations:e.fieldAnnotations||{}});return{next:{environment:e.environment,pipes:n.orderedPipePayloads,fieldAnnotations:n.fieldAnnotations.annotations,validationContext:n}}}},dB=lB,fB={effectId:sB,baseEffect:L(sB),label:`Add pipe`,description:`Append a pipe to the sheet's pipeline.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:cB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:sB,connector:null,config:{}}},pB=`pipe:remove@1`,mB={},hB=r.object({effect_id:r.literal(pB),connector:w(),config:r.object({config_hash:r.string(),hard:r.boolean().default(!1)})}),gB=class extends R{effectId=pB;schema=hB;payload;billableOperations=mB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let{config_hash:t,hard:n}=this.payload.config,i=nz(e.pipes).findIndex(e=>e.getConfigHashKey()===t);if(i===-1)throw Error(`Pipe with config hash ${t} not found.`);let a=e.validationContext,o=new Set(Object.entries(a.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===t).map(([e])=>e)),s=new vz(e.fieldAnnotations||{});for(let e of o){let t=a.fieldDefinitions[e];if(!t)continue;if(n){s=s.deleteKey(e);continue}let i=da(e,t,a),o=ca(i.fieldName)?h(i.fieldName):null;s=s.merge({[e]:{format:t.format,type:t.type,json_metadata:o?.jsonMeta?{schema:o.jsonMeta.zodSchema?r.toJSONSchema(o.jsonMeta.zodSchema):null,example_value:o.jsonMeta.exampleValue||null}:null,label:t.label}})}let c=e.pipes.slice();c.splice(i,1);let l=xz({config:{environment:e.environment},pipes:c,field_annotations:s.annotations}),u=n?void 0:e=>{let t={...e};for(let e of o){let n=t.input[e];if(!n)continue;let{resolvedInputValue:r}=pz(n);t.input[e]=r}return t};return{next:{environment:e.environment,pipes:c,fieldAnnotations:s.annotations,validationContext:l},rowMigration:u}}},_B=hB,vB={effectId:pB,baseEffect:L(pB),label:`Remove pipe`,description:`Remove a pipe from the sheet's pipeline, optionally deleting its fields.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:mB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:pB,connector:null,config:{config_hash:``,hard:!1}}},yB=`pipe:update@1`,bB={},xB=r.object({effect_id:r.literal(yB),connector:w(),config:r.object({config_hash:r.string().min(1),pipe_payload:VR.optional()})}),SB=class extends R{effectId=yB;schema=xB;payload;billableOperations=bB;constructor(e){if(super(),this.payload=this.validatePayload(e),!this.payload.config.pipe_payload)throw Error(`pipe:update@1 requires config.pipe_payload`)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let{config_hash:t,pipe_payload:n}=this.payload.config;if(!n)throw Error(`pipe:update@1 requires config.pipe_payload`);let i=nz(e.pipes).findIndex(e=>e.getConfigHashKey()===t);if(i===-1)throw Error(`Pipe with config hash ${t} not found.`);let a=e.validationContext,o=new Set(Object.entries(a.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===t).map(([e])=>e)),s=[...e.pipes];s.splice(i,1,n);let c=xz({config:{environment:e.environment},pipes:s,field_annotations:e.fieldAnnotations||{}}),l=new(RR(n.pipe_id))(n),u=new Set(Object.entries(c.fieldDefinitions).filter(([,e])=>e.added_by.config_hash===l.getConfigHashKey()).map(([e])=>e));for(let e of u)o.delete(e);let d=new vz(c.fieldAnnotations.annotations);for(let e of o){let t=a.fieldDefinitions[e];if(!t)throw Error(`Previous field def not found`);if(c.resolvedFieldNames[e])continue;let n=da(e,t,a),i=ca(n.fieldName)?h(n.fieldName):null;d=d.merge({[e]:{format:t.format,type:t.type,json_metadata:i?.jsonMeta?{schema:i.jsonMeta.zodSchema?r.toJSONSchema(i.jsonMeta.zodSchema):null,example_value:i.jsonMeta.exampleValue||null}:null,label:t.label}})}let ee=xz({config:{environment:e.environment},pipes:c.orderedPipePayloads,field_annotations:d.annotations});return{next:{environment:e.environment,pipes:c.orderedPipePayloads,fieldAnnotations:d.annotations,validationContext:ee},rowMigration:e=>{let t={...e};for(let e of o){let n=t.input[e];if(!n)continue;let{resolvedInputValue:r}=pz(n);t.input[e]=r}return t}}}},CB=xB,wB={effectId:yB,baseEffect:L(yB),label:`Update pipe`,description:`Replace a pipe in the sheet's pipeline and re-run it.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:bB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:yB,connector:null,config:{config_hash:``}}},TB=`row:update@1`,EB={},DB=r.object({effect_id:r.literal(TB),connector:w(),config:r.object({record_id:r.string().min(1),record:qa})}),OB=class extends R{effectId=TB;schema=DB;payload;billableOperations=EB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},kB=DB,AB={effectId:TB,baseEffect:L(TB),label:`Update row`,description:`Update a single row's values.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:EB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`selection`,catalogVisibility:`hidden`,defaultPayload:{effect_id:TB,connector:null,config:{record_id:``,record:{}}}},jB=`rows:add@1`,MB={},NB=r.object({effect_id:r.literal(jB),connector:w(),config:r.object({records:r.array(qa).min(1).max(100),allow_field_creation:r.boolean().default(!1),allow_empty:r.boolean().default(!1)})}),PB=class extends R{effectId=jB;schema=NB;payload;billableOperations=MB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return this.payload.config.allow_field_creation===!0}},FB=NB,IB={effectId:jB,baseEffect:L(jB),label:`Add rows`,description:`Append records to the sheet.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:MB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:jB,connector:null,config:{records:[],allow_field_creation:!1,allow_empty:!1}}},LB=r.enum([`pending`,`failed`,`no_result`,`skipped`,`completed`]),RB=[{value:`pending`,label:`Pending`},{value:`failed`,label:`Failed`},{value:`no_result`,label:`No result`},{value:`skipped`,label:`Skipped`},{value:`completed`,label:`Completed`}],zB=[`pending`],BB=[`pending`,`failed`,`skipped`];function VB(e){return{enabled:!0,triggers:{status:e,configHashMismatch:!0,inputHashMismatch:!0}}}const HB=`rows:adopt@1`,UB={},WB=r.object({effect_id:r.literal(HB),connector:w(),config:r.object({pipes:r.array(VR).default([]),selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target.`,placeholder:`{"type":"all"}`},`both`),adopt_statuses:Sl({options:RB,required:!1,disableSearch:!0,path:`config.adopt_statuses`,sectionKey:`general`,groupPath:`config.general`,label:`Adopt statuses`,description:`Only cells with these statuses are adopted (pinned). Omit to adopt all.`}).optional()})}),GB=class extends R{effectId=HB;schema=WB;payload;billableOperations=UB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},KB=WB,qB={effectId:HB,baseEffect:L(HB),label:`Adopt values`,description:`Pin the selected columns' current values so a config or input change won't regenerate them.`,guide:'Adopt re-stamps each selected cell\'s stored config/input hash to the CURRENT one, so the value is kept as-is instead of being re-run. It never recomputes — use `rows:enrich@1` to (re)compute. Adopting all statuses composes with a follow-up `rows:enrich@1` (`run_statuses: ["failed"]`) to rerun only the failures while completed cells stay pinned — the safe pattern before running a non-idempotent effect twice.',categories:[`internal`],tags:[],lifecycle:null,billableOperations:UB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`selection`,catalogVisibility:`hidden`,defaultPayload:{effect_id:HB,connector:null,config:{pipes:[]}}},JB=`rows:copy_to_sheet@1`,YB={},XB=r.object({effect_id:r.literal(JB),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to copy as JSON.`,placeholder:`{"type":"all"}`},`both`),where:hc({path:`config.where`,sectionKey:`general`,groupPath:`config.general`,order:1,label:`Condition (optional)`,description:`Only copy selected rows matching this condition. Leave empty to copy all.`}),target_sheet:yl({path:`config.target_sheet`,sectionKey:`general`,groupPath:`config.general`,order:2,inputType:`text`,label:`Target sheet`,description:`Slug of the destination sheet. Created if missing (see below). Slugs are org-unique — for a NEW sheet use a short descriptive slug plus a few random chars (e.g. "ceos-x7k2") so it can't hit an unrelated existing sheet.`}),create_if_missing:Tl({path:`config.create_if_missing`,sectionKey:`general`,groupPath:`config.general`,order:3,label:`Create if missing`,description:`When the target sheet does not exist, create it in this sheet's project. Off ⇒ fail.`,defaultValue:!0})})}),ZB=class extends R{effectId=JB;schema=XB;payload;billableOperations=YB;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){let e=this.payload.config.where;return e?[...new Set(e.conditions.map(e=>e.field_name))]:[]}},QB=XB,$B={effectId:JB,baseEffect:L(JB),label:`Copy rows to sheet`,description:`Copy selected rows (or every row) into another sheet — all of them, or only those matching a condition. Creates the target sheet in this project if it doesn't exist.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`move`,`transfer`,`split`,`push`,`another sheet`],lifecycle:null,billableOperations:YB,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`visible`,defaultPayload:{effect_id:JB,connector:null,config:{selection:{type:`all`},target_sheet:``,create_if_missing:!0}}},eV=`rows:dedupe@1`,tV={"rows-dedupe-v1-pipe0":{allowManagedConnection:!0,provider:`pipe0`,mode:`always`,credits:{default:0},note:`Deduplicating your own sheet is free.`}},nV=r.object({effect_id:r.literal(eV),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`),fields:Fc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Match fields`,minItems:1,description:`Rows are duplicates when these fields match.`}),match:xl({path:`config.match`,sectionKey:`general`,groupPath:`config.general`,label:`Match condition`,required:!0,defaultValue:`all`,options:[{value:`all`,label:`All fields match (AND)`},{value:`any`,label:`Any field matches (OR)`}]}),strategy:xl({path:`config.strategy`,sectionKey:`general`,groupPath:`config.general`,label:`Which duplicate to keep`,required:!0,defaultValue:`keep_oldest`,options:[{value:`keep_oldest`,label:`Keep oldest`},{value:`keep_newest`,label:`Keep newest`}]})})}),rV=class extends R{effectId=eV;schema=nV;payload;billableOperations=tV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-dedupe-v1-pipe0`)}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}},iV=nV,aV={effectId:eV,baseEffect:L(eV),label:`Remove duplicate rows`,description:`Find duplicate rows by matching fields and keep one row per group.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`dedupe`,`deduplicate`,`merge`,`clean`,`unique`],lifecycle:null,billableOperations:tV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,shouldUpgradeSchema:!0,catalogVisibility:`visible`,guide:`Dedupe in ONE run: list every identity field in config.fields and pick config.match — "all" (rows are duplicates only when every field matches) or "any" (a match on ANY listed field makes rows duplicates). To dedupe on several alternative keys (e.g. same email OR same profile_url), use match "any" with all keys in one effect — never run one dedupe per field; if you must combine dedupe with other cleanup, put the effects in one validated chain so the user approves once. Destructive and approval-gated; reversible via timetravel.`,defaultPayload:{effect_id:eV,connector:null,config:{fields:[],match:`all`,strategy:`keep_oldest`}}},oV=`rows:duplicate@1`,sV={"rows-duplicate-v1-pipe0":{allowManagedConnection:!0,provider:`pipe0`,mode:`always`,credits:{default:0},note:`Duplicating rows in your own sheet is free.`}},cV=r.object({effect_id:r.literal(oV),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`)})}),lV=class extends R{effectId=oV;schema=cV;payload;billableOperations=sV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[{provider:`pipe0`,rateLimitOperation:`pipe0_api_operation`,rateLimitRatio:1,allowManagedConnection:!0}]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(e){return q(e,`rows-duplicate-v1-pipe0`)}getFieldReferences(){return[]}},uV=cV,dV={effectId:oV,baseEffect:L(oV),label:`Duplicate rows`,description:`Copy the selected rows (or every row). Copies get fresh ids and are appended after the existing rows.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`copy`,`clone`,`replicate`],lifecycle:null,billableOperations:sV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`visible`,defaultPayload:{effect_id:oV,connector:null,config:{}}},fV=`rows:enrich@1`,pV={},mV=r.object({effect_id:r.literal(fV),connector:w(),config:r.object({pipes:r.array(VR).default([]),selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target.`,placeholder:`{"type":"all"}`},`both`),run_statuses:Sl({options:RB,required:!1,disableSearch:!0,path:`config.run_statuses`,sectionKey:`general`,groupPath:`config.general`,label:`Run statuses`,description:`Rows with the following statuses will be run.`}).optional()})}),hV=class extends R{effectId=fV;schema=mV;payload;billableOperations=pV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getRecordQueueConfig(e){return VB(this.payload.config.run_statuses??(e?.isScheduled?zB:BB))}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},gV=mV,_V={effectId:fV,baseEffect:L(fV),label:`Enrich rows`,description:`Run the sheet's pipes over the selected rows.`,categories:[`enrichment`],tags:[],keywords:[`run`,`execute`,`process`,`refresh`,`rerun`,`pipes`],lifecycle:null,billableOperations:pV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],catalogVisibility:`visible`,selectionMode:`both`,lockingMode:`shared`,lockScope:`selection`,defaultPayload:{effect_id:fV,connector:null,config:{pipes:[]}}},vV=`rows:filter:prompt@1`,yV=`rows-filter-prompt-v1`,bV=ks(yV),xV=r.object({effect_id:r.literal(vV),connector:Ac(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to target as JSON.`,placeholder:`{"type":"all"}`},`both`),prompt:bl({path:`config.prompt`,sectionKey:`general`,groupPath:`config.general`,label:`Filter instruction`,rows:4,placeholder:`Only keep rows where the person is a "Head of Growth" at a company doing less than $1M in revenue.`}),model:Dl({sectionKey:`general`,label:`Model`,path:`config.model`,groupPath:`config.general`,billableOperations:bV}),fields:Fc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields to consider`,info:`If specified, only these fields are shown to the model. This is useful to drop large JSON columns and save tokens.`})})}),SV=class extends R{effectId=vV;schema=xV;payload;billableOperations=bV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return Cs(this.payload.config.model)}getProviderNames(){return Ss(this.payload.config.model)}estimateBillableOperations(e){return js(e,{model:this.payload.config.model,prefix:yV,inputTokens:600,outputTokens:50})}getFieldReferences(){return(this.payload.config.fields??[]).map(e=>e.field_name)}},CV=xV,wV={effectId:vV,baseEffect:L(vV),label:`AI filter rows`,description:`Keep or remove rows by a natural-language instruction, judged per row by an AI model.`,categories:[`data_hygiene`],tags:[U.NEW,U.AI],keywords:[`classify`,`qualify`,`score`,`prompt`,`clean`],lifecycle:null,billableOperations:bV,allowedUserConnectionProviders:ws(),managedProviders:ws(),selectionMode:`both`,lockingMode:`exclusive`,shouldUpgradeSchema:!0,catalogVisibility:`visible`,defaultPayload:{effect_id:vV,connector:null,config:{model:`google-low`,prompt:``,fields:[]}}},TV=`rows:import@1`,EV={},DV=r.object({effect_id:r.literal(TV),connector:w(),config:r.object({staging_group_id:r.string().min(1),allow_field_creation:r.boolean().default(!1),event_id:r.string().nullable().default(null)})}),OV=class extends R{effectId=TV;schema=DV;payload;billableOperations=EV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return this.payload.config.allow_field_creation===!0}},kV=DV,AV={effectId:TV,baseEffect:L(TV),label:`Import rows`,description:`Append records from a staging group (CSV import / search commit).`,categories:[`internal`],tags:[],keywords:[`csv`,`upload`,`excel`,`spreadsheet`,`file`],lifecycle:null,billableOperations:EV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:TV,connector:null,config:{staging_group_id:``,allow_field_creation:!1,event_id:null}}},jV=`rows:remove@1`,MV={},NV=r.object({effect_id:r.literal(jV),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to delete as JSON.sc`,placeholder:`{"type":"all"}`},`both`),where:hc({path:`config.where`,sectionKey:`general`,groupPath:`config.general`,order:1,label:`Condition (optional)`,description:`Only delete selected rows matching this condition. Leave empty to delete all.`})})}),PV=class extends R{effectId=jV;schema=NV;payload;billableOperations=MV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){let e=this.payload.config.where;return e?[...new Set(e.conditions.map(e=>e.field_name))]:[]}},FV=NV,IV={effectId:jV,baseEffect:L(jV),label:`Delete rows`,description:`Delete selected rows — all of them, or only those matching a condition.`,categories:[`data_hygiene`],tags:[],keywords:[`remove`,`drop`,`clear`,`clean`,`purge`],lifecycle:null,billableOperations:MV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,lockScope:`selection`,catalogVisibility:`visible`,guide:`Delete rows matching config.where (omit selection to consider ALL rows; omit where to delete the whole selection). Destructive and approval-gated, so make ONE remove do the whole job: or-combine EVERY drop criterion into a single where (logic "or", one condition per field) instead of running several removes — and put the remove in the same validated chain as any fields:remove / rename cleanup so the user approves once. To drop rows whose enrichment yielded nothing, condition on the field's STATUS (property "status", e.g. neq "completed" — catches skipped, failed, and no_result at once). Bracketed cell renderings from get_sheet_rows like "[no_result]"/"[skipped]" are status placeholders for EMPTY cells, never stored values — a value condition cannot match them. After the run, re-read the sheet ONCE to confirm; if the rows you expected gone are still there, stop and report the discrepancy instead of retrying with variant conditions.`,defaultPayload:{effect_id:jV,connector:null,config:{selection:{type:`rows`,record_ids:[]}}}},LV=`rows:removeempty@1`,RV={},zV=r.object({effect_id:r.literal(LV),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to consider as JSON.`,placeholder:`{"type":"all"}`},`both`),fields:Fc({path:`config.fields`,sectionKey:`general`,groupPath:`config.general`,label:`Fields`,minItems:1,description:`Delete a row when ANY of these fields is empty.`})})}),BV=class extends R{effectId=LV;schema=zV;payload;billableOperations=RV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return this.payload.config.fields.map(e=>e.field_name)}},VV=zV,HV={effectId:LV,baseEffect:L(LV),label:`Delete rows with empty cells`,description:`Delete selected rows where any of the chosen fields is empty.`,categories:[`data_hygiene`],tags:[U.NEW],keywords:[`blank`,`null`,`missing`,`prune`,`incomplete`,`sparse`],lifecycle:null,billableOperations:RV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`exclusive`,lockScope:`selection`,catalogVisibility:`visible`,guide:`Delete rows where ANY field in config.fields is empty (OR semantics) — list EVERY field to check in ONE effect instead of running several. "Empty" means: missing key, null, empty string, empty array, or — for enrichment output — any cell whose status is not "completed" (catches failed, no_result, and skipped at once); 0, false, and whitespace-only strings count as populated. Omit selection to consider ALL rows. For value-based predicates (e.g. drop rows where score < 3) use rows:remove@1 with a where condition instead. Destructive and approval-gated; after the run, re-read the sheet ONCE to confirm.`,defaultPayload:{effect_id:LV,connector:null,config:{selection:{type:`rows`,record_ids:[]},fields:[]}}};function UV(e){if(e instanceof Z)return e;let t=e.search_id,n=hR(t);if(!n)throw Error(`Unknown pipe: ${e.search_id}`);return new n(vR.parse(e))}const WV=`search:run@1`,GV={},KV=r.object({effect_id:r.literal(WV),connector:w(),config:r.object({search_payload:Ol({path:`config.search_payload`,groupPath:`config.general`,sectionKey:`general`,label:`Search`,description:`Pick and configure the search to run.`},vR),max_number_of_results:Cl({path:`config.max_number_of_results`,groupPath:`config.general`,sectionKey:`general`,label:`Max results`,description:`Maximum number of items to find across all pages.`,guide:"This is the FETCH budget — an upper bound on raw results pulled across all pages (it also caps each page's size). De-duplicated results are NOT re-fetched, so this is not the final row count. When you want EXACTLY N unique rows, do NOT set this to N (you'd get fewer the moment any result is a duplicate): set `stop_at_unique_rows_count` to N and set this to the maximum (1000000) so the unique count is the real stop condition. For a plain bulk fetch with no unique target, set this to the number of rows you want.",max:1e6,min:1}).default(1e3),deduplicate:Tl({path:`config.deduplicate`,groupPath:`config.general`,sectionKey:`general`,label:`Unique rows only`,description:`Skip results that already exist in the sheet.`,guide:"Dedup key is the search's own declared key. Discards are NOT topped up with extra pages, so to reliably collect N unique rows pair this with `stop_at_unique_rows_count` and a large `max_number_of_results`.",defaultValue:!0,enabledIf:e=>{let t=e.config?.search_payload;if(!t?.search_id)return{disabled:!0,message:`Configure a search first.`};let n=!1;try{n=UV(t).getDedupConfig().fields.length>0}catch{n=!1}return n?{disabled:!1}:{disabled:!0,message:`This search doesn't support de-duplication.`}}}),stop_at_unique_rows_count:wl({path:`config.stop_at_unique_rows_count`,groupPath:`config.general`,sectionKey:`general`,label:`Stop at X unique rows`,description:`Stop after this many new rows have been added. Leave empty for no early stop. Bounded by Max results.`,guide:"Set this to the exact unique-row count you want (only works with `deduplicate` on). It paginates full pages until this many NEW rows are added, so set `max_number_of_results` to the maximum (1000000) to give it room — `max_number_of_results` then just acts as a safety backstop.",placeholder:`No early stop`,min:1,max:1e5,enabledIf:e=>e.config?.deduplicate===!0?{disabled:!1}:{disabled:!0,message:`Enable “Unique rows only” to use this.`}})})}),qV=class extends R{effectId=WV;schema=KV;payload;billableOperations=GV;constructor(e){super(),this.payload=this.validatePayload(e)}getSearch(){let e=this.payload.config.search_payload;if(!e?.search_id)return null;try{return UV(e)}catch{return null}}getConnectionsRequirements(){return[]}getProviderNames(){let e=this.getSearch();return e?[OR(e.searchId).provider]:[]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){let e=this.getSearch();return e?(OR(e.searchId).outputFieldMode??`static`)===`dynamic`:!1}},JV=KV,YV={effectId:WV,baseEffect:L(WV),label:`Search`,description:`Run a search and append the results to the sheet.`,categories:[`enrichment`],tags:[U.NEW],keywords:[`find`,`import`,`source`,`prospect`,`add rows`,`results`],lifecycle:null,billableOperations:GV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:WV,connector:null,config:{search_payload:{search_id:``},max_number_of_results:1e3,deduplicate:!0,stop_at_unique_rows_count:null}}},XV=`sheet:export@1`,ZV={},QV=r.object({effect_id:r.literal(XV),connector:w(),config:r.object({selection:Ic({path:`config.selection`,sectionKey:`general`,groupPath:`config.general`,label:`Selection`,description:`Rows to export as JSON — {"type":"all"} or {"type":"rows","record_ids":["…"]}.`,placeholder:`{"type":"all"}`},`both`)})}),$V=class extends R{effectId=XV;schema=QV;payload;billableOperations=ZV;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},eH=QV,tH={effectId:XV,baseEffect:L(XV),label:`Export sheet`,description:`Export the selected rows to a CSV download.`,categories:[`internal`],tags:[],keywords:[`csv`,`download`,`excel`,`spreadsheet`,`file`],lifecycle:null,billableOperations:ZV,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`both`,lockingMode:`shared`,lockScope:`self`,catalogVisibility:`hidden`,defaultPayload:{effect_id:XV,connector:null,config:{}}},nH=`sheet:reset@1`,rH={},iH=r.object({effect_id:r.literal(nH),connector:w(),config:r.object({})}),aH=class extends R{effectId=nH;schema=iH;payload;billableOperations=rH;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}evolveSchema(e){let t=xz({config:{environment:e.environment},pipes:[],field_annotations:{}});return{next:{environment:e.environment,pipes:[],fieldAnnotations:{},validationContext:t}}}},oH=iH,sH={effectId:nH,baseEffect:L(nH),label:`Reset sheet`,description:`Reset the sheet to its initial state — remove all pipes, fields, and rows. This cannot be partially applied.`,categories:[`data_hygiene`],tags:[],keywords:[`clear`,`wipe`,`empty`,`start over`,`delete all`],lifecycle:null,billableOperations:rH,shouldUpgradeSchema:!0,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`visible`,defaultPayload:{effect_id:nH,connector:null,config:{}}},cH=`sheet:update@1`,lH={},uH=r.object({effect_id:r.literal(cH),connector:w(),config:r.object({name:r.string().min(4).refine(e=>!e.includes(`/`),`Name cannot contain '/'`).optional(),slug:r.string().regex(/^[A-Za-z0-9]+(?:[-_][A-Za-z0-9]+)*$/).optional()}).refine(e=>e.name!==void 0||e.slug!==void 0,`Provide at least one of name or slug to update.`)}),dH=class extends R{effectId=cH;schema=uH;payload;billableOperations=lH;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},fH=uH,pH={effectId:cH,baseEffect:L(cH),label:`Update sheet`,description:`Update sheet basics (rename: name, slug).`,categories:[`internal`],tags:[`rename`,`name`,`title`,`slug`],lifecycle:null,billableOperations:lH,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,guide:`Rename the ACTIVE sheet. To give a deliverable the name the user asked for, set config.name ONLY — display names need not be unique, so "CEOs" always works. Do NOT also rewrite config.slug: slugs are org-unique and a clean generic slug (e.g. "ceos") is likely taken somewhere you can't see, which fails the whole run; the slug is just an address, so keep the existing (suffixed) one unless the user explicitly asks for a specific slug.`,defaultPayload:{effect_id:cH,connector:null,config:{}}},mH=`timetravel:create@1`,hH={},gH=r.object({effect_id:r.literal(mH),connector:w(),config:r.object({})}),_H=class extends R{effectId=mH;schema=gH;payload;billableOperations=hH;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}},vH=gH,yH={effectId:mH,baseEffect:L(mH),label:`Create restore point`,description:`Snapshot the current sheet state as a timetravel restore point.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:hH,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,shouldUpgradeSchema:!0,catalogVisibility:`hidden`,defaultPayload:{effect_id:mH,connector:null,config:{}}},bH=`timetravel:travel@1`,xH={},SH=r.object({effect_id:r.literal(bH),connector:w(),config:r.object({schema_id:r.string().min(1)})}),CH=class extends R{effectId=bH;schema=SH;payload;billableOperations=xH;constructor(e){super(),this.payload=this.validatePayload(e)}getConnectionsRequirements(){return[]}getProviderNames(){return[`pipe0`]}estimateBillableOperations(){return[]}getFieldReferences(){return[]}producesDynamicFields(){return!0}},wH=SH,TH={effectId:bH,baseEffect:L(bH),label:`Restore to point`,description:`Restore the sheet to a previous point by copying that point's rows into a new schema.`,categories:[`internal`],tags:[],lifecycle:null,billableOperations:xH,allowedUserConnectionProviders:[],managedProviders:[`pipe0`],selectionMode:`sheet`,lockingMode:`exclusive`,lockScope:`sheet`,catalogVisibility:`hidden`,defaultPayload:{effect_id:bH,connector:null,config:{schema_id:``}}},EH=r.object({reason:r.object({code:r.string(),details:r.string().optional()}),related_record_id:r.string().nullable(),resolved_by:r.object({ref:xt,config_hash:r.string()})}),DH=r.object({value:r.union([r.string(),r.number(),r.boolean(),r.null()])}),OH=EH.extend({fields:r.record(r.string(),DH)}),kH=r.object({added:EH.optional(),updated:OH.optional(),removed:EH.optional()}),AH=r.record(r.string(),kH),jH=r.object({shown:r.number().int(),total:r.number().int(),added:r.number().int(),updated:r.number().int(),removed:r.number().int()}),MH=r.object({effect_id:xt,config_hash:r.string(),status:r.enum([`completed`,`failed`,`skipped`]),error:r.string().optional(),source:r.literal(`run_added_rows`).optional()}),NH={"rows:dedupe@1":rV,"rows:duplicate@1":lV,"rows:enrich@1":hV,"rows:adopt@1":GB,"rows:add@1":PB,"rows:import@1":OV,"row:update@1":OB,"rows:remove@1":PV,"rows:removeempty@1":BV,"rows:copy_to_sheet@1":ZB,"rows:filter:prompt@1":SV,"pipe:add@1":uB,"pipe:update@1":SB,"pipe:remove@1":gB,"fields:remove@1":iB,"fields:patch@1":Qz,"fields:duplicate@1":Bz,"fields:add@1":Hl,"fields:deletesparse:input@1":Mz,"env:change@1":Il,"timetravel:create@1":_H,"timetravel:travel@1":CH,"sheet:export@1":$V,"search:run@1":qV,"sheet:reset@1":aH,"sheet:update@1":dH},PH={"rows:dedupe@1":iV,"rows:duplicate@1":uV,"rows:enrich@1":gV,"rows:adopt@1":KB,"rows:add@1":FB,"rows:import@1":kV,"row:update@1":kB,"rows:remove@1":FV,"rows:removeempty@1":VV,"rows:copy_to_sheet@1":QB,"rows:filter:prompt@1":CV,"pipe:add@1":dB,"pipe:update@1":CB,"pipe:remove@1":_B,"fields:remove@1":aB,"fields:patch@1":$z,"fields:duplicate@1":Vz,"fields:add@1":Ul,"fields:deletesparse:input@1":Nz,"env:change@1":Ll,"timetravel:create@1":vH,"timetravel:travel@1":wH,"sheet:export@1":eH,"search:run@1":JV,"sheet:reset@1":oH,"sheet:update@1":fH},FH={"rows:dedupe@1":aV,"rows:duplicate@1":dV,"rows:enrich@1":_V,"rows:adopt@1":qB,"rows:add@1":IB,"rows:import@1":AV,"row:update@1":AB,"rows:remove@1":IV,"rows:removeempty@1":HV,"rows:copy_to_sheet@1":$B,"rows:filter:prompt@1":wV,"pipe:add@1":fB,"pipe:update@1":wB,"pipe:remove@1":vB,"fields:remove@1":oB,"fields:patch@1":eB,"fields:duplicate@1":Hz,"fields:add@1":Wl,"fields:deletesparse:input@1":Pz,"env:change@1":Rl,"timetravel:create@1":yH,"timetravel:travel@1":TH,"sheet:export@1":tH,"search:run@1":YV,"sheet:reset@1":sH,"sheet:update@1":pH};function IH(e){return NH[e]}function LH(e){return FH[e]}function RH(e){return PH[e]}function zH(){return Object.keys(FH).filter(e=>FH[e].agentExposure!==`excluded`)}function BH(e){return FH[e]?.agentExposure!==`excluded`}const VH=t.discriminatedUnion(`effect_id`,Object.values(PH).map(e=>e)).openapi(`EffectPayloadSchema`);function HH(e,t){return yt(t,FH[e].defaultPayload)}const UH=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`effect_id`in e))return e;let t=HH(e.effect_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},VH),WH=t.enum([`processing`,`completed`,`failed`,`canceled`,`skipped`]).openapi(`EffectsRunStatus`),GH=t.object({config:t.object({diff:t.object({limit:t.number().int().min(0).max(1e3).default(100).openapi({description:"How many per-record diff entries to keep on the result. `counts` stays exact regardless."})}).optional(),run_added_rows:t.boolean().optional().openapi({description:`When true, after this run's effects complete, run the sheet's pipes over exactly the rows the run appended (the contiguous tail). Off by default. Durable on schedules: a scheduled chain that adds rows then enriches them on every fire.`})}).optional(),effects:t.array(UH).min(1)}).openapi(`EffectsRequest`),KH=t.object({id:t.string(),status:WH,effects:t.array(MH),counts:jH.nullable(),diff:AH.nullable(),after_schema_id:t.string().nullable(),before_schema_id:t.string().nullable(),added:t.object({cursor:t.string().nullable(),count:t.number().int()}).nullable().openapi({description:'Present when the run appended rows. `cursor` is the exclusive window cursor isolating exactly the added tail — pass it to a `rows:enrich@1` `{type:"window", cursor, count:null}` selection to run the sheet\'s pipes over the added rows. `count` is how many added rows survive.'})}).openapi(`EffectsResponse`),qH=t.object({effects:t.array(t.unknown()).min(1)}).openapi(`EffectsValidateRequest`),JH=t.object({index:t.number().int(),effect_id:xt,valid:t.boolean(),errors:t.array(t.string())}).openapi(`EffectsValidateStep`),YH=t.object({valid:t.boolean(),errors:t.array(t.string()),steps:t.array(JH).optional()}).openapi(`EffectsValidateResponse`);function XH(e){let t=e.split(`@`)[1];if(!t)throw Error(`No effect version found`);return Number(t)}function ZH(){let e={};for(let t of Object.values(FH)){let{baseEffect:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=XH(e.effectId);return XH(t.effectId)-n})}),e}const QH=ZH();function $H(){let e=[];for(let[t,n]of Object.entries(QH)){let r=n[0];if(!r)throw Error(`Found empty entry`);r.lifecycle?.deprecatedOn||r.catalogVisibility!==`hidden`&&e.push({...r,baseEffect:t,latestVersion:XH(r.effectId)})}return e}const eU={"rows:dedupe@1":[{effect_id:`rows:dedupe@1`,connector:null,config:{fields:[{field_name:`work_email`}],match:`all`,strategy:`keep_oldest`}}],"rows:duplicate@1":[{effect_id:`rows:duplicate@1`,connector:null,config:{}}],"sheet:reset@1":[{effect_id:`sheet:reset@1`,connector:null,config:{}}],"fields:deletesparse:input@1":[{effect_id:`fields:deletesparse:input@1`,connector:null,config:{fields:[{field_name:`company_raw_address`},{field_name:`company_founded_year`}],probe_size:1e3,threshold_in_percent:25}}]};var tU=class extends Error{errors;constructor(e){super(e.join(`
81
+ `)),this.name=`SheetEffectValidationError`,this.errors=e}};function nU({effects:e,validationContext:t,schemaInputs:n}){let r=[],i=[],a=[],o=[];e.some(e=>e.effect_id===`pipe:remove@1`)&&e.length>1&&r.push(`pipe:remove@1 must be the only effect in a run.`);let s={...n,validationContext:t},c=t,l=new Set(Object.keys(t.fieldDefinitions)),u=null;return e.forEach((e,t)=>{let n=[],d=IH(e.effect_id);if(!d){n.push(`unknown effect "${e.effect_id}"`),rU(i,r,t,e.effect_id,n);return}let ee;try{ee=new d(e)}catch(a){n.push(a.message),rU(i,r,t,e.effect_id,n);return}let te=ee.getFieldReferences().filter(e=>!l.has(e));if(te.length>0){let e=`references fields that do not exist at this step: ${te.join(`, `)}`;u&&(e+=`. These may be produced only at run time by "${u}" earlier in this chain — commit that effect first, then add the effects that use its columns in a follow-up run.`),n.push(e)}try{let{next:e}=ee.evolveSchema(s);s=e,c=e.validationContext,l=new Set(Object.keys(e.validationContext.fieldDefinitions))}catch(e){if(e instanceof _S)for(let t of e.appErrors)n.push(t.message);else n.push(e.message)}u===null&&ee.producesDynamicFields()&&(u=e.effect_id),a.push(ee),o.push(e),rU(i,r,t,e.effect_id,n)}),{valid:r.length===0,steps:i,errors:r,instances:a,payloads:o,resultingFieldDefinitions:c.fieldDefinitions}}function rU(e,t,n,r,i){e.push({index:n,effect_id:r,valid:i.length===0,errors:i});for(let e of i)t.push(`effects[${n}] (${r}): ${e}`)}function iU({effects:e,validationContext:t,schemaInputs:n}){let r=nU({effects:e,validationContext:t,schemaInputs:n});if(!r.valid)throw new tU(r.errors);return{instances:r.instances,payloads:r.payloads}}function aU(e){let t=(e??[]).map(e=>oU(e));if(t.length===0)return{title:`Effect run`,description:`An effect run with no steps.`};let[n]=t;return t.length===1&&n?{title:n.title,description:n.description}:{title:`${t.length} steps: ${t.map(e=>e.title).join(` · `)}`,description:t.map(e=>e.description).join(` · `)}}function oU(e){let t=e.effect_id,n=L(t),r=e.config??{};switch(n){case`pipe:add`:{let e=sU(r.pipe_payload);return{title:e?`Added pipe ${e}`:`Added pipe`,description:e?`Added the pipe ${e} to the sheet.`:`Added a pipe to the sheet.`}}case`pipe:update`:{let e=sU(r.pipe_payload);return{title:e?`Updated pipe ${e}`:`Updated pipe`,description:e?`Updated the configuration of pipe ${e}.`:`Updated a pipe.`}}case`pipe:remove`:return{title:`Removed pipe`,description:`Removed a pipe from the sheet.`};case`fields:add`:return{title:`Added field`,description:`Added a field to the sheet.`};case`fields:patch`:return{title:`Edited field`,description:`Edited a field on the sheet.`};case`fields:remove`:return{title:`Removed fields`,description:`Removed fields from the sheet.`};case`rows:add`:{let e=Array.isArray(r.records)?r.records.length:void 0;return{title:e==null?`Added rows`:`Added ${e} ${uU(e,`row`)}`,description:e==null?`Added rows to the sheet.`:`Added ${e} ${uU(e,`row`)} to the sheet.`}}case`rows:remove`:return{title:`Removed rows`,description:`Removed rows from the sheet.`};case`rows:dedupe`:return{title:`Removed duplicate rows`,description:`Removed duplicate rows from the sheet.`};case`rows:duplicate`:return{title:`Duplicated rows`,description:`Duplicated rows in the sheet.`};case`rows:enrich`:return{title:`Enriched rows`,description:`Ran enrichment pipes over rows.`};case`rows:filter:prompt`:return{title:`AI-filtered rows`,description:`Filtered rows with an AI prompt.`};case`rows:import`:return{title:`Imported rows`,description:`Imported rows into the sheet.`};case`row:update`:return{title:`Updated row`,description:`Updated a single row.`};case`search:run`:{let e=cU(r.search_payload);return{title:e?`Ran search ${e}`:`Ran search`,description:e?`Ran the search ${e} and appended its results.`:`Ran a search and appended its results.`}}case`sheet:export`:return{title:`Exported sheet`,description:`Exported the sheet.`};case`sheet:reset`:return{title:`Reset sheet`,description:`Reset the sheet to its empty state.`};case`env:change`:return{title:`Changed environment`,description:`Switched the sheet environment.`};case`timetravel:create`:return{title:`Created restore point`,description:`Snapshotted the sheet state.`};case`timetravel:travel`:return{title:`Restored to a previous point`,description:`Restored the sheet to a previous point in time.`};default:{let e=lU(t);return{title:e??t,description:e??t}}}}function sU(e){if(e&&typeof e==`object`){let t=e.pipe_id;if(typeof t==`string`&&t.length>0)return t}}function cU(e){if(e&&typeof e==`object`){let t=e.search_id;if(typeof t==`string`&&t.length>0)return t}}function lU(e){try{return LH(e)?.label}catch{return}}function uU(e,t){return e===1?t:`${t}s`}function dU(e){if(e instanceof R)return e;let t=e.effect_id,n=IH(t);if(!n)throw Error(`Unknown effect: ${e.effect_id}`);return new n(UH.parse(e))}function fU(e){let t=e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^A-Za-z0-9]+/g,`_`).replace(/^_+|_+$/g,``);return t===``?`column`:/^[0-9]/.test(t)?`_${t}`:t}function pU(e){let t=new Set;return e.map(e=>{let n=e,r=2;for(;t.has(n);)n=`${e}_${r}`,r++;return t.add(n),n})}function mU(e){let t=pU(e.map(fU));return e.map((e,n)=>({name:t[n],label:e}))}const hU={completed:`Completed`,failed:`Failed`,no_result:`No result`,pending:`Pending`,processing:`Processing`,queued:`Queued`,skipped:`Skipped`};function gU(e){return hU[e]}const _U=`bachelor.master.mba.phd.ph d.doctor.associate.diploma.b sc.bsc.m sc.msc.b a.m a.b tech.btech.m tech.mtech.b eng.m eng.b com.llb.llm.md.jd.undergraduate.postgraduate.graduate.degree`.split(`.`),vU=[`university`,`college`,`institute of technology`,`polytechnic`,`school of`],yU=e=>` ${e.toLowerCase().replace(/[^a-z ]+/g,` `).replace(/\s+/g,` `).trim()} `,bU=(e,t)=>{if(!e)return!1;let n=yU(e);return t.some(e=>n.includes(` ${e} `))};function xU(e){return bU(e.degree_name,_U)?!0:e.degree_name?!1:bU(e.institution_name,vU)}function SU(e){if(!e.start_date)return 1/0;let t=te(e.start_date);return Number.isNaN(t.getTime())?1/0:t.getTime()}function CU(e){let t=e.education_history.filter(e=>e.is_current_education===!0&&xU(e)),n=null;for(let e of t)(n===null||SU(e)<SU(n))&&(n=e);return{...e,education_history:e.education_history.map(e=>({...e,is_primary_current_education:e===n}))}}function wU(e,t,n=new Date){if(!e)return{days:null,years:null};let r=te(e);if(Number.isNaN(r.getTime()))return{days:null,years:null};let i=n;if(t){let e=te(t);Number.isNaN(e.getTime())||(i=e)}let a=u(i,r);return a<0?{days:null,years:null}:{days:a,years:Math.round(a/365.25*100)/100}}const TU={shared:{}},EU={shared:{}},DU={shared:{paths:{"config.cursor":null,"config.offset":null,"config.page_number":null}}};function OU(e,t){let n=e[t];return{sectionMap:{...e.shared.sections,...n?.sections},groupMap:{...e.shared.groups,...n?.groups},pathMap:{...e.shared.paths,...n?.paths}}}const kU=e=>OU(EU,e),AU=e=>OU(DU,e),jU=e=>OU(TU,e),MU={"config.prompt":{order:1,label:`Prompt`,iconKey:`sparkles`,defaultExpand:!0},"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:0,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},"config.bucket_creation":{order:1,label:`Bucket creation`,description:`Applied when the bucket is created on first write; ignored if it already exists.`,iconKey:`sliders`,defaultExpand:!1},"config.input_fields":{order:0,label:`Input config`,description:`Point pipe inputs to new fields.`,iconKey:`input`,defaultExpand:!1},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1},"config.extraction":{order:0,label:`Extraction`,iconKey:`code`,defaultExpand:!0},run_if:{order:99,label:`Run IF`,iconKey:`workflow`,defaultExpand:!1},"config.email":{order:3,label:`Email`,iconKey:`mail`,defaultExpand:!0},"config.json_extraction":{order:1,label:`Extract fields`,iconKey:`braces`,defaultExpand:!0},"config.providers":{order:1,label:`Providers`,iconKey:`tags`,defaultExpand:!0},"config.output_fields":{order:10,label:`Output config`,description:`Toggle or rename output fields.`,iconKey:`output`,defaultExpand:!1},"config.destination":{order:9,label:`Destination`,description:`Name, type, and format of the field written to the destination sheet.`,iconKey:`output`,defaultExpand:!1}},NU={general:{path:`general`,label:`Behavior`,description:`How this pipe runs and selects providers.`,order:1},pagination:{path:`pagination`,label:`Behavior`,order:2},"config.filters":{path:`config.filters`,label:`I/O & conditions`,order:14},pipe_io:{path:``,label:`I/O & conditions`,order:99}},PU=new Set([`context_select_input`,`tagged_text_input`,`condition_block_input`,`field_select_input`,`fields_select_input`,`typed_fields_select_input`]);function FU(e){let t=BR(e),n=[];function i(e){e?.type&&PU.has(e.type)&&e.optionsDef&&n.push(e)}function a(e){let t=_.get(e);if(t&&typeof t!=`function`?i(t):typeof t==`function`&&i(t.staticMeta),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&a(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))a(t)}return a(t),n}function IU({pipePayload:e,validationContext:t,store:n,formResolvers:r,customization:i}){let a=BR(e.pipe_id),o=nu(e.pipe_id,e.config||{});return yc({schema:a,extractFromSchema:r=>{let i=_.get(r);if(n.field_options??={},i)return i&&typeof i==`function`?i({validationContext:t,pipePayload:e,userConnections:`connections`in n.field_options?(n.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type'`);return{public_id:e.value,provider:t}}):[],pipeEntry:UR(e.pipe_id),hash:o}):i},store:n,formResolvers:r,sectionMap:_c(NU,i?.sectionMap),groupMap:_c(MU,i?.groupMap),pathMap:i?.pathMap})}const LU={"config.pagination":{order:-1,label:`Pagination`,iconKey:`list`,defaultExpand:!0},"config.dates":{order:1,label:`Dates`,iconKey:`calendar`,defaultExpand:!1},"config.counts":{order:1,label:`Ownership counts`,iconKey:`user`,defaultExpand:!0},"config.prompt":{order:1,label:`Prompt`,iconKey:`sparkles`,defaultExpand:!0},"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:0,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},"config.continue_existing_search":{order:0,label:`Continue existing search`,iconKey:`history`,defaultExpand:!1},"config.output_fields":{order:10,label:`Outputs`,iconKey:`output`,defaultExpand:!1},"config.filters.query":{order:2,label:`Query`,iconKey:`text`,defaultExpand:!0},"config.filters.personal_information":{label:`Personal information`,order:6,iconKey:`user`,defaultExpand:!1},"config.filters.job_information":{label:`Job information`,order:6,iconKey:`job`,defaultExpand:!1},"config.filters.company_information":{order:1,label:`Company information`,iconKey:`office`,defaultExpand:!1},"config.filters.education":{label:`Education`,iconKey:`school`,defaultExpand:!1,order:4},"config.filters.geografic":{label:`Location`,iconKey:`location`,defaultExpand:!1},"config.filters.location":{label:`Location`,iconKey:`location`,defaultExpand:!1},"config.filters.general":{label:`General`,iconKey:`filter`,defaultExpand:!1,order:1},"config.filters.author":{label:`Author`,iconKey:`user`,defaultExpand:!1,order:2},"config.filters.mentions":{label:`Mentions`,iconKey:`tags`,defaultExpand:!1,order:3},"config.filters.job_openings":{label:`Job openings`,iconKey:`calendar`,defaultExpand:!1},"config.filters.website":{label:`Website`,iconKey:`web`,defaultExpand:!1},"config.filters.web_presence":{label:`Web presence`,iconKey:`web`,defaultExpand:!1},"config.filters.keywords":{label:`Keywords`,iconKey:`tags`,defaultExpand:!1},"config.filters.competitors":{label:`Competitors`,iconKey:`cometition`,defaultExpand:!1},"config.filters.categories":{label:`Categories`,iconKey:`boxes`,defaultExpand:!1},"config.filters.investors":{label:`Investors`,iconKey:`handshake`,defaultExpand:!1},"config.filters.account_activities":{label:`Account Activities`,iconKey:`activity`,defaultExpand:!1},"config.filters.financials":{label:`Financials`,iconKey:`chart`,defaultExpand:!1},"config.filters.languages":{label:`Languages`,iconKey:`language`,defaultExpand:!1},"config.filters.company_size":{label:`Company size`,iconKey:`office`,defaultExpand:!1},"config.filters.linkedin":{label:`LinkedIn`,iconKey:`linkedin`,defaultExpand:!1},"config.filters.skills":{label:`Skills`,iconKey:`brain`,defaultExpand:!1},"config.filters.activities":{label:`Activities`,iconKey:`bolt`,defaultExpand:!1},"config.filters.certifications_honors":{label:`Certifications & honors`,iconKey:`award`,defaultExpand:!1},"config.filters.profile":{label:`Profile`,iconKey:`contact`,defaultExpand:!1},"config.filters.experience":{label:`Employment history`,iconKey:`history`,defaultExpand:!1,order:3},"config.filters.current_employer":{label:`Current employment`,iconKey:`briefcase`,defaultExpand:!1,order:2},"config.filters.current_company":{label:`Current Company`,iconKey:`office`,defaultExpand:!1},"config.filters.industry":{label:`Industries`,iconKey:`factory`,defaultExpand:!1},"config.filters.general_search":{label:`General search`,iconKey:`search`,defaultExpand:!1},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1}},RU={general:{path:`general`,label:`General`,description:`Search settings and pagination.`,order:1},pagination:{path:`pagination`,label:`General`,order:2},"config.filters":{path:`config.filters`,label:`Filters`,description:`Narrow the search results.`,order:10},pipe_io:{path:``,label:`Output fields`,order:99}};function zU({searchPayload:e,formContext:t,formResolvers:n,customization:r}){return yc({schema:CR(e.search_id),extractFromSchema:n=>{let r=v.get(n);if(t.field_options??={},r)return typeof r==`function`?r({searchPayload:e,searchEntry:OR(e.search_id),userConnections:`connections`in t.field_options?(t.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type`);return{public_id:e.value,provider:t}}):[]}):r},store:t,formResolvers:n,sectionMap:_c(RU,r?.sectionMap),groupMap:_c(LU,r?.groupMap),pathMap:r?.pathMap})}function BU(e){let t=CR(e),n=[];function i(e){let t=v.get(e);if(t&&typeof t!=`function`&&t.type===`context_select_input`&&t.optionsDef&&n.push(t),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&i(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))i(t)}return i(t),n}const VU={"config.general":{order:0,label:`General`,iconKey:`mix`,defaultExpand:!0},"config.advanced":{order:1,label:`Advanced`,iconKey:`sliders`,defaultExpand:!0},connector:{order:100,label:`Connections`,iconKey:`plug`,defaultExpand:!1}},HU={general:{path:`general`,label:`General`,description:`How this effect runs.`,order:1},pagination:{path:`pagination`,label:`General`,order:99},"config.filters":{path:`config.filters`,label:`Filters`,order:99},pipe_io:{path:``,label:`Connections`,order:99}};function UU({effectPayload:e,validationContext:t,store:n,formResolvers:r,customization:i}){let a=RH(e.effect_id),o=Ml(e.effect_id,e.config||{});return yc({schema:a,extractFromSchema:r=>{let i=Fs.get(r);if(n.field_options??={},i)return typeof i==`function`?i({validationContext:t,effectPayload:e,userConnections:`connections`in n.field_options?(n.field_options.connections.options||[]).map(e=>{let t=e.widgets?.provider_logo?.provider;if(!t)throw Error(`Option is missing provider type`);return{public_id:e.value,provider:t}}):[],effectEntry:LH(e.effect_id),hash:o}):i},store:n,formResolvers:r,sectionMap:_c(HU,i?.sectionMap),groupMap:_c(VU,i?.groupMap),pathMap:i?.pathMap})}function WU(e){let t=RH(e),n=[];function i(e){let t=Fs.get(e);if(t&&typeof t!=`function`&&t.type===`context_select_input`&&t.optionsDef&&n.push(t),typeof e==`object`&&e&&`unwrap`in e&&typeof e.unwrap==`function`&&i(e.unwrap()),e instanceof r.ZodObject)for(let t of Object.values(e.shape))i(t)}return i(t),n}const GU=new Proxy({},{get:(e,t)=>e=>e.type===t}),KU=`school.user.location.language.brain.book.web.plug.money.office.job.search.output.input.mix.bill.linkedin.text.workflow.letter.source.activity.boxes.cometition.bolt.star.scholar.briefcase.history.sparkles.list.sliders.factory.award.tags.handshake.contact.mail.calendar.chart.code.braces.filter`.split(`.`),qU=r.enum(KU),JU=r.object({provider_logo:r.object({provider:pa}).optional(),emoji:r.object({char:r.string()}).optional(),icon:r.object({key:qU}).optional(),logo_url:r.object({url:r.string(),alt:r.string().optional()}).optional(),pricing:r.object({credits:r.number()}).optional(),token_pricing:r.object({inputPerBlock:r.number(),outputPerBlock:r.number(),blockSize:r.number()}).optional(),field_type:r.object({type:r.string(),format:r.string().optional()}).optional()}),YU=`providers_input.fields_select_input.json_extraction_input.pipes_run_if_input.connector_input.include_exclude_input.include_exclude_select_input.exact_range_input.range_input.date_range_input.boolean_input.nullable_boolean_input.text_input.template_input.output_field_input.textarea_input.prompt_input.select_input.context_select_input.multi_select_input.min_max_int_input.async_multi_select_input.async_include_exclude_select_input.multi_create_input.property_list_input.ordered_multi_create_input.tagged_ordered_multi_create_input.int_input.number_input.json_schema_input`.split(`.`);r.enum(YU);const XU=r.object({value:r.string(),label:r.string(),widgets:JU.optional(),data:r.record(r.string(),r.string()).optional()}),ZU=r.object({field_options:r.record(r.string(),r.object({options:r.array(XU)}))}),QU=[{id:`people_data`,label:`People`,color:`#8B7DFF`,order:0},{id:`find_people`,label:`Find People`,color:`#A78BFA`,order:1},{id:`company_data`,label:`Company`,color:`#10B981`,order:2},{id:`find_comapnies`,label:`Find Companies`,color:`#34D399`,order:3},{id:`tools`,label:`Tools`,color:`#EAB308`,order:4},{id:`integrations`,label:`Integrations`,color:`#06B6D4`,order:5},{id:`actions`,label:`Actions`,color:`#F97316`,order:6},{id:`deprecated`,label:`Deprecated`,color:`#94A3B8`,order:7}],$U=new Map(QU.map(e=>[e.id,e]));function eW(e){return $U.get(e)}function tW(){return QU}const nW={"company:funding:leadmagic@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:leadmagic@1`}],input:[{id:`1`,company_website_url:`https://pipe0.com`}]}],"company:funding:leadmagic@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:leadmagic@2`}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"company:funding:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:funding:waterfall@1`}],input:[{id:`1`,company_domain:`retool.com`}]}],"company:identity@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@1`}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:identity@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@2`,config:{}}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:identity@3":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity@3`,config:{}}],input:[{id:`1`,company_name:`Pipe0`}]}],"company:overview@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@1`}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"people:phone:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:phone:workemail:waterfall@1`}],input:[{id:`1`,work_email:`jane@pipe0.com`}]}],"person:mobile:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:mobile:workemail:waterfall@1`}],input:[{id:`1`,work_email:`jane@pipe0.com`}]}],"people:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:workemail:waterfall@1`}],input:[{id:`1`,name:`John Doe`,company_website_url:`https://pipe0.com`}]}],"person:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:workemail:waterfall@1`}],input:[{id:`1`,name:`John Doe`,company_domain:`pipe0.com`}]}],"company:techstack:builtwith@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:techstack:builtwith@1`}],input:[{id:`1`,company_website_url:`https://pipe0.com`}]}],"company:techstack:builtwith@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:techstack:builtwith@2`}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"agent:run@1":[{config:{environment:`production`},pipes:[{pipe_id:`agent:run@1`,config:{agent_type:`web_researcher`,model:`openai-high`,prompt:{template:`
82
82
  Determine if the company {{ company_name }} (domain: {{ company_domain | default: "" }}) has ever raised outside funding.
83
83
 
84
84
  Research the web for funding announcements, press releases, and investor databases before answering.
@@ -131,5 +131,5 @@ Customize the message using the name of the user: {{ name }}.
131
131
  `}}],input:[{id:`1`,job_title:`GTM Engineer`,name:`Pipe Piper`}]}],"person:profileurl:name@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:profileurl:name@1`}],input:[{id:`1`,name:`John`,company_name:`Pipe0`}]}],"template:fill@1":[{config:{environment:`production`},pipes:[{pipe_id:`template:fill@1`,config:{template:`Hey team: A new user has just signed up. Here's the info:
132
132
  **Name**: {{ name }}
133
133
  **Email**: {{ email }}
134
- `}}],input:[{id:`1`,name:`John`,email:`john@pipe0.com`}]}],"email:send:resend@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`resend_123`,type:`vault`}]},pipe_id:`email:send:resend@1`,config:{from:`<FROM_EMAIL_ADDRESS>`,to:`{{ email }}`,reply_to:`<REPLY_TO_EMAIL_ADDRESS>`,subject:`{{ email_subject }}`,body:`{{ email_body }}`}}],input:[{id:`1`,email:`<EMAIL_ADDRESS>`,email_body:`<EMAIL_TEXT>`,email_subject:`<EMAIL_SUBJECT_LINE>`}]}],"email:send:gmail@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`gmail_123`,type:`vault`}]},pipe_id:`email:send:gmail@1`,config:{to:`{{ email }}`,reply_to:`<REPLY_TO_EMAIL_ADDRESS>`,subject:`{{ email_subject }}`,body:`{{ email_body }}`}}],input:[{id:`1`,email:`<EMAIL_ADDRESS>`,email_body:`<EMAIL_TEXT>`,email_subject:`<EMAIL_SUBJECT_LINE>`}]}],"message:send:slack@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`slack_123`,type:`vault`}]},pipe_id:`message:send:slack@1`,config:{channel_id:`<SLACK_CHANNEL_ID>`,message:`{{ message }}`}}],input:[{id:`1`,message:`<MESSAGE_TEXT>`}]}],"people:profileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:profileurl:email:waterfall@1`}],input:[{id:`1`,email:`<MESSAGE_TEXT>`}]}],"person:profileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:profileurl:email:waterfall@1`}],input:[{id:`1`,email:`<MESSAGE_TEXT>`}]}],"people:validate:email:zerobounce@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:validate:email:zerobounce@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:mobilenumber:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:mobilenumber:workemail:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:professionalprofile:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofile:waterfall@1`}],input:[{id:`1`,professional_profile_url:`john@pipe0.com`}]}],"people:professionalprofileurl:name@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofileurl:name@1`}],input:[{id:`1`,name:`John`,company_name:`Pipe0`,location_int:`Berlin`}]}],"people:professionalprofileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofileurl:email:waterfall@1`}],input:[{id:`1`,email:`john@pipe0.com`}]}],"people:mobilenumber:professionalprofile:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:mobilenumber:professionalprofile:waterfall@1`}],input:[{id:`1`,professional_profile_url:`https://linkedin.com/li/john`}]}],"company:overview@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@2`,config:{}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"company:overview@3":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@3`,config:{}}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"fields:merge@1":[{config:{environment:`production`},pipes:[{pipe_id:`fields:merge@1`,config:{merge_fields:[{field_name:`field_1`},{field_name:`field_2`}]}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:scrape:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:scrape:firecrawl@1`,config:{scrape_main_only:!0,input_fields:{website_url:{alias:``}}}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:extract:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:extract:firecrawl@1`,config:{extraction_prompt:`Extract the company mission as well as the latest news.`,enable_full_domain_crawl:!0,enable_web_search:!0,json_schema:{type:`object`,required:[`company_mission`,`latest_news`],properties:{company_mission:{type:`string`},latest_news:{type:`string`}}}}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:extract:parallel@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:extract:parallel@1`,config:{objective:`When was the company founded and what does it do?`}}],input:[{id:`1`,website_url:`https://pipe0.com`}]}],"person:email:validate:millionverifier@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:email:validate:millionverifier@1`}],input:[{id:`1`,email:`john@pipe0.com`}]}],"website:scrapelist:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:scrapelist:firecrawl@1`,config:{scrape_main_only:!0,formats:[`markdown`,`links`]}}],input:[{id:`1`,urls:[`https://pipe0.com`,`https://pipe0.com/docs`]}]}],"website:maplinks:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:maplinks:firecrawl@1`,config:{sitemap:`include`,page_limit:20,search:``}}],input:[{id:`1`,urls:[`https://pipe0.com`,`https://pipe0.com/docs`]}]}],"contact:create:resend@1":[{config:{environment:`production`},pipes:[{pipe_id:`contact:create:resend@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`resend_123`}]},config:{segment_id:`segment_id_12xeeb12`,add_as_subscribed:!0}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"lead:enroll:lemlist@1":[{config:{environment:`production`},pipes:[{pipe_id:`lead:enroll:lemlist@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`lemlist_123`}]},config:{campaign_id:`cam_bSn8EORHQxbWPjHvu`,custom_variables:{painPoint:`{{ pain_point }}`}}}],input:[{id:`1`,email:`prospect@example.com`,first_name:`Jane`,last_name:`Doe`,company_name:`Acme Corp`,job_title:`VP Sales`,pain_point:`slow onboarding`}]}],"lead:enroll:amplemarket@1":[{config:{environment:`production`},pipes:[{pipe_id:`lead:enroll:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]},config:{sequence_id:`cb4925debf37ccb6ae1244317697e0f`,custom_variables:{pain_point:`{{ pain_point }}`}}}],input:[{id:`1`,email:`prospect@example.com`,profile_url:`https://www.linkedin.com/in/jane-doe`,pain_point:`slow onboarding`}]}],"row:append:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:append:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{project:`project_id`,sheet:`sheet_id`,run:!0,allow_entity_creation:!0,write_fields:[{field_name:`field_name`}]}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"bucket:claim@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:claim@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`crm-contacts`,contract:``,entry_fields:[{field_name:`email`}],new_bucket_name:``,new_bucket_ttl_in_seconds:null,new_bucket_own_entry_behavior:`block`,new_bucket_missing_value_behavior:`proceed`,allow_bucket_creation:!0}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"bucket:count@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:count@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`lead-router`,contract:``,entry_fields:[{field_name:`email`,entry_field:`lead`}],new_bucket_name:``,new_bucket_start:1,new_bucket_step:1,allow_bucket_creation:!0}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"bucket:check@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:check@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`do-not-contact`,contract:``,entry_fields:[{field_name:`email`}]}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"row:roundrobin:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:roundrobin:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{sheet:`sellers`,sheet_where:{logic:`and`,conditions:[{property:`value`,field_name:`segment`,operator:`eq`,value:`ENT`}]},sheet_unique_field:{field_name:`email`},sheet_copy_fields:[{field_name:`email`,type:`string`,format:`email`},{field_name:`name`,type:`string`}],sheet_weight_field:{field_name:``},counter_field:{field_name:`email`}}}],input:[{id:`1`,email:`lead@acme.com`}]}],"rows:find:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{sheet:`crm-leads`,where:{logic:`and`,conditions:[{property:`value`,field_name:`email`,operator:`eq`,value:`{{ email }}`}]},limit:10,output_fields:{sheet_rows_found_count:{alias:``,enabled:!0},sheet_found_rows:{alias:``,enabled:!0},sheet_found_row_ids:{alias:``,enabled:!1}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"rows:find:postgres@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:postgres@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`postgres_123`}]},config:{query:`SELECT id, email, plan, created_at FROM users WHERE email = '{{ email }}'`,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!0},db_found_rows:{alias:``,enabled:!0}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"rows:find:databricks@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:databricks@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`databricks_123`}]},config:{query:`SELECT id, email, plan, created_at FROM main.crm.users WHERE email = '{{ email }}'`,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!0},db_found_rows:{alias:``,enabled:!0}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"row:expandappend:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:expandappend:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{project:`project_id`,sheet:`sheet_id`,run:!0,allow_entity_creation:!0,destination_field_name:`expanded_value`,destination_field_type:``,destination_field_format:``,destination_field_label:``}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"people:match:role:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:match:role:waterfall@1`,config:{providers:[{provider:`leadmagic`}],roles:[`CEO`]}}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"person:match:role:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:match:role:waterfall@1`,config:{providers:[{provider:`leadmagic`}],roles:[`CEO`]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"company:match:logodev@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:logodev@1`}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"company:match:logodev@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:logodev@2`}],input:[{id:`1`,company_domain:`acme.com`}]}],"company:lookalikes:companyenrich@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:lookalikes:companyenrich@1`}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"company:lookalikes:companyenrich@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:lookalikes:companyenrich@2`}],input:[{id:`1`,company_domain:`acme.com`}]}],"person:posts:content:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:posts:content:crustdata@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-doe-3445`}]}],"people:identity:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:identity:email:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"person:identity:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:identity:email:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:profile:workemail:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:profile:workemail:crustdata@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"person:profile:workemail:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:profile:workemail:crustdata@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:workemail:profileurl:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:workemail:profileurl:waterfall@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-123abc`}]}],"person:workemail:profileurl:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:workemail:profileurl:waterfall@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-123abc`}]}],"company:match:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:crustdata@1`}],input:[{id:`1`,company_website_url:`https://microsoft.com`}]}],"company:match:crustdata@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:crustdata@2`}],input:[{id:`1`,company_domain:`microsoft.com`}]}],"contact:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`contact:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]}}],input:[{id:`1`,email:`jane@acme.com`}]}],"company:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"deal:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`deal:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{pipeline:``,status:`open`,custom_properties:[{property:`dealname`},{property:`pipeline`},{property:`dealstage`},{property:`amount`},{property:`closedate`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"object:update:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`object:update:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{object_type:`0-1`,object_id:`{{ hubspot_object_id }}`,properties:{jobtitle:`{{ job_title }}`,phone:`{{ phone }}`},ignore_blank_values:!0}}],input:[{id:`1`,hubspot_object_id:`512001`,job_title:`Head of Data`,phone:`+1 555 0100`}]}],"person:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{match_scope:`contacts_and_leads`,custom_properties:[{property:`Lead_Score__c`}]}}],input:[{id:`1`,email:`jane@acme.com`}]}],"account:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`account:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{website_field:`Website`,custom_properties:[]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"opportunity:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`opportunity:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{status:`open`,stage:``,custom_properties:[{property:`NextStep`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"record:lookup:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:lookup:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Contact`,record_id:`{{ salesforce_record_id }}`}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`}]}],"record:update:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:update:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Contact`,record_id:`{{ salesforce_record_id }}`,values:{Title:`{{ job_title }}`,Phone:`{{ phone }}`},bypass_duplicate_alerts:!1}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`,job_title:`Head of Data`,phone:`+1 555 0100`}]}],"record:assert:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:assert:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Account`,external_id_field:`External_Id__c`,external_id_value:`{{ company_domain }}`,values:{Name:`{{ company_name }}`,Website:`https://{{ company_domain }}`},bypass_duplicate_alerts:!1}}],input:[{id:`1`,company_domain:`acme.com`,company_name:`Acme Inc.`}]}],"object:associations:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`object:associations:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{from_object_type:`0-2`,to_object_type:`0-3`,association_label:``,object_id:`{{ hubspot_object_id }}`,properties:[{property:`dealname`},{property:`dealstage`},{property:`amount`}],limit:20}}],input:[{id:`1`,hubspot_object_id:`9034001`}]}],"company:identity:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity:crustdata@1`}],input:[{id:`1`,company_domain:`samsung.com`},{id:`2`,company_name:`Samsung`}]}],"person:identity:amplemarket@1":[{pipes:[{pipe_id:`person:identity:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]}}],input:[{id:`1`,email:`hallp@pipe0.com`}]}],"person:match:amplemarket@1":[{pipes:[{pipe_id:`person:match:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]}}],input:[{id:`1`,profile_url:`https://linkedin.com/li/johndoe`}]}],"field:domainify@1":[{pipes:[{pipe_id:`field:domainify@1`}],input:[{id:`1`,url_input:`https://google.com`}]}],"field:slugify@1":[{pipes:[{pipe_id:`field:slugify@1`}],input:[{id:`1`,string_input:`input value`}]}],"http:request@1":[{pipes:[{pipe_id:`http:request@1`,config:{method:`GET`,url:`https://api.example.com/v1/companies/{{ company_name }}`,query_params:{limit:`10`},body:``,headers:{Authorization:`Bearer SECRET`},expected_response_schema:{},output_fields:{http_response_status:{alias:``,enabled:!0},http_response_body:{alias:``,enabled:!0},http_response_headers:{alias:``,enabled:!1}}}}],input:[{id:`1`,company_name:`Acme`}]}]},lU=.1,uU=[`level1`,`level2`,`level3`];function dU(e,t){let n=uU[t-1];if(n)return e[n]}function fU(e,t){for(let n=t;n>=1;n--){let t=dU(e,n);if(t)return{level:n,tier:t}}}function pU(e){let t=[];for(let n=1;n<=3;n++){let r=dU(e,n);r&&t.push({level:n,credits:r.credits,weight:r.weight})}return t}function mU(e){if(e.default<.1)return!1;let t=pU(e);if(t.length===0)return!1;for(let e=0;e<t.length;e++)if(t[e].level!==e+1)return!1;let n=e.default,r=0;for(let e of t){if(!(e.credits<n)||!Number.isInteger(e.weight)||e.weight<=r)return!1;n=e.credits,r=e.weight}return!0}function hU(){let e=new Map;for(let t of Object.values(HL))for(let[n,r]of Object.entries(t.billableOperations)){let i=r;if(!i?.allowManagedConnection||!mU(i.credits))continue;let a=n,o={kind:`pipe`,id:t.pipeId,label:t.label,categories:[...t.categories]},s=e.get(a);if(s){s.standardCredits=Math.min(s.standardCredits,i.credits.default),s.usedBy.push(o);continue}e.set(a,{billableOperation:a,provider:i.provider,kind:`pipe`,standardCredits:i.credits.default,tiers:pU(i.credits),usedBy:[o]})}for(let t of Object.values(bL)){let{cost:n}=t;if(!n.allowManagedConnection||!mU(n.credits))continue;let r=t.billableOperation,i={kind:`search`,id:t.searchId,label:t.label,categories:[...t.categories]},a=e.get(r);if(a){a.standardCredits=Math.min(a.standardCredits,n.credits.default),a.usedBy.push(i);continue}e.set(r,{billableOperation:r,provider:t.provider,kind:`search`,standardCredits:n.credits.default,tiers:pU(n.credits),usedBy:[i]})}return[...e.values()].sort((e,t)=>e.billableOperation.localeCompare(t.billableOperation))}function gU(e,t){switch(e.kind){case`field`:case`optional`:{let n=t[e.field.name];return n?{...e,field:{...e.field,resolvedName:n}}:e}case`all`:case`any`:return{...e,of:e.of.map(e=>gU(e,t))}}}function _U(e){switch(e.kind){case`field`:return e.field.resolvedName;case`optional`:return`${e.field.resolvedName} (optional)`;case`all`:return e.of.map(_U).join(` AND `);case`any`:return`(${e.of.map(_U).join(` OR `)})`}}function vU(e,t){let n=2,r=`${e}_${n}`;for(;t.has(r);)n++,r=`${e}_${n}`;return r}function yU({pipeId:e,availableFields:t,inputFieldAliases:n}){let r=HL[e];if(!r)throw Error(`Unknown pipe_id: "${e}"`);let i=new Set(t),a=r.defaultInputRequirement,o=a&&n&&Object.keys(n).length>0?gU(a,n):a,s=o?Gl(o,i):!0,c=o?Kl(o).filter(e=>e.required).map(e=>({name:e.field.name,resolved_name:e.field.resolvedName,present:i.has(e.field.resolvedName)})):[],l=s?[]:c.filter(e=>!e.present).map(e=>e.resolved_name),u=new Set(i),d=[],ee=[];for(let e of UL(r)){let t=i.has(e),n;t?(n=vU(e,u),u.add(n),ee.push({name:e,resolved_name:e,suggested_alias:n})):u.add(e),d.push({name:e,resolved_name:e,collides:t,suggested_alias:n})}return{pipe_id:e,runnable:s,requirement_description:o?_U(o):`(no inputs required)`,required_fields:c,missing_fields:l,output_fields:d,output_collisions:ee}}const bU=[`yyyy-MM-dd`,`yyyy/MM/dd`,`yyyy-MM-dd HH:mm:ss`,`MM/dd/yyyy`,`MM/dd/yyyy HH:mm:ss`,`MM-dd-yyyy`,`MM-dd-yyyy HH:mm:ss`,`yyyyMMdd`],xU=[`yyyy-MM-dd`,`yyyy/MM/dd`,`MM/dd/yyyy`,`MM-dd-yyyy`,`yyyyMMdd`,`dd-MM-yyyy`,`dd/MM/yyyy`],SU=r.string().trim().transform(e=>{if(!/\./.test(e)&&!/^[a-zA-Z0-9_-]*$/.test(e))throw Error(`Invalid URL format`);let t=String(e).trim();if(/^https?:\/\//i.test(t)||(t=`https://${t}`),t=t.replace(/^http:\/\//i,`https://`),t=t.replace(/^https:\/\/[w]{4,}\./i,`https://www.`),t=t.endsWith(`/`)?t.slice(0,-1):t,!t.includes(`.`))throw Error(`Invalid URL format - no TLD`);return t}).check(e=>{r.url(e.value).safeParse(e.value).success||e.issues.push({code:`custom`,message:`Invalid URL`,input:e.value})}),CU=r.coerce.string().trim().toLowerCase().transform(e=>{let t=e.replace(/^mailto:/i,``),[n,r]=t.split(`@`);return!r||!n?t:`${n.replace(/[^a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]/g,``)}@${r.replace(/\s+/g,``)}`}).check(e=>{r.email().safeParse(e.value).success||e.issues.push({code:`custom`,input:e.value,message:`Invalid email format`})});function wU(e){return!isNaN(e.getTime())}const TU=r.coerce.string().trim().transform(e=>{let t=e.replace(/[^0-9T:.\-/ ]/g,``).trim();for(let e of bU){let n=ee(t,e,new Date(0));if(wU(n))return d(n,`yyyy-MM-dd'T'HH:mm:ss`)}throw Error(`Invalid date format: ${e}`)}),EU=r.coerce.string().trim().transform(e=>{for(let t of xU){let n=ee(e,t,new Date(0));if(wU(n))return d(n,`yyyy-MM-dd`)}throw Error(`Invalid date format: ${e}`)}),DU=r.union([r.number(),r.string().transform(e=>{let t=e.replace(/[^0-9.]/g,``),n=parseFloat(t);if(isNaN(n))throw Error(`Invalid decimal format`);return n})]).refine(e=>!isNaN(e),{message:`Value must be a valid number`}),OU=r.union([r.number().transform(e=>Math.trunc(e)),r.string().transform(e=>{let t=e.replace(/[^0-9]/g,``),n=parseInt(t,10);if(isNaN(n))throw Error(`Invalid integer format`);return n})]).check(r.int()),kU=r.preprocess(e=>{if(typeof e!=`object`||!e)return e;try{return JSON.stringify(e)}catch{return e}},r.coerce.string().trim().min(1,{message:`Value cannot be empty for this format`}));function AU(e,t){if(t===null)return e===``||e==null?null:e;if(e==null)return null;try{switch(t){case`url`:return SU.parse(e);case`email`:return CU.parse(e);case`datetime`:return TU.parse(e);case`date`:return EU.parse(e);case`decimal`:return DU.parse(e);case`int`:return OU.parse(e);case`currency`:return r.number().parse(e);case`percent`:return r.number().parse(e);case`address_line_1`:return kU.parse(e);case`website_url`:return SU.parse(e);case`profile_url`:return SU.parse(e);case`zip_code`:return kU.parse(e);case`markdown`:case`phone`:case`text`:return kU.parse(e);case`json_object`:return r.record(r.any(),r.any()).parse(e);case`json_list`:return r.array(r.any()).parse(e);case`json_list_string`:return r.array(r.string()).parse(e);default:throw Error(`Unknown format: ${t}`)}}catch(r){throw r instanceof n?Error(`Unable to parse value ${Ed(e)} into format ${t}: ${r.message}`):r}}function jU(e,t,n){let r={};for(let[i,a]of Object.entries(e.derivedInputFields)){let e=t.field_definitions[i]?.format||null,o=n[i]??null;if(vR(o))o.resolved_by?.ref===`input`?r[i]={value:o.value,type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:o.value==null?null:{ref:`input`,config_hash:null,input_hash:null,environment:o.resolved_by.environment||null},reason:null,status:o.value===null?`pending`:`completed`,widgets:o.widgets||{},format:o.format||e}:r[i]={value:o.value,type:a.type,claimed_by:o.claimed_by||{ref:`input`,config_hash:null},resolved_by:o.resolved_by?o.resolved_by:o.value==null?null:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:o.reason||null,status:o.status,widgets:o.widgets||{},format:o.format||e};else if(o!=null)try{r[i]={value:AU(o,e),type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:null,status:`completed`,widgets:{},format:e}}catch{r[i]={value:o,type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:{code:`InvalidValue`,summary:`Invalid`,message:`This field expects a value of format ${e}.`},status:`failed`,widgets:{},format:e}}else r[i]={type:a.type,value:o,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:null,config_hash:null,input_hash:null,environment:null},reason:null,status:`pending`,widgets:{},format:e}}return r}function MU(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)throw Error(`Input object undefined`);let a=i.id;a!=null&&vR(a)&&(i.id=a.value),i.id||=crypto.randomUUID();let{id:o}=i;if(typeof o!=`string`&&typeof o!=`number`){n.errors.push(oS.InvalidId());continue}if(n.records[o]){n.errors.push(oS.IDConflict({index:r,id:o}));continue}n.order.push(o),n.records[o]={id:o,fields:jU(e,n,i)}}}function NU({context:e,input:t,config:n={}}){let r={field_definitions:e.fieldDefinitions,order:[],errors:[],records:{},queued_record_ids:new Set,adopted_record_ids:new Set};try{MU(e,t,r);let{queuedRecordIdSet:i,adoptedRecordIdSet:a}=PU(e,t,r,n);if(r.queued_record_ids=i,r.adopted_record_ids=a,FU(e,r,n?.queue?.enabled),VU(e,r),r.errors.length>0)throw new cS(r.errors);return r}catch(e){throw e instanceof cS?e:new cS([oS.ResponseGenerationFailed({error:e})])}}function PU(e,t,n,r){let i=[],a=[];for(let o=0;o<e.orderedPipePayloads.length;o++){let s=e.orderedPipePayloads[o],c=e.orderedPipeInstances[o];if(!c){n.errors.push(oS.UnknownResolver({pipeId:s.pipe_id,index:o}));continue}let{queuedRecordIds:l,adoptedRecordIds:u}=BU(e,t,c,n,r);i=i.concat(l),a=a.concat(u)}return{queuedRecordIdSet:new Set(i),adoptedRecordIdSet:new Set(a)}}function FU(e,t,n){if(!n)return;let r=(t,n,r,i)=>{Object.values(t.getOutputFields()).forEach(a=>{let o=i.fields[a.resolvedName];if(!o)throw Error(`Internal: Output field ${nS(a)} not found`);o.status===`queued`&&(o.status=`skipped`,o.resolved_by={ref:`system`,environment:e.environment,config_hash:t.getConfigHashKey(),input_hash:t.getInputHashKey(i)},o.value=null,o.reason={code:`InputError`,message:`Field ${nS(n)} is missing but required (${r.value?`the value is`:`it has status`}: '${r.value?r.value:r.status}').`,summary:`Missing input`})})};for(let n=0;n<e.orderedPipePayloads.length;n++){let i=e.orderedPipePayloads[n],a=e.orderedPipeInstances[n];if(!a){t.errors.push(oS.UnknownResolver({pipeId:i.pipe_id,index:n}));continue}Object.values(t.records).forEach(e=>{let{valid:t,failedPipeInputField:n,failedRecordField:i}=ql(a.getInputRequirement(),e);t===!1&&r(a,n,i,e)})}}function IU({inputHashKey:e,configHashKey:t,config:n,expandedValue:r}){return!!(n.queue?.triggers?.configHashMismatch&&n.queue.enabled&&r.resolved_by?.config_hash&&t&&r.resolved_by.config_hash!==t||n.queue?.triggers?.inputHashMismatch&&n.queue.enabled&&r.resolved_by?.input_hash&&e&&r.resolved_by.input_hash!==e)}function LU({status:e,config:t}){return t.queue?.enabled?t.queue.triggers?.status?.includes(e)??!1:!1}function RU({inputHashKey:e,configHashKey:t,expandedValue:n,config:r}){return IU({inputHashKey:e,configHashKey:t,expandedValue:n,config:r})||LU({status:n.status,config:r})}function zU({inputHashKey:e,configHashKey:t,expandedValue:n}){let r=!1;return n.resolved_by?.config_hash&&t&&n.resolved_by.config_hash!==t&&(n.resolved_by.config_hash=t,r=!0),n.resolved_by?.input_hash&&e&&n.resolved_by.input_hash!==e&&(n.resolved_by.input_hash=e,r=!0),{didAdopt:r}}function BU(e,t,n,r,i){let a=Object.entries(r.records),o=[],s=[];for(let c=0;c<a.length;c++){let l=a[c];if(!l)throw Error(`Required arr not present`);let[u,d]=l;for(let a of Object.values(n.getOutputFields())){let{resolvedName:l,type:u}=a,ee=Ql({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},u),te=$l({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},a.format),{resolvedInputValue:ne,isExpanded:re,expandedValue:f}=yR(t[c]?.[l]??null),ie=d.fields[l],ae=n.getConfigHashKey(),oe=n.getInputHashKey(d),se={type:ee,format:te,claimed_by:{ref:n.pipeId,config_hash:ae}};if(r.errors.length>0&&ne===null){let t=r.errors[0];if(!t)throw Error(`firstError undefined.`);d.fields[l]={...se,value:null,status:`failed`,reason:{summary:`Validation error`,...t},resolved_by:{ref:`system`,environment:e.environment,config_hash:null,input_hash:null},widgets:{}};continue}let ce=_R(ne);if(ce!==`unknown`&&ce!==ee){let t=i.queue?.triggers?.outputFieldTypeError&&i.queue.enabled;d.fields[l]={...se,value:t?null:ne,status:t?`queued`:`completed`,reason:null,resolved_by:t?{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe}:{environment:e.environment,ref:`input`,config_hash:null,input_hash:null},widgets:t?{}:f?.widgets||ie?.widgets||{},format:t?te:f?.format||te};continue}if(ne==null){let t=re&&i.queue?.enabled&&f.status===`pending`,n=re&&!t;if(re&&i.adopt?.enabled===!0&&(!i.adopt.statuses||i.adopt.statuses.includes(f.status))){let{didAdopt:e}=zU({inputHashKey:oe,configHashKey:ae,expandedValue:f});e&&s.push(d.id)}if(re&&f.status!==`pending`&&RU({inputHashKey:oe,configHashKey:ae,config:i,expandedValue:f})&&i.queue?.enabled)o.push(d.id),d.fields[l]={...se,value:null,status:`queued`,reason:null,resolved_by:{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe},widgets:{}};else if(n)d.fields[l]={...se,value:null,status:f.status,type:f.type||ee,reason:f.reason||null,resolved_by:f.resolved_by||null,widgets:f.widgets||{},format:f.format||te};else{let t=i.queue?.triggers?.status?.includes(`pending`)??!0,n=i.queue?.enabled&&t?`queued`:`pending`;n===`queued`&&o.push(d.id),d.fields[l]={...se,value:null,status:n,reason:null,resolved_by:n===`queued`?{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe}:null,widgets:{}}}continue}if(re){if(re&&i.adopt?.enabled===!0&&(!i.adopt.statuses||i.adopt.statuses.includes(f.status))){let{didAdopt:e}=zU({inputHashKey:oe,configHashKey:ae,expandedValue:f});e&&s.push(d.id)}RU({inputHashKey:oe,configHashKey:ae,expandedValue:f,config:i})&&r.errors.length===0?(o.push(d.id),d.fields[l]={...se,value:null,status:`queued`,reason:null,resolved_by:{environment:e.environment,ref:`system`,config_hash:null,input_hash:null},widgets:{}}):d.fields[l]={...se,value:ne,status:`completed`,type:f.type||ee,reason:f.reason||null,resolved_by:f.resolved_by||{ref:`input`,config_hash:null,input_hash:null,environment:null},widgets:f.widgets||ie?.widgets||{},format:f.format||te}}else try{let e=AU(ne,te);d.fields[l]={...se,value:e,status:`completed`,reason:null,resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},widgets:ie?.widgets||{}}}catch{let t=i.queue?.enabled?`queued`:`failed`;t===`queued`&&o.push(d.id),d.fields[l]={...se,value:ne,status:t,reason:{code:`InvalidFormat`,message:`Field is of invalid format. Expected: ${a.format}`,summary:`Invalid Format`},resolved_by:{ref:`system`,environment:e.environment,config_hash:ae,input_hash:oe},widgets:{}}}}}return{queuedRecordIds:o,adoptedRecordIds:s}}function VU(e,t){Object.values(t.records).forEach(n=>{Object.entries(n.fields).forEach(([n,r])=>{let i=e.resolvedFieldNames[n]||n;if(r.status===`completed`){let e=xR(i,r.value,r);r.widgets=jt(Nt(r.widgets),e)}t.errors.length>0&&(r.status===`pending`||r.status===`queued`)&&(r.status=`failed`)})})}function HU(e,t){let{expandAllStatuses:n=!1,expandStatuses:r=[]}=t||{},i={};for(let[t,a]of Object.entries(e))(r.includes(a.status)||n)&&t!==`id`?i[t]={...a,widgets:Nt(a.widgets)}:i[t]=a.value;return i}function UU(e,t={}){return Object.values(e).map(e=>HU(e.fields,t))}function WU(e,t={}){return e.map(e=>HU(e.fields,t))}function GU(e,t={}){return HU(e.fields,t)}function KU(e,t){return e.map(e=>{let n={};return Object.entries(e).forEach(([e,r])=>{let{isExpanded:i,expandedValue:a,resolvedInputValue:o}=yR(r);i===!0&&a.status!=null&&t.unexpandStatuses.includes(a.status)?n[e]=o:n[e]=r}),n})}function qU(e){let t=e.trim().toLowerCase();if(!t)return null;if(t.includes(`://`))try{t=new URL(t).host}catch{return null}return t=t.replace(/\/.*$/,``).replace(/^www\./,``),/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/.test(t)?t:null}function JU(e){let t=qU(e);if(!t)return[];let n=[t,`www.${t}`],r=[...n];for(let e of n)for(let t of[`http://`,`https://`])r.push(`${t}${e}`),r.push(`${t}${e}/`);return r}function YU(e){return e?qU(e):null}const XU={REQUIRED_FIELD_MISSING:`caller_data`,INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST:`caller_data`,STRING_TOO_LONG:`caller_data`,MALFORMED_ID:`caller_data`,MALFORMED_QUERY:`caller_data`,INVALID_FIELD:`caller_data`,INVALID_TYPE:`caller_data`,INVALID_QUERY_FILTER_OPERATOR:`caller_data`,INVALID_EMAIL_ADDRESS:`caller_data`,FIELD_INTEGRITY_EXCEPTION:`caller_data`,DUPLICATE_VALUE:`caller_data`,JSON_PARSER_ERROR:`caller_data`,NOT_FOUND:`caller_data`,ENTITY_IS_DELETED:`caller_data`,INVALID_QUERY_LOCATOR:`caller_data`,FIELD_CUSTOM_VALIDATION_EXCEPTION:`org_policy`,DUPLICATES_DETECTED:`org_policy`,CANNOT_UPDATE_CONVERTED_LEAD:`org_policy`,INSUFFICIENT_ACCESS_OR_READONLY:`org_policy`,INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY:`org_policy`,CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY:`org_defect`,CANNOT_EXECUTE_FLOW_TRIGGER:`org_defect`,APEX_ERROR:`org_defect`,UNABLE_TO_LOCK_ROW:`transient`,QUERY_TIMEOUT:`transient`,SERVER_UNAVAILABLE:`transient`,REQUEST_RUNNING_TOO_LONG:`transient`,REQUEST_LIMIT_EXCEEDED:`quota`,INVALID_SESSION_ID:`auth`,INVALID_AUTH_HEADER:`auth`,OAUTH_APP_BLOCKED:`auth`,API_DISABLED_FOR_ORG:`auth`,INSUFFICIENT_SCOPE:`auth`};function ZU(e){return XU[e]??`org_policy`}function QU(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.errorCode==`string`):[]}function $U(e){let t=e.find(e=>e.errorCode===`DUPLICATES_DETECTED`);if(!t)return null;let n=new Set,r=e=>{if(Array.isArray(e)){for(let t of e)r(t);return}if(typeof e!=`object`||!e)return;let t=e,i=t.record;i&&typeof i.Id==`string`&&n.add(i.Id);for(let e of[`duplicateResult`,`duplicateResults`,`matchResults`,`matchRecords`])e in t&&r(t[e])};return r(t),{message:t.message,matchedRecordIds:[...n]}}const eW={operators:[`eq`,`neq`,`contains`],encoding:`quoted`,columnType:`string`},tW={operators:[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`],encoding:`bare`,columnType:`number`},nW={operators:[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`],encoding:`date`,columnType:`string`},rW={string:eW,email:eW,phone:eW,url:eW,picklist:{...eW},combobox:{...eW},id:{operators:[`eq`,`neq`],encoding:`quoted`,columnType:`string`},reference:{operators:[`eq`,`neq`],encoding:`quoted`,columnType:`string`},int:tW,double:tW,currency:tW,percent:tW,date:nW,datetime:nW,time:nW,boolean:{operators:[`eq`],encoding:`boolean`,columnType:`boolean`},multipicklist:{operators:[`eq`,`contains`],encoding:`multipicklist`,columnType:`string`},textarea:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`long text fields are not filterable in Salesforce — filter on a different field`},address:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`address compound fields are not filterable — filter the component fields instead (e.g. BillingCity)`},location:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`geolocation compound fields are not filterable — filter the component fields instead`},encryptedstring:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`Shield-encrypted fields cannot be filtered or sorted in Salesforce`},base64:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`binary fields cannot be filtered`}};function iW(e){return rW[e]??eW}function aW(){let e=[];for(let[t,n]of Object.entries(rW))e.push(n.filterRejection?`- ${t}: not filterable (${n.filterRejection})`:`- ${t}: ${n.operators.join(`, `)}`);return e.join(`
135
- `)}function oW({instanceUrl:e,objectApiName:t,recordId:n}){let r;try{r=new URL(e).host}catch{r=e.replace(/^https?:\/\//,``).replace(/\/.*$/,``)}return`https://${r.endsWith(`.my.salesforce.com`)?r.replace(/\.my\.salesforce\.com$/,`.lightning.force.com`):r}/lightning/r/${t}/${n}/view`}const sW=/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)*$/,cW=/^[a-zA-Z0-9]{15}([a-zA-Z0-9]{3})?$/;function lW(e){return sW.test(e)}function uW(e){return cW.test(e)}function dW(e){if(!lW(e))throw Error(`'${e}' is not a valid Salesforce field reference. Use the field's API name (letters, digits, underscores; dots only for parent traversal like Account.Name).`);return e}function fW(e){return e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function pW(e){return`'${fW(e)}'`}function mW(e){return fW(e).replace(/([%_])/g,`\\$1`)}function hW(e){if(e.length===0)throw Error(`IN () with an empty list is invalid SOQL`);return`(${e.map(pW).join(`, `)})`}const gW=new Set([`YESTERDAY`,`TODAY`,`TOMORROW`,`THIS_WEEK`,`LAST_WEEK`,`NEXT_WEEK`,`THIS_MONTH`,`LAST_MONTH`,`NEXT_MONTH`,`THIS_QUARTER`,`LAST_QUARTER`,`NEXT_QUARTER`,`THIS_YEAR`,`LAST_YEAR`,`NEXT_YEAR`,`THIS_FISCAL_QUARTER`,`LAST_FISCAL_QUARTER`,`NEXT_FISCAL_QUARTER`,`THIS_FISCAL_YEAR`,`LAST_FISCAL_YEAR`,`NEXT_FISCAL_YEAR`]),_W=/^(LAST|NEXT)_N_(DAYS|WEEKS|MONTHS|QUARTERS|YEARS|FISCAL_QUARTERS|FISCAL_YEARS):\d{1,4}$/;function vW(e){let t=e.trim().toUpperCase();return gW.has(t)||_W.test(t)}const yW=/^\d{4}-\d{2}-\d{2}$/,bW=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})$/;function xW(e){let t=e.trim();if(vW(t))return t.toUpperCase();if(yW.test(t)||bW.test(t))return t;throw Error(`'${e}' is not a valid Salesforce date value. Use ISO format (2026-01-31 or 2026-01-31T00:00:00Z) or a SOQL date literal like LAST_N_DAYS:30.`)}function SW(e,t){let n=Number(e);if(!Number.isFinite(n))throw Error(`'${e}' is not a valid number`);if(t){if(!/^[A-Z]{3}$/.test(t))throw Error(`'${t}' is not a valid ISO currency code`);return`${t}${n}`}return String(n)}function CW(e){if(typeof e==`boolean`)return String(e);let t=e.trim().toLowerCase();if(t===`true`||t===`false`)return t;throw Error(`'${e}' is not a valid boolean (use true or false)`)}function wW(e){if(!uW(e))throw Error(`'${e}' is not a valid Salesforce record id cursor`);return`Id > ${pW(e)}`}const TW=[`people:profiles:icypeas@1`,`companies:profiles:icypeas@1`,`people:profiles:clado@1`,`people:profiles:clado@2`,`people:employees:leadmagic@1`,`companies:profiles:exa@1`,`people:profiles:exa@1`,`companies:profiles:crustdata@1`,`people:profiles:crustdata@1`],EW=r.enum(TW);function DW(e){let t=!0,n=e=>{if(t!==!1&&typeof e==`object`&&e){Array.isArray(e)&&e.length>0&&(t=!1);for(let r of Object.values(e))typeof r!=`object`&&r!=null&&r!==``&&(t=!1),typeof r==`object`&&r&&n(r)}};return n(e),t}function OW(e,t){let n={name:e,config:t};return Tl.hashObject(n)}var kW=class{validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}catalogOutput(e){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:e.type,format:e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}getHashKey(){return OW(this.searchId,this.payload)}};function AW(e){return e.split(`@`)[0]}function jW(e){return`/docs/search-catalog/${AW(e)}/${e.split(`@`)[1]}`}const MW=`companies:profiles:crustdata@1`,NW=h(`company_name`),PW=h(`company_website_url`),FW=h(`company_description`),IW=h(`company_profile_url`),LW=h(`crustdata_company_match`),RW=r.object({search_id:r.literal(MW),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,path:`config.limit`,max:1e3,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),cursor:sl({sectionKey:`general`,path:`config.cursor`,groupPath:`config.general`,inputType:`text`,description:``,label:`Continue previous search from cursor`}).nullable(),output_fields:P(r.object({[NW.name]:A({fieldName:NW.name}),[PW.name]:A({fieldName:NW.name}),[FW.name]:A({fieldName:FW.name}),[IW.name]:A({fieldName:IW.name}),[LW.name]:A({fieldName:LW.name})})),filters:r.object({hq_locations:dl({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default([]),crunchbase_categories:dl({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default([]),crunchbase_investors:dl({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default([]),tracxn_investors:dl({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,required:!1,groupPath:`config.filters.investors`,disableSearch:!1,optionsDef:m(`company.tracxn_investors.crustdata`)}).default([]),company_types:j({sectionKey:`config.filters`,path:`config.filters.company_types`,options:p(`crustdata.company_types`),label:`Company types`,description:``,required:!1,disableSearch:!0,groupPath:`config.filters.categories`}).default([]),linkedin_industries:dl({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.industry`}).default([]),markets:dl({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),label:`Markets`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.industry`}).default([]),linkedin_categories:dl({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`Company types`,description:``,required:!1,disableSearch:!0,groupPath:`config.filters.categories`}).default([]),headcount:j({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.company_size`}).default([]),headcount_growth_last_6m_in_percent:j({path:`config.filters.headcount_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:rl({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:j({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,disableSearch:!0,required:!1,options:p(`crustdata.funding_rounds`),description:``,groupPath:`config.filters.financials`}).default([]),last_funding_amount:rl({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:j({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_last_6m_in_percent:j({path:`config.filters.follower_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:O({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,description:``,groupPath:`config.filters.keywords`}),competitor_websites:O({path:`config.filters.competitor_websites`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domains`,description:`Ex. 'google.com'`,groupPath:`config.filters.competitors`})}).check(e=>{DW(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),zW={default:{input:[{fields:[]}]}},BW=class extends kW{searchId=MW;schema=RW;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[NW.name]:this.catalogOutput(NW),[PW.name]:this.catalogOutput(PW),[FW.name]:this.catalogOutput(FW),[IW.name]:this.catalogOutput(IW),[LW.name]:this.catalogOutput(LW)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return zW}},VW=RW,HW={searchId:MW,billableOperation:`companies-profiles-crustdata`,baseSearch:AW(`companies:profiles:crustdata@1`),label:`Company search`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:jW(MW),cost:{mode:`per_page`,creditsPerPage:2},provider:`crustdata`,defaultPayload:{search_id:MW,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:[],headcount_growth_last_6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:[],linkedin_industries:[],linkedin_categories:[],crunchbase_categories:[],markets:[],revenue_in_usd:{from:null,to:null},crunchbase_investors:[],tracxn_investors:[],follower_growth_last_6m_in_percent:[],headcount:[],hq_locations:[],number_of_followers:[],profile_summary_keywords:[],competitor_websites:[]}}}},UW=`companies:profiles:exa@1`,WW=h(`company_name`),GW=h(`company_website_url`),KW=h(`company_description`),qW=h(`company_industry`),JW=h(`headcount`),YW=h(`exa_match_evaluation`),XW=r.object({search_id:r.literal(UW),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,path:`config.limit`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(10),output_fields:P(r.object({[WW.name]:A({fieldName:WW.name}),[GW.name]:A({fieldName:WW.name}),[KW.name]:A({fieldName:KW.name}),[qW.name]:A({fieldName:qW.name}),[JW.name]:A({fieldName:JW.name}),[YW.name]:A({fieldName:YW.name})})),filters:r.object({query:cl({sectionKey:`config.filters`,path:`config.filters.query`,placeholder:`e.g. Top AI research labs focusing on large language models`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),ZW={default:{input:[{fields:[]}]}},QW=class extends kW{searchId=UW;schema=XW;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[WW.name]:this.catalogOutput(WW),[GW.name]:this.catalogOutput(GW),[KW.name]:this.catalogOutput(KW),[qW.name]:this.catalogOutput(qW),[JW.name]:this.catalogOutput(JW),[YW.name]:this.catalogOutput(YW)}}getConnectionsRequirements(){return[{provider:`exa`,rateLimitOperation:`exa_websets`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return ZW}},$W=XW,eG={searchId:UW,billableOperation:`companies-profiles-exa`,baseSearch:AW(`companies:profiles:exa@1`),label:`Company finder (websets)`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Semantic AI search to find company profiles. This search can take several minutes.`,tags:[U.COMPANY_PROFILES],docPath:jW(UW),cost:{mode:`per_result`,creditsPerResult:2},provider:`exa`,defaultPayload:{search_id:UW,connector:null,config:{limit:10,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_industry:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},headcount:{enabled:!0,alias:``},exa_match_evaluation:{enabled:!1,alias:``}},filters:{query:``}}}},tG=`companies:profiles:icypeas@1`,nG=h(`company_industry`),rG=h(`company_name`),iG=h(`company_description`),aG=h(`company_website_url`),oG=h(`headcount`),sG=h(`company_region`),cG=h(`company_profile_url`),lG=h(`icypeas_company_match`),uG=r.object({search_id:r.literal(tG),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,max:5e4,min:1,path:`config.limit`,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),output_fields:P(r.object({company_name:A({fieldName:rG.name}),company_industry:A({fieldName:nG.name}),company_description:A({fieldName:iG.name}),company_website_url:A({fieldName:aG.name}),headcount:A({fieldName:oG.name}),company_region:A({fieldName:sG.name}),company_profile_url:A({fieldName:cG.name}),icypeas_company_match:A({fieldName:lG.name})})),filters:r.object({name:k({path:`config.filters.name`,sectionKey:`config.filters`,includeLabel:`Company names to include`,excludeLabel:`Company names to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:100}).optional(),type:tl({path:`config.filters.type`,sectionKey:`config.filters`,label:``,description:``,placeholder:``,includeLabel:`Company types to include`,excludeLabel:`Company types to exclude`,optionsDef:{type:`static`,options:[{value:`Privately Held`,label:`Privately Held`},{value:`Public Company`,label:`Public Company`},{value:`Sole Proprietorship`,label:`Sole Proprietorship`},{value:`Self-Employed`,label:`Self-Employed`},{value:`Partnership`,label:`Partnership`},{value:`Nonprofit`,label:`Nonprofit`},{value:`Educational Institution`,label:`Educational Institution`},{value:`Government Agency`,label:`Government Agency`}]},groupPath:`config.filters.company_information`}).optional(),industry:tl({path:`config.filters.industry`,sectionKey:`config.filters`,optionsDef:ze(`linkedin.industries`),includeLabel:`Industries to include`,excludeLabel:`Industries to exclude`,description:``,placeholder:``,groupPath:`config.filters.industry`,maxItems:50}).optional(),location:k({path:`config.filters.location`,sectionKey:`config.filters`,includeLabel:`Locations to include`,excludeLabel:`Locations to exclude`,description:``,placeholder:`US, FR, New York`,groupPath:`config.filters.geografic`,maxItems:20}).optional(),headcount:rl({path:`config.filters.headcount`,sectionKey:`config.filters`,legend:`1-1M`,label:`Headcount`,description:``,min:1,max:1e6,unit:`employees`,groupPath:`config.filters.company_size`}).optional(),urn:k({path:`config.filters.urn`,sectionKey:`config.filters`,label:``,description:``,groupPath:`config.filters.linkedin`,excludeLabel:`URNs to exclude`,includeLabel:`URNs to include`,maxItems:200}).optional(),lid:k({path:`config.filters.lid`,sectionKey:`config.filters`,label:``,description:``,groupPath:`config.filters.linkedin`,includeLabel:`LinkedIn IDs to include`,excludeLabel:`LinkedIn IDs to exclude`,maxItems:200}).optional()}).check(e=>{DW(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),dG={default:{input:[{fields:[{outputField:`company_profile_url`}]}]}},fG=class extends kW{searchId=tG;schema=uG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[rG.name]:this.catalogOutput(rG),[nG.name]:this.catalogOutput(nG),[cG.name]:this.catalogOutput(cG),[aG.name]:this.catalogOutput(aG),[iG.name]:this.catalogOutput(iG),[oG.name]:this.catalogOutput(oG),[sG.name]:this.catalogOutput(sG),[lG.name]:this.catalogOutput(lG)}}getConnectionsRequirements(){return[{provider:`icypeas`,rateLimitOperation:`icypeas_company_database`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return dG}},pG=uG,mG={searchId:tG,billableOperation:`companies-profiles-icypeas`,baseSearch:AW(`companies:profiles:icypeas@1`),label:`Find company profiles`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search a filter-based, general-purpose company database.`,tags:[U.COMPANY_PROFILES],docPath:jW(tG),cost:{mode:`per_result`,creditsPerResult:.4},provider:`icypeas`,defaultPayload:{search_id:tG,connector:null,config:{limit:100,output_fields:{company_name:{alias:``,enabled:!0},icypeas_company_match:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0},company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0}},filters:{name:{include:[],exclude:[]},type:{include:[],exclude:[]},industry:{include:[],exclude:[]},location:{include:[],exclude:[]},headcount:{},urn:{include:[],exclude:[]},lid:{include:[],exclude:[]}}}}},hG=`people:profiles:clado@1`,gG=h(`name`),_G=h(`job_title`),vG=h(`company_name`),yG=h(`company_profile_url`),bG=h(`profile_url`),xG=h(`clado_person_match`),SG=r.object({search_id:r.literal(hG),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,path:`config.limit`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(20),output_fields:P(r.object({[gG.name]:A({fieldName:gG.name}),[_G.name]:A({fieldName:_G.name}),[yG.name]:A({fieldName:yG.name}),[vG.name]:A({fieldName:vG.name}),[bG.name]:A({fieldName:bG.name}),[xG.name]:A({fieldName:xG.name})})),filters:r.object({query:cl({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),CG={default:{input:[{fields:[{outputField:`profile_url`}]}]}},wG=class extends kW{searchId=hG;schema=SG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[gG.name]:this.catalogOutput(gG),[_G.name]:this.catalogOutput(_G),[vG.name]:this.catalogOutput(vG),[bG.name]:this.catalogOutput(bG),[yG.name]:this.catalogOutput(yG),[xG.name]:this.catalogOutput(xG)}}getConnectionsRequirements(){return[{provider:`clado`,rateLimitOperation:`clado_search_people`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return CG}},TG=SG,EG={searchId:hG,billableOperation:`people-profiles-clado`,baseSearch:xr(`people:profiles:clado@1`),label:`Find people profiles with Clado`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:clado@2`},description:`Search through millions of LinkedIn profiles using natural language queries. This endpoint provides fast searching with AI-powered relevance matching.`,tags:[U.PEOPLE_PROFILES],docPath:`/resources/search-catalog/people:profiles:clado/1`,cost:{mode:`per_search`,creditsPerSearch:3},provider:`clado`,defaultPayload:{search_id:hG,connector:null,config:{limit:20,output_fields:{company_name:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},clado_person_match:{enabled:!0,alias:``}},filters:{query:``}}}},DG=`people:profiles:clado@2`,OG=h(`name`),kG=h(`job_title`),AG=h(`company_name`),jG=h(`company_profile_url`),MG=h(`profile_url`),NG=h(`clado_person_match_v2`),PG=r.object({search_id:r.literal(DG),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,path:`config.limit`,max:1e4,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),search_id:sl({sectionKey:`general`,path:`config.search_id`,inputType:`text`,groupPath:`config.continue_existing_search`,label:`Search id`,description:`The id of the search you want to continue`}).nullable().default(``),offset:N({sectionKey:`general`,path:`config.offset`,groupPath:`config.continue_existing_search`,label:`Offset`,max:1e5,min:1,description:`To continue the previous search, provide both the search_id and the last offset.`}).nullish(),output_fields:P(r.object({[OG.name]:A({fieldName:OG.name}),[kG.name]:A({fieldName:kG.name}),[jG.name]:A({fieldName:jG.name}),[AG.name]:A({fieldName:AG.name}),[MG.name]:A({fieldName:MG.name}),[NG.name]:A({fieldName:NG.name})})),filters:r.object({query:cl({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:0,maxLength:2e4}).default(``)}).optional()})}).check(e=>{let t=!!e.value.config.filters?.query,n=!!e.value.config.search_id&&!!e.value.config.offset;!t&&!n&&e.issues.push({code:`custom`,input:``,message:`Must define either 'query' or both 'searchId' AND 'offset'.`,path:[`config.filters.query`]})}),FG={default:{input:[{fields:[{outputField:`profile_url`}]}]}},IG=class extends kW{searchId=DG;schema=PG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[OG.name]:this.catalogOutput(OG),[kG.name]:this.catalogOutput(kG),[AG.name]:this.catalogOutput(AG),[MG.name]:this.catalogOutput(MG),[jG.name]:this.catalogOutput(jG),[NG.name]:this.catalogOutput(NG)}}getConnectionsRequirements(){return[{provider:`clado`,rateLimitOperation:`clado_search_people`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return FG}},LG=PG,RG={searchId:DG,billableOperation:`people-profiles-clado`,baseSearch:xr(`people:profiles:clado@2`),label:`Find people profiles`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:clado@2`},description:`Search a growing dataset with semantic queries.`,tags:[],docPath:`/resources/search-catalog/people:profiles:clado/1`,cost:{mode:`per_page`,creditsPerPage:3},provider:`clado`,defaultPayload:{search_id:DG,connector:null,config:{limit:100,search_id:``,offset:void 0,output_fields:{company_name:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},clado_person_match_v2:{enabled:!0,alias:``}},filters:{query:``}}}},zG=`people:employees:leadmagic@1`,BG=h(`name`),VG=h(`job_title`),HG=h(`company_website_url`),UG=h(`company_name`),WG=r.object({search_id:r.literal(zG),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,max:500,min:1,path:`config.limit`,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(50),output_fields:P(r.object({[BG.name]:A({fieldName:BG.name}),[UG.name]:A({fieldName:UG.name}),[HG.name]:A({fieldName:HG.name}),[VG.name]:A({fieldName:VG.name})})),filters:r.object({company_website_url:sl({path:`config.filters.company_website_url`,sectionKey:`config.filters`,groupPath:`config.filters.website`,inputType:`text`,description:`URL of the employer company.`,label:`Company Website URL`}).nullable()})})}),GG={default:{input:[{fields:[{outputField:HG.name}]}]}},KG=class extends kW{searchId=zG;schema=WG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[BG.name]:this.catalogOutput(BG),[VG.name]:this.catalogOutput(VG),[HG.name]:this.catalogOutput(HG),[UG.name]:this.catalogOutput(UG)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitOperation:`leadmagic_employee_finder`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return GG}},qG=WG,JG={searchId:zG,billableOperation:`people-employees-leadmagic`,baseSearch:AW(`people:employees:leadmagic@1`),label:`Employee finder`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search for employees of a company.`,tags:[U.PEOPLE_PROFILES],docPath:jW(zG),cost:{mode:`per_result`,creditsPerResult:.05},provider:`leadmagic`,defaultPayload:{search_id:zG,connector:null,config:{limit:50,output_fields:{name:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0}},filters:{company_website_url:``}}}},YG=`people:profiles:crustdata@1`,XG=h(`name`),ZG=h(`company_website_url`),QG=h(`profile_url`),$G=h(`job_title`),eK=h(`crustdata_person_match`),tK=r.object({search_id:r.literal(YG),connector:Za.nullable().optional(),config:r.object({limit:N({sectionKey:`general`,path:`config.limit`,max:1e3,min:1,groupPath:`config.general`,description:``,label:`Limit number of results`}).default(100),cursor:sl({sectionKey:`general`,path:`config.cursor`,groupPath:`config.general`,inputType:`text`,description:``,label:`Continue previous search from cursor`}).nullable(),output_fields:P(r.object({[XG.name]:A({fieldName:XG.name}),[ZG.name]:A({fieldName:ZG.name}),[QG.name]:A({fieldName:QG.name}),[$G.name]:A({fieldName:$G.name}),[eK.name]:A({fieldName:eK.name})})),filters:r.object({locations:dl({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Locations`,disableSearch:!1,required:!1,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default([]),profile_headline_keywords:$c({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`}),profile_summary_keywords:$c({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`}),profile_languages:j({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile languages`,disableSearch:!1,required:!1,options:p(`crustdata.person_profile_languages`),groupPath:`config.filters.profile`}).default([]),languages:j({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken languages`,disableSearch:!1,required:!1,options:p(`crustdata.person_profile_languages`),groupPath:`config.filters.profile`}).default([]),skills:dl({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,placeholder:`.NET, PMO, ...`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default([]),years_of_experience:j({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:tl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),current_employers:O({path:`config.filters.current_employers`,sectionKey:`config.filters`,label:`Current employers`,description:``,maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`person.current_employer_names.crustdata`)}),current_employers_website_urls:O({path:`config.filters.current_employers_website_urls`,sectionKey:`config.filters`,label:`Current employer domains`,description:``,maxItems:200,groupPath:`config.filters.experience`}),current_job_titles:O({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Current job titles`,description:``,order:1,groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}),current_employers_linkedin_industries:dl({path:`config.filters.current_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Current employers industries`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`)}).default([]),years_at_current_company:j({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employers_website_urls:O({path:`config.filters.previous_employers_website_urls`,sectionKey:`config.filters`,label:`Previous employer domains`,description:``,maxItems:200,groupPath:`config.filters.experience`}),previous_seniority_levels:tl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employers:O({path:`config.filters.previous_employers`,sectionKey:`config.filters`,label:`Previous employer name`,description:``,maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`person.past_employer_names.crustdata`)}),previous_job_titles:O({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Current job titles`,description:``,groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}),previous_employers_linkedin_industries:dl({path:`config.filters.previous_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Previous employer industry`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`)}).default([]),certifications:O({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,description:``}),honors:O({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,description:``}),recently_changed_jobs:ol({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:dl({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default([]),degree_names:dl({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default([]),school_names:dl({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default([]),current_school_names:dl({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default([]),extracurricular_activities:O({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)})}).check(e=>{DW(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),nK={default:{input:[{fields:[]}]}},rK=class extends kW{searchId=YG;schema=tK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[XG.name]:this.catalogOutput(XG),[ZG.name]:this.catalogOutput(ZG),[QG.name]:this.catalogOutput(QG),[$G.name]:this.catalogOutput($G),[eK.name]:this.catalogOutput(eK)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return nK}},iK=tK,aK={searchId:YG,billableOperation:`people-profiles-crustdata`,baseSearch:AW(`people:profiles:crustdata@1`),label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:jW(YG),cost:{mode:`per_page`,creditsPerPage:5},provider:`crustdata`,defaultPayload:{search_id:YG,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:[],languages:[],profile_summary_keywords:[],previous_job_titles:[],current_employers:[],current_school_names:[],years_at_current_company:[],certifications:[],honors:[],current_employers_linkedin_industries:[],current_employers_website_urls:[],previous_employers_website_urls:[],current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:[],locations:[],profile_languages:[],recently_changed_jobs:null,extracurricular_activities:[],school_names:[],fields_of_study:[],previous_employers:[],current_job_titles:[],skills:[],years_of_experience:[],previous_employers_linkedin_industries:[]}}}},oK=`people:profiles:exa@1`,sK=h(`name`),cK=h(`profile_url`),lK=h(`job_title`),uK=h(`company_name`),dK=h(`company_region`),fK=h(`exa_match_evaluation`),pK=r.object({search_id:r.literal(oK),connector:Za.nullable().optional(),config:r.object({limit:N({path:`config.limit`,sectionKey:`general`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(10),output_fields:P(r.object({[sK.name]:A({fieldName:sK.name}),[cK.name]:A({fieldName:cK.name}),[lK.name]:A({fieldName:lK.name}),[uK.name]:A({fieldName:uK.name}),[dK.name]:A({fieldName:dK.name}),[fK.name]:A({fieldName:fK.name})})),filters:r.object({query:cl({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),mK={default:{input:[{fields:[]}]}},hK=class extends kW{searchId=oK;schema=pK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[sK.name]:this.catalogOutput(sK),[cK.name]:this.catalogOutput(cK),[lK.name]:this.catalogOutput(lK),[uK.name]:this.catalogOutput(uK),[dK.name]:this.catalogOutput(dK),[fK.name]:this.catalogOutput(fK)}}getConnectionsRequirements(){return[{provider:`exa`,rateLimitOperation:`exa_websets`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return mK}},gK=pK,_K={searchId:oK,billableOperation:`people-profiles-exa`,baseSearch:AW(`people:profiles:exa@1`),label:`People finder (websets)`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Semantic AI search for people profiles. This search can take several minutes.`,tags:[U.COMPANY_PROFILES],docPath:jW(oK),cost:{mode:`per_result`,creditsPerResult:2},provider:`exa`,defaultPayload:{search_id:oK,connector:null,config:{limit:10,output_fields:{name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_region:{enabled:!0,alias:``},exa_match_evaluation:{enabled:!1,alias:``}},filters:{query:``}}}},vK=`people:profiles:icypeas@1`,yK=h(`name`),bK=h(`job_title`),xK=h(`profile_headline`),SK=h(`company_website_url`),CK=h(`company_profile_url`),wK=h(`profile_url`),TK=h(`icypeas_person_match`),EK=r.object({search_id:r.literal(vK),connector:Za.nullable().optional(),config:r.object({limit:N({path:`config.limit`,sectionKey:`general`,max:5e4,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),output_fields:P(r.object({[yK.name]:A({fieldName:yK.name}),[bK.name]:A({fieldName:bK.name}),[xK.name]:A({fieldName:xK.name}),[SK.name]:A({fieldName:SK.name}),[CK.name]:A({fieldName:CK.name}),[wK.name]:A({fieldName:wK.name}),[TK.name]:A({fieldName:TK.name})})),filters:r.object({firstname:k({path:`config.filters.firstname`,sectionKey:`config.filters`,includeLabel:`First names to include`,excludeLabel:`First names to exclude`,description:``,placeholder:``,groupPath:`config.filters.personal_information`,maxItems:200}).optional(),lastname:k({path:`config.filters.lastname`,sectionKey:`config.filters`,includeLabel:`Last names to include`,excludeLabel:`Last names to exclude`,description:``,placeholder:``,groupPath:`config.filters.personal_information`,maxItems:200}).optional(),currentJobTitle:k({path:`config.filters.currentJobTitle`,sectionKey:`config.filters`,includeLabel:`Current job titles to include`,excludeLabel:`Current job titles to exclude`,description:``,placeholder:``,groupPath:`config.filters.job_information`,maxItems:200}).optional(),currentEmployersWebsiteUrls:k({groupPath:`config.filters.job_information`,path:`config.filters.currentEmployersWebsiteUrls`,sectionKey:`config.filters`,description:``,includeLabel:`Include current employer domains`,excludeLabel:`Exclude current employer domains`,maxItems:100}).optional(),pastEmployersWebsiteUrls:k({groupPath:`config.filters.job_information`,path:`config.filters.pastEmployersWebsiteUrls`,sectionKey:`config.filters`,description:``,includeLabel:`Past employers website URLs to include`,excludeLabel:`Past employers website URLs to exclude`,maxItems:100}).optional(),pastJobTitle:k({path:`config.filters.pastJobTitle`,sectionKey:`config.filters`,includeLabel:`Past job titles to include`,excludeLabel:`Past job titles to exclude`,description:``,placeholder:``,groupPath:`config.filters.job_information`,maxItems:200}).optional(),currentCompanyName:k({path:`config.filters.currentCompanyName`,sectionKey:`config.filters`,includeLabel:`Companies to include`,excludeLabel:`Companies to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:200}).optional(),pastCompanyName:k({path:`config.filters.pastCompanyName`,sectionKey:`config.filters`,includeLabel:`Past employers to include`,excludeLabel:`Past employers to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:200}).optional(),school:k({path:`config.filters.school`,sectionKey:`config.filters`,includeLabel:`Schools to include`,excludeLabel:`Schools to exclude`,label:``,description:``,placeholder:``,groupPath:`config.filters.education`,maxItems:200}).optional(),location:k({path:`config.filters.location`,sectionKey:`config.filters`,includeLabel:`Locations to include`,excludeLabel:`Locations to exclude`,description:`Filter by location`,placeholder:`e.g., US, FR, New York`,groupPath:`config.filters.geografic`,maxItems:200}).optional(),languages:k({path:`config.filters.languages`,sectionKey:`config.filters`,includeLabel:`Languages to include`,excludeLabel:`Languages to exclude`,description:`ex. EN, ES`,groupPath:`config.filters.languages`,maxItems:200}).optional(),skills:k({path:`config.filters.skills`,sectionKey:`config.filters`,includeLabel:`Skills to include`,excludeLabel:`Skills to exclude`,description:``,placeholder:``,groupPath:`config.filters.skills`,maxItems:200}).optional(),keyword:k({path:`config.filters.keyword`,sectionKey:`config.filters`,includeLabel:`Keywords to include`,excludeLabel:`Keywords to exclude`,description:``,placeholder:`CEO, Sales, Scrum`,groupPath:`config.filters.general_search`,maxItems:200}).optional()}).check(e=>{DW(e.value)&&e.issues.push({code:`custom`,message:`The filters object cannot be empty. You must set at least one filter.`,input:e.value})})})}),DK={default:{input:[{fields:[{outputField:`profile_url`}]}]}},OK=class extends kW{searchId=vK;schema=EK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[yK.name]:this.catalogOutput(yK),[bK.name]:this.catalogOutput(bK),[xK.name]:this.catalogOutput(xK),[SK.name]:this.catalogOutput(SK),[CK.name]:this.catalogOutput(CK),[wK.name]:this.catalogOutput(wK),[TK.name]:this.catalogOutput(TK)}}getConnectionsRequirements(){return[{provider:`icypeas`,rateLimitOperation:`icypeas_lead_database`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return DK}},kK=EK,AK={searchId:vK,billableOperation:`people-profiles-icypeas`,provider:`icypeas`,baseSearch:AW(vK),label:`Find people profiles`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search a filter-based, general-purpose lead database with people profiles.`,tags:[U.PEOPLE_PROFILES],docPath:jW(vK),cost:{mode:`per_result`,creditsPerResult:.4},defaultPayload:{search_id:vK,connector:null,config:{limit:100,output_fields:{company_profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_headline:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},icypeas_person_match:{enabled:!0,alias:``}},filters:{currentCompanyName:{include:[],exclude:[]},currentEmployersWebsiteUrls:{include:[],exclude:[]},pastEmployersWebsiteUrls:{include:[],exclude:[]},currentJobTitle:{include:[],exclude:[]},firstname:{include:[],exclude:[]},keyword:{include:[],exclude:[]},languages:{include:[],exclude:[]},lastname:{include:[],exclude:[]},location:{include:[],exclude:[]},pastCompanyName:{include:[],exclude:[]},pastJobTitle:{include:[],exclude:[]},school:{include:[],exclude:[]},skills:{include:[],exclude:[]}}}}},jK={"people:profiles:crustdata@1":rK,"companies:profiles:crustdata@1":BW,"companies:profiles:exa@1":QW,"people:profiles:exa@1":hK,"people:profiles:icypeas@1":OK,"companies:profiles:icypeas@1":fG,"people:employees:leadmagic@1":KG,"people:profiles:clado@1":wG,"people:profiles:clado@2":IG},MK={"people:profiles:crustdata@1":iK,"companies:profiles:crustdata@1":VW,"companies:profiles:exa@1":$W,"people:profiles:exa@1":gK,"people:profiles:icypeas@1":kK,"companies:profiles:icypeas@1":pG,"people:employees:leadmagic@1":qG,"people:profiles:clado@1":TG,"people:profiles:clado@2":LG},NK={"people:profiles:crustdata@1":aK,"companies:profiles:crustdata@1":HW,"companies:profiles:exa@1":eG,"people:profiles:exa@1":_K,"people:profiles:icypeas@1":AK,"companies:profiles:icypeas@1":mG,"people:employees:leadmagic@1":JG,"people:profiles:clado@1":EG,"people:profiles:clado@2":RG};function PK(e){return jK[e]}function FK(e){return MK[e]}function IK(e){return NK[e].defaultPayload}const LK=t.discriminatedUnion(`search_id`,Object.values(MK).map(e=>e)),RK=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`search_id`in e))return e;let t=IK(e.search_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},LK);function zK(e){return Object.keys(NK[e].defaultPayload.config.output_fields)}const BK=Oa,VK=t.object({value:ma,status:pa,type:da.optional(),format:ja.nullable().optional(),resolved_by:La.nullable().optional(),widgets:Da.optional()}),HK=t.record(t.string(),VK.nullable()),UK=t.object({search:t.object({ref:EW}),status:t.enum([`pending`,`processing`,`failed`,`completed`]),errors:t.array(BK),meta:t.object({providers:t.object({clado:t.object({pagination:t.object({search_id:t.string().optional(),offset:t.number().optional()})}).optional(),crustdata:t.object({pagination:t.object({cursor:t.string().nullable()})}).optional()}).optional()})}),WK=t.object({id:t.string(),status:t.enum([`completed`,`failed`,`pending`,`processing`]),results:t.array(HK),search_statuses:t.array(UK),organizationId:t.string()}).openapi(`SearchesResponseSchema`),GK=t.object({environment:t.enum([`production`,`sandbox`]).default(`production`),widgets:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1})}),KK=GK.extend({dedup:t.object({strategy:t.enum([`default`]).nullable()}).default({strategy:null})}),qK=t.object({config:KK.default({dedup:{strategy:`default`},environment:`production`,widgets:{enabled:!1}}),searches:t.array(RK)}).openapi(`SearchesRequestSchema`);function JK(e){let t=e.split(`@`)[1];if(!t)throw Error(`No search version found`);return Number(t)}function YK(){let e={};for(let t of Object.values(NK)){let{baseSearch:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=JK(e.searchId);return JK(t.searchId)-n})}),e}const XK=YK();function ZK(e){let t=[];for(let[n,r]of Object.entries(XK)){let i=r[0];if(!i)throw Error(`Found empty entry`);i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||i.categories.includes(e))&&t.push({...i,baseSearch:n,latestVersion:JK(i.searchId)})}return t}function QK(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={};for(let e of n){if(e.lifecycle&&e.lifecycle.deprecatedOn){i.Deprecated??=[],i.Deprecated.push(e.searchId);continue}a[e.provider]??=[],a[e.provider].push(e.searchId);for(let t of zK(e.searchId))r[t]??=[],r[t].push(e.searchId);for(let t of e.tags)i[t]??=[],i[t].push(e.searchId)}return{searchIdsByOutputField:r,searchIdsByTag:i,searchIdsByProvider:a,sortedTagEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),searchEntriesByBaseSearch:XK}}function $K(e){return NK[e]}function eq(e){let t=$K(e);return{[t.provider]:t.cost.mode===`per_result`?t.cost.creditsPerResult:t.cost.mode===`per_search`?t.cost.creditsPerSearch:t.cost.creditsPerPage}}function tq(e){return e.map(e=>({public_id:`sandbox-${e}`,provider:e,is_default:!0}))}function nq(e){return tq(YL(e).allowedUserConnectionProviders)}function rq(e){return tq([PL(e).provider])}function iq(e){return tq([$K(e).provider])}const aq=[{id:`people`,label:`People`,color:`#8B7DFF`,order:0},{id:`companies`,label:`Companies`,color:`#10B981`,order:1},{id:`data`,label:`Data`,color:`#F59E0B`,order:2},{id:`deprecated`,label:`Deprecated`,color:`#94A3B8`,order:3}],oq=new Map(aq.map(e=>[e.id,e]));function sq(e){return oq.get(e)}function cq(){return aq}const lq={"people:profiles:amplemarket@1":[{search_id:`people:profiles:amplemarket@1`,config:{page_number:1,limit:50,filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[`Berlin`],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}],"companies:profiles:amplemarket@1":[{search_id:`companies:profiles:amplemarket@1`,config:{page_number:1,limit:50,filters:{company_industries:{include:[],exclude:[]},company_names:{include:[`Microsoft`],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}],"people:profiles:crustdata@1":[{search_id:`people:profiles:crustdata@1`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin`,`Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},profile_languages:{include:[`English`],exclude:[]},languages:{include:[],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},years_of_experience:[`1 to 2 years`],current_seniority_levels:{include:[`Senior`],exclude:[]},current_employers:{include:[],exclude:[]},current_employers_website_urls:{include:[],exclude:[]},current_job_titles:{include:[`Software Engineer`],exclude:[]},current_employers_linkedin_industries:{include:[],exclude:[]},years_at_current_company:[`1 to 2 years`],previous_seniority_levels:{include:[],exclude:[]},previous_employers:{include:[],exclude:[]},previous_employers_website_urls:{include:[],exclude:[]},previous_employers_linkedin_industries:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},recently_changed_jobs:!1,fields_of_study:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},school_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},extracurricular_activities:{include:[],exclude:[]}}}}],"companies:profiles:crustdata@1":[{search_id:`companies:profiles:crustdata@1`,config:{cursor:``,limit:10,filters:{hq_locations:{include:[`San Francisco, CA`],exclude:[]},crunchbase_categories:{include:[`Artificial Intelligence`],exclude:[]},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},company_types:{include:[],exclude:[]},linkedin_industries:{include:[`Technology`],exclude:[]},markets:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},headcount:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],revenue_in_usd:{from:1e4,to:1e6},last_funding_type:{include:[],exclude:[]},last_funding_amount:{from:null,to:null},number_of_followers:[],follower_growth_l6m_in_percent:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[`google.com`],exclude:[]}}}}],"people:profiles:amplemarket@2":[{search_id:`people:profiles:amplemarket@2`,config:{page_number:1,limit:50,filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[`Berlin`],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}],"companies:profiles:amplemarket@2":[{search_id:`companies:profiles:amplemarket@2`,config:{page_number:1,limit:50,filters:{company_industries:{include:[],exclude:[]},company_names:{include:[`Microsoft`],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}],"people:profiles:crustdata@2":[{search_id:`people:profiles:crustdata@2`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin`,`Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},profile_languages:{include:[`English`],exclude:[]},languages:{include:[],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},years_of_experience:[`1 to 2 years`],current_seniority_levels:{include:[`Senior`],exclude:[]},current_employer_names:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},current_job_titles:{include:[`Software Engineer`],exclude:[]},current_employer_industries:{include:[],exclude:[]},years_at_current_company:[`1 to 2 years`],previous_seniority_levels:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},previous_employer_industries:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},recently_changed_jobs:!1,fields_of_study:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},school_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},extracurricular_activities:{include:[],exclude:[]},post_processing_exclude_company_profile_urls:[`https://www.linkedin.com/company/acme`],post_processing_exclude_company_names:[`Acme`]}}}],"companies:profiles:crustdata@2":[{search_id:`companies:profiles:crustdata@2`,config:{cursor:``,limit:10,filters:{hq_locations:{include:[`San Francisco, CA`],exclude:[]},crunchbase_categories:{include:[`Artificial Intelligence`],exclude:[]},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},company_types:{include:[],exclude:[]},linkedin_industries:{include:[`Technology`],exclude:[]},markets:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},headcount:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],revenue_in_usd:{from:1e4,to:1e6},last_funding_type:{include:[],exclude:[]},last_funding_amount:{from:null,to:null},number_of_followers:[],follower_growth_l6m_in_percent:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[`google.com`],exclude:[]}}}}],"people:profiles:crustdata@3":[{search_id:`people:profiles:crustdata@3`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin, Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},languages:{include:[`English`],exclude:[]},current_employment_job_titles:{include:[`Software Engineer`],exclude:[]},current_employment_job_functions:[`Engineering`],current_employment_seniority_levels:[`Senior`,`Director`],current_employer_headcount_brackets:[`51-200`],current_employment_tenure_brackets:[`1 to 2 years`],total_years_of_experience_brackets:[`3 to 5 years`]}}}],"posts:content:crustdata@1":[{search_id:`posts:content:crustdata@1`,config:{limit:10,filters:{keywords:[`LLM Evaluation`,`RAG`],keyword_operator:`OR`,date_posted:`past-month`,content_types:[`videos`],author_industries:[`Software Development`]}}}],"companies:entitysearch:parallel@1":[{search_id:`companies:entitysearch:parallel@1`,config:{objective:`AI startups in Europe that raised a Series A in 2024`,limit:100}}],"people:entitysearch:parallel@1":[{search_id:`people:entitysearch:parallel@1`,config:{objective:`Heads of Engineering at Series B fintech companies in the US`,limit:100}}],"people:eventguests:luma@1":[{search_id:`people:eventguests:luma@1`,connector:{strategy:`first`,connections:[]},config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},luma_id:{enabled:!0,alias:``},registered_at:{enabled:!0,alias:``},luma_event_guest_match:{enabled:!0,alias:``}},filters:{event_id:`evt-sandbox-1`,approval_status:`approved`}}}],"sheet:rows@1":[{search_id:`sheet:rows@1`,connector:{strategy:`first`,connections:[]},config:{sheet:`demo-leads`,limit:100,cursor:``,include_metadata:!1}}],"contacts:hubspot@1":[{search_id:`contacts:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[{property:`product_signup_date`}],filters:{logic:`and`,conditions:[{property:`value`,field_name:`lifecyclestage`,operator:`eq`,value:`customer`}]},lifecycle_stage:``,owner:``,created_within:`24h`,modified_within:``,limit:100,cursor:``}}],"companies:hubspot@1":[{search_id:`companies:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[],filters:null,domains:{include:[`acme.com`],exclude:[]},owner:``,created_within:`24h`,modified_within:``,limit:100,cursor:``}}],"deals:hubspot@1":[{search_id:`deals:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[],filters:{conditions:null,pipeline:``,deal_stage:``,status:`open`,owner:``,created_within:``,modified_within:``},limit:100,cursor:``}}],"owners:hubspot@1":[{search_id:`owners:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{email:``,include_archived:!1,owned_object_type:`companies`,min_owned_count:50,include_ownership_counts:!0,limit:500}}],"bucket:entries@1":[{search_id:`bucket:entries@1`,connector:{strategy:`first`,connections:[]},config:{bucket:`crm-contacts`,limit:100,cursor:``,include_metadata:!1}}],"contacts:salesforce@1":[{search_id:`contacts:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[{property:`Lead_Score__c`},{property:`Account.Industry`}],filters:{logic:`and`,conditions:[{property:`value`,field_name:`Title`,operator:`contains`,value:`engineer`}]},list_view:``,email_domains:{include:[`acme.com`],exclude:[]},has_email:!1,owner:``,created_within:`7d`,modified_within:``,limit:100,cursor:``}}],"leads:salesforce@1":[{search_id:`leads:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[],filters:null,list_view:``,lead_status:``,include_converted:!1,owner:``,created_within:`30d`,modified_within:``,limit:200,cursor:``}}],"accounts:salesforce@1":[{search_id:`accounts:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[{property:`AnnualRevenue`}],filters:null,list_view:``,domains:{include:[`acme.com`,`globex.com`],exclude:[]},industry:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``}}],"opportunities:salesforce@1":[{search_id:`opportunities:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[],filters:{logic:`and`,conditions:[{property:`value`,field_name:`CloseDate`,operator:`lte`,value:`2026-09-30`}]},list_view:``,status:`open`,stage:``,amount:{min:1e4,max:null},owner:``,created_within:``,modified_within:`30d`,limit:100,cursor:``}}],"users:salesforce@1":[{search_id:`users:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{owned_object:`accounts`,min_owned_count:10,include_ownership_counts:!0,include_inactive:!1,custom_properties:[],limit:100,cursor:``}}],"query:salesforce@1":[{search_id:`query:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{soql:`SELECT OwnerId, Owner.Name, COUNT(Id) cnt FROM Account GROUP BY OwnerId, Owner.Name HAVING COUNT(Id) > 10`,limit:100,page_number:1}}],"query:postgres@1":[{search_id:`query:postgres@1`,connector:{strategy:`first`,connections:[]},config:{query:`SELECT id, name, email FROM contacts ORDER BY id`,limit:100,page_number:1}}],"query:databricks@1":[{search_id:`query:databricks@1`,connector:{strategy:`first`,connections:[]},config:{query:`SELECT id, name, email FROM samples.tpch.customer ORDER BY id`,limit:100,page_number:1}}]};function uq(e,t,n){if(t==null)return{};try{let r=ea(e,n)?.getStaticWidgets?.(t),i=gR(n,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}var dq=class extends sS{constructor(e){super(e.map(e=>e.message).join(`, `)||`Unknown`),this.errors=e}};function fq(e){let t=[];for(let n of e){if(n instanceof kW){t.push(n);continue}let e=n.search_id,r=PK(e);if(!r)throw Error(`Unknown pipe: ${n.search_id}`);let i=new r(RK.parse(n));t.push(i)}return t}function pq(e){try{return fq(e.searches)}catch(e){throw e instanceof dq?e:new cS([oS.ValidationFailed({error:e})])}}const mq=/[\\^$.+()|[\]{}]/g,hq=new Map;function gq(e){let t=hq.get(e);if(t)return t;let n=``;for(let t=0;t<e.length;t++){let r=e[t];r===`*`?n+=`.*`:r===`?`?n+=`.`:n+=r.replace(mq,`\\$&`)}let r=RegExp(`^${n}$`);return hq.set(e,r),r}function _q(e,t){return gq(t).test(e)}function vq(e,t){if(!t||t.length===0)return!1;for(let n of t)if(_q(e,n))return!0;return!1}function yq(e,t){if(!t)return!0;let{includes:n,excludes:r}=t;return!(n&&n.length>0&&!vq(e,n)||r&&r.length>0&&vq(e,r))}function bq(e,t){return yq(e,t?.providers)}function xq(e,t){if(!t)return!0;if(!yq(e,t.pipes))return!1;if(t.providers){let n=$L(e);if(n.length===0)return!0;if(!n.some(e=>bq(e,t)))return!1}return!0}function Sq(e,t,n){return t?!(!yq(e,t.searches)||n!==void 0&&!bq(n,t)):!0}function Cq(e,t,n){return t?!(!yq(e,t.searchesMulti)||n!==void 0&&!bq(n,t)):!0}function wq(e,t){return t?e.filter(e=>xq(e.pipeId,t)):e.slice()}function Tq(e,t){return t?e.filter(e=>Sq(e.searchId,t,e.provider)):e.slice()}function Eq(e,t){return t?e.filter(e=>Cq(e.searchId,t,e.provider)):e.slice()}function Dq(e){return e.toLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean)}function Oq(e){return e?e.flatMap(Dq):[]}const kq={label:{prefix:100,exact:120},labelFirstWordBonus:40,keyword:{prefix:60,exact:70},tag:{prefix:40,exact:45},provider:{prefix:35,exact:40},id:{prefix:30,exact:35},description:{prefix:5,exact:6},exactLabelBonus:200},Aq=kq;function jq(e){let t=Dq(e.label);return{labelWords:t,keywordWords:Oq(e.keywords),tagWords:Oq(e.tags),providerWords:Oq(e.providers),idWords:Dq(e.id),descriptionWords:e.description?Dq(e.description):[],normalizedLabel:t.join(` `)}}function Mq(e,t,n){let r=0;for(let i of t){let t=i===e?n.exact:i.startsWith(e)?n.prefix:0;t>r&&(r=t)}return r}function Nq(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r],a=i===e?Aq.label.exact:i.startsWith(e)?Aq.label.prefix:0;a>0&&r===0&&(a+=Aq.labelFirstWordBonus),a>n&&(n=a)}return n}function Pq(e,t){let n=Dq(t);if(n.length===0)return 0;let r=0;for(let t of n){let n=Math.max(Nq(t,e.labelWords),Mq(t,e.keywordWords,Aq.keyword),Mq(t,e.tagWords,Aq.tag),Mq(t,e.providerWords,Aq.provider),Mq(t,e.idWords,Aq.id),Mq(t,e.descriptionWords,Aq.description));if(n===0)return 0;r+=n}return e.normalizedLabel===n.join(` `)&&(r+=Aq.exactLabelBonus),r}function Fq(e){return e.keywords}function Iq(e){let t=new Set(e.deprecatedProviders),n=Array.from(new Set([...e.managedProviders,...e.allowedUserConnectionProviders])).filter(e=>!t.has(e));return jq({label:e.label,id:e.pipeId,keywords:Fq(e),tags:e.tags,providers:n,description:e.description})}function Lq(e){return jq({label:e.label,id:e.searchId,keywords:Fq(e),tags:e.tags,providers:[e.provider],description:e.description})}function Rq(e){return jq({label:e.label,id:e.searchId,keywords:Fq(e),tags:e.tags,providers:[e.provider],description:e.description})}function zq(e){return jq({label:e.label,id:e.effectId,keywords:Fq(e),tags:e.tags,providers:Array.from(new Set([...e.managedProviders,...e.allowedUserConnectionProviders])),description:e.description})}function Bq(e){let t=Object.values(e.billableOperations).map(e=>e.allowManagedConnection?e.credits.default:0);return Math.min(...t)}function Vq(e){return Math.min(e.cost.mode===`per_result`?e.cost.creditsPerResult:e.cost.mode===`per_search`?e.cost.creditsPerSearch:e.cost.creditsPerPage)}function Hq(e){return e.cost.allowManagedConnection?e.cost.credits.default:0}function Uq(e){let t=Object.values(e.billableOperations).map(e=>e?.allowManagedConnection?e.credits.default:0);return t.length?Math.min(...t):0}function Wq(e,t){let n=Math.max(1,t.minItems),r=Math.max(n,t.maxItems),i=[],a=[],o=0;for(let s of e){a.push(s),o+=t.sizeOf(s);let e=a.length>=r,c=o>=t.targetSize&&a.length>=n;(e||c)&&(i.push(a),a=[],o=0)}return a.length>0&&i.push(a),i}function Gq(e){let t=mR(e);if(!t)return``;try{return ne(t)||new URL(t).hostname}catch{return``}}const Kq=[`http://`,`https://`,`mailto:`],qq=new Set([`*`,`_`,`~`,"`",`[`,`]`,`(`,`)`,`\\`]);function Jq(e){return e?Yq(e):[]}function Yq(e){let t=[],n=``,r=0,i=()=>{n&&=(t.push({type:`text`,value:n}),``)};for(;r<e.length;){let a=e[r],o=e[r+1];if(a===`\\`&&o!==void 0&&qq.has(o)){n+=o,r+=2;continue}if(a==="`"){let n=Xq(e,r+1,"`");if(n>-1){i(),t.push({type:`code`,value:e.slice(r+1,n)}),r=n+1;continue}}if(a===`*`&&o===`*`){let n=Xq(e,r+2,`**`);if(n>r+2){i(),t.push({type:`strong`,children:Yq(e.slice(r+2,n))}),r=n+2;continue}}if(a===`~`&&o===`~`){let n=Xq(e,r+2,`~~`);if(n>r+2){i(),t.push({type:`del`,children:Yq(e.slice(r+2,n))}),r=n+2;continue}}if(a===`*`&&o!==`*`){let n=Xq(e,r+1,`*`);if(n>r+1){i(),t.push({type:`em`,children:Yq(e.slice(r+1,n))}),r=n+1;continue}}if(a===`[`){let n=Xq(e,r+1,`]`);if(n>-1&&e[n+1]===`(`){let a=Xq(e,n+2,`)`);if(a>-1){let o=e.slice(n+2,a);if(Kq.some(e=>o.startsWith(e))){i(),t.push({type:`link`,href:o,children:Yq(e.slice(r+1,n))}),r=a+1;continue}}}}n+=a,r+=1}return i(),t}function Xq(e,t,n){let r=t;for(;r<e.length;){if(e[r]===`\\`&&r+1<e.length){r+=2;continue}if(Zq(e,r,n))return r;r+=1}return-1}function Zq(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r++)if(e[t+r]!==n[r])return!1;return!0}export{cs as AI_MODELS,ls as AI_MODEL_CATALOG,ms as AI_MODEL_RAW_USD,Jr as B2BPostMatchSchema,Be as BUCKET_TYPES,Ge as BucketClaimConfigSchema,Ke as BucketCounterConfigSchema,Ue as BucketFieldDefSchema,He as BucketFieldTypeSchema,We as BucketSchemaSchema,kq as CATALOG_SEARCH_WEIGHTS,Tn as COMPANY_STANDARD_PROPERTIES,wn as CONTACT_STANDARD_PROPERTIES,us as CREDIT_USD_VALUE,Ve as CURRENT_BUCKET_TYPE_VERSION,Ha as CatalogSchemaRefSchema,NV as ConciseFieldValueSchema,ao as ConditionBlockSchema,ct as ConditionEvaluationError,st as ConditionFieldNotFoundError,Ka as ConditionOperatorsSchema,En as DEAL_STANDARD_PROPERTIES,Ct as EffectAllSelectionSchema,St as EffectRowsSelectionSchema,Tt as EffectSelectionSchema,wt as EffectWindowSelectionSchema,ZV as EffectsRequestSchema,QV as EffectsResponseSchema,XV as EffectsRunStatusSchema,$V as EffectsValidateRequestSchema,tH as EffectsValidateResponseSchema,eH as EffectsValidateStepSchema,za as ExpandedFieldValueSchema,Zl as FIELD_PLACEHOLDERS,Ma as FieldAnnotationSchema,wR as FieldAnnotations,Na as FieldAnnotationsSchema,aa as FieldNameSchema,ka as FieldReasonSchema,ma as FieldValueSchema,rU as FormStoreSchema,lU as HIGH_VOLUME_PRICING_MIN_CREDITS,Ga as JSONExtractSchema,ha as JSONMetaSchema,ds as MANAGED_TOKEN_MARGIN,Kz as MANUAL_DEFAULT,$a as NoConnectorSchema,Tl as ObjectHasher,Za as OptionalConnectorSchema,Ko as PIPE0_DEFAULT_API_KEY_METADATA_FLAG,Go as PIPE0_DEFAULT_CONNECTION_PUBLIC_ID,ca as PIPE_IDS,AL as PaginationTypeSchema,Kr as PersonProfileFieldSchema,YO as PersonWorkemailWaterfall1Entry,JO as PersonWorkemailWaterfall1PayloadSchema,qO as PersonWorkemailWaterfall1PipeClass,B as Pipe,sS as Pipe0Error,la as PipeIdSchema,qL as PipePayloadSchema,so as PipeRunIfSchema,cS as PipelineValidationError,sa as PipesEnvironmentSchema,Oa as PipesErrorSchema,Ua as PipesFieldDefinitionSchema,Wa as PipesFieldDefinitionsSchema,Ba as PipesInputSchema,aR as PipesRequestConfigSchema,oR as PipesRequestSchema,iR as PipesResponseSchema,JL as ProcessedPipePayloadSchema,wL as ProcessedSearchPayloadSchema,RK as ProcessedSearchesPayloadSchema,YV as ProcessedSheetEffectPayloadSchema,oa as ProviderNameSchema,Aa as RECORD_FIELD_FORMATS,ua as RECORD_FIELD_TYPES,zl as RESERVED_FIELD_NAMES,qa as RUN_IF_OPERATOR_LABELS,Ya as RUN_IF_STATUS_OPERATORS,Ja as RUN_IF_VALUE_OPERATORS,Wz as RUN_STATUS_OPTIONS,MV as RecordActionDetailSchema,Ia as RecordClaimedBySchema,FV as RecordDiffEntrySchema,ja as RecordFieldFormatSchema,Ra as RecordFieldSchema,pa as RecordFieldStatusSchema,da as RecordFieldTypeSchema,fa as RecordIdSchema,La as RecordResolvedBySchema,Va as RecordSchema,aS as RequestValidationError,Qa as RequiredConnectorSchema,to as RunIfStatusOperatorsSchema,no as RunIfStatusValueSchema,eo as RunIfValueOperatorsSchema,Uz as RunStatusSchema,ni as SALESFORCE_ACCOUNT_STANDARD_PROPERTIES,ei as SALESFORCE_CONTACT_STANDARD_PROPERTIES,rW as SALESFORCE_FIELD_TYPE_TABLE,ti as SALESFORCE_LEAD_STANDARD_PROPERTIES,ri as SALESFORCE_OPPORTUNITY_STANDARD_PROPERTIES,ai as SALESFORCE_PERSON_STANDARD_PROPERTIES,oi as SALESFORCE_STANDARD_PROPERTIES_BY_OBJECT,ii as SALESFORCE_USER_STANDARD_PROPERTIES,Gz as SCHEDULED_DEFAULT,TW as SEARCHES_IDS,Sj as SEARCH_IDS,Er as SENIORITY_LEVELS,bt as SHEET_EFFECT_IDS,Z as Search,EL as SearchErrorSchema,Cj as SearchIdSchema,SL as SearchPayloadSchema,TL as SearchRequestSchema,jL as SearchResponseSchema,DL as SearchResultFieldSchema,OL as SearchResultSchema,BK as SearchesErrorSchema,EW as SearchesIdSchema,LK as SearchesPayloadSchema,GK as SearchesRequestBaseConfigSchema,qK as SearchesRequestSchema,WK as SearchesResponseSchema,VK as SearchesResultFieldSchema,HK as SearchesResultSchema,kW as SearchesSearch,UK as SearchesStatusSchema,L as SheetEffect,xt as SheetEffectIdSchema,qV as SheetEffectPayloadSchema,RV as SheetEffectStepSummarySchema,sH as SheetEffectValidationError,LV as SheetEffectsCountsSchema,IV as SheetEffectsDiffSchema,fs as TOKEN_BLOCK_SIZE_INPUT,ps as TOKEN_BLOCK_SIZE_OUTPUT,Od as TYPES_TO_FORMATS,Ts as TokenBlockAccumulator,PV as UpdatedActionDetailSchema,oo as ValueConditionBlockSchema,eU as WidgetsByKindSchema,Da as WidgetsSchema,z as all,Oo as analyzeLiquidTemplate,yU as analyzePipeFit,os as and,Ul as any,dW as assertSoqlIdentifier,tR as assertUniqueBillableOperations,m as autocomplete,Yr as b2bPostMatchExample,qe as bucketConfigSchemaFor,et as bucketSchemaFieldNames,tt as bucketSchemasEqual,$e as bucketSlugValue,Ss as buildAiModelTokenBillableOperations,jq as buildCatalogSearchTarget,ER as buildDependencyGraph,nu as buildInputRequirementFromTemplates,wW as buildKeysetPredicate,bH as buildResultColumns,si as buildSalesforceFetchSet,hW as buildSoqlInList,xs as buildTokenNote,K as catalogInput,Wq as chunkBySize,ZU as classifySalesforceError,Cl as cleanObject,mR as cleanUrl,pR as cleanWebsiteUrl,ru as collectConstantReferencesFromTemplates,VH as collectPipeContextSelectFields,Kl as collectRequirementFields,KH as collectSearchContextSelectFields,H as collectSecretReferencesFromTemplates,XH as collectSheetEffectContextSelectFields,gq as compilePattern,AH as computeTenure,yt as configDefaults,ys as creditsPerBlock,at as decodeBucketContract,yH as dedupeColumnNames,Je as defaultBucketConfig,rS as describeRequirement,JU as domainToWebsiteVariants,it as encodeBucketContract,At as entityLogoFavicon,kt as entityLogoProfessionalProfileUrl,mW as escapeSoqlLikeValue,fW as escapeSoqlString,xu as estimateGuardCredits,mt as evaluateConditionBlock,$U as extractDuplicateInfo,fc as extractFormMetadata,R as field,$i as fieldBehaviorCatalog,Qi as fieldCatalog,nS as fieldNameStr,_R as fieldTypeFromValue,HU as fieldsToObject,wq as filterPipeEntries,Tq as filterSearchEntries,Eq as filterSearchesEntries,CW as formatSoqlBooleanValue,xW as formatSoqlDateValue,SW as formatSoqlNumberValue,GV as getAgentAllowedEffectIds,gs as getAiModelConnectionRequirements,hs as getAiModelProviders,Cs as getAiModelTokenBillingKeys,bs as getAiModelTokenCredits,_s as getAllAiModelProviders,W as getBasePipeName,I as getBaseSheetEffectName,na as getCatalogFieldOrder,UL as getDefaultOutputFields,$L as getDefaultPipeProviders,LL as getDefaultSearchOutputFields,zK as getDefaultSearchesOutputFields,lR as getDependentPipeNamesForInputProperty,uR as getDependentPipeNamesForPipe,Gq as getDomain,yR as getExpansionState,Dt as getFaviconUrlGoogle,h as getField,ea as getFieldBehavior,wd as getFieldDisplayLabel,xR as getFieldWidgets,IL as getInitialSearchTableData,ZK as getInitialSearchesTableData,aH as getInitialSheetEffectTableData,nR as getInitialTableData,Xl as getInputHash,Ds as getJsonMetaForFieldDef,Hq as getLoweestSearchCreditAmount,Vq as getLoweestSearchesCreditAmount,Bq as getLowestPipeCreditAmount,Uq as getLowestSheetEffectCreditAmount,ia as getOutputFieldInfoFromDef,XL as getPipeBillableOperationDef,sU as getPipeCategoryEntries,oU as getPipeCategoryEntry,WL as getPipeClass,Yl as getPipeConfigHash,GL as getPipeDefaultPayload,G as getPipeDocsURI,YL as getPipeEntry,FH as getPipeFormMask,cR as getPipeInstances,HH as getPipePayloadFormConfig,KL as getPipePayloadSchema,Iq as getPipeSearchTarget,ZL as getPipeVersion,Y as getProviderBillableOperation,iu as getProviderCreditsFromBillableOperations,Ft as getProviderEntry,SH as getReadableFieldStatus,iW as getSalesforceFieldTypeRule,tq as getSandboxConnections,nq as getSandboxConnectionsForPipe,rq as getSandboxConnectionsForSearch,iq as getSandboxConnectionsForSearches,cq as getSearchCategoryEntries,sq as getSearchCategoryEntry,xL as getSearchClass,CL as getSearchDefaultPayload,PL as getSearchEntry,uq as getSearchFieldWidgets,IH as getSearchFormMask,YB as getSearchInstance,GH as getSearchPayloadFormConfig,kL as getSearchPayloadSchema,Lq as getSearchSearchTarget,RL as getSearchTableDataAggregates,ML as getSearchVersion,PK as getSearchesClass,IK as getSearchesDefaultPayload,$K as getSearchesEntry,SR as getSearchesFieldWidgets,fq as getSearchesInstances,FK as getSearchesPayloadSchema,Rq as getSearchesSearchTarget,QK as getSearchesTableDataAggregates,JK as getSearchesVersion,Gr as getSeniorityEmojiFromTitle,Wr as getSeniorityLevelFromTitle,vt as getSheetEffectCategoryEntries,_t as getSheetEffectCategoryEntry,HV as getSheetEffectClass,El as getSheetEffectConfigHash,JV as getSheetEffectDefaultPayload,UV as getSheetEffectEntry,LH as getSheetEffectFormMask,_H as getSheetEffectInstance,YH as getSheetEffectPayloadFormConfig,WV as getSheetEffectPayloadSchema,zq as getSheetEffectSearchTarget,sR as getStartingCostPerPipesProvider,zL as getStartingCostPerSearchProvider,eq as getStartingCostPerSearchesProvider,rR as getTableDataAggregates,dU as getTier,bR as getUnexpandedValue,Ot as ifDefined,F as inputFields,GU as inputFromRecord,WU as inputFromRecordArr,UU as inputFromRecords,ZH as inputGuards,KV as isAgentAllowedEffect,ra as isCatalogField,br as isEmptyValue,ta as isFieldName,mU as isHighVolumeEligible,xq as isPipeAllowed,bq as isProviderAllowed,Gl as isRequirementMet,ql as isRequirementSatisfiedByRecord,Bl as isReservedFieldName,Sq as isSearchAllowed,Cq as isSearchesAllowed,vW as isSoqlDateLiteral,vs as isTokenBilledOperations,uW as isValidSalesforceId,lW as isValidSoqlIdentifier,Jo as joinConnectionString,hU as listHighVolumeEligibleOperations,pU as listTiers,bu as managedDefaultCreditOf,Qe as mappedBucketFieldNames,ou as markRecordFieldAsComplete,lu as markRecordFieldAsFailed,cu as markRecordFieldAsNoResult,su as markRecordFieldAsPending,du as markRecordFieldAsProcessing,uu as markRecordFieldAsSkipped,vq as matchesAny,_q as matchesPattern,uc as mergeFormConfig,jt as mergeWidgets,vc as noConnectorInput,vH as normalizeColumnName,qU as normalizeDomain,Wl as optional,S as optionalConnectorInput,ss as or,P as outputFields,Do as parseLiquidTemplate,xo as parseOutputTagArgs,AU as parseRecordValueOrError,Qo as parseRelaxedObject,Jq as parseRichText,QU as parseSalesforceErrorBody,q as perUnit,qr as personProfileMatchExample1,HL as pipeCatalog,iU as pipeCategoryCatalog,BL as pipeClassCatalog,VL as pipePayloadSchemaCatalog,Rc as pipesAsyncIncludeExcludeSelectInput,lc as pipesConditionInput,Xc as pipesContextSelectInput,Bc as pipesDateRangeInput,Vc as pipesDestinationFieldConfig,Oc as pipesFieldSelectInput,Ec as pipesFieldsSelectInput,jc as pipesIncludeExcludeInput,Lc as pipesIncludeExcludeSelectInput,w as pipesInputField,qc as pipesIntInput,zs as pipesJsonExtractionInput,Yc as pipesJsonSchemaField,Gc as pipesLLMSelectInput,Ic as pipesLooseObjectInput,Mc as pipesMultiCreateInput,Kc as pipesMultiSelectInput,Jc as pipesNumberInput,E as pipesOptionalBooleanInput,Pc as pipesOrderedMultiCreateInput,D as pipesOutputField,_ as pipesPayloadRegistry,mc as pipesPromptInput,Nc as pipesPropertyListInput,T as pipesProviderInput,zc as pipesRangeInput,b as pipesRunIfInput,Wc as pipesSelectInput,cU as pipesSnippetCatalog,Fc as pipesTaggedOrderedMultiCreateInput,gc as pipesTaggedTextInput,hc as pipesTemplateInput,Hc as pipesTextInput,Uc as pipesTextareaInput,Dc as pipesTypedFieldsSelectInput,V as placeholder,KU as processInputObjects,dk as projectOptionsDef,uk as projectScopedSheetOptionsDef,Xe as providedCreationName,Ye as providedCreationPolicy,Pt as providerCatalog,J as rateLimitRatioFallingProgression,ez as renameFieldInPipePayloads,To as renderLiquidTemplate,Eo as renderLiquidTemplateSync,aW as renderSalesforceOperatorMatrix,x as requiredConnectorInput,au as requirementToInputFields,iS as requirementUnmetMessage,g as requiresConnection,as as requiresField,PH as resolveFormMask,Ze as resolveMappingEntry,sk as roundrobinBucketSlug,ok as roundrobinFilterKey,cH as runSheetEffectsValidation,qz as runStatusesToQueueConfig,oW as salesforceRecordUrl,Pq as scoreCatalogSearch,bL as searchCatalog,aq as searchCategoryCatalog,vL as searchClassCatalog,yL as searchPayloadSchemaCatalog,lq as searchSnippetCatalog,M as searchesAsyncIncludeExcludeSelectInput,dl as searchesAsyncMultiSelectInput,NK as searchesCatalog,jK as searchesClassCatalog,Zc as searchesConditionInput,ul as searchesContextSelectInput,il as searchesDateRangeInput,nl as searchesExactRangeInput,k as searchesIncludeExcludeInput,tl as searchesIncludeExcludeSelectInput,N as searchesIntInput,el as searchesMinMaxIntInput,O as searchesMultiCreateInput,j as searchesMultiSelectInput,fl as searchesNumberField,al as searchesOptionalBooleanInput,xc as searchesOptionalConnectorInput,ol as searchesOptionalNullableBooleanInput,$c as searchesOrderedMultiCreateInput,A as searchesOutputField,v as searchesPayloadRegistry,MK as searchesPayloadSchemaCatalog,Qc as searchesPropertyListInput,rl as searchesRangeInput,bc as searchesRequiredConnectorInput,ll as searchesSelectInput,sl as searchesTextInput,cl as searchesTextareaField,Dr as seniorityLevelSchema,mk as sheetColumnsOptionsDef,VV as sheetEffectCatalog,ht as sheetEffectCategoryCatalog,zV as sheetEffectClassCatalog,BV as sheetEffectPayloadSchemaCatalog,oH as sheetEffectSnippetCatalog,cc as sheetEffectsConditionInput,bl as sheetEffectsContextSelectInput,kc as sheetEffectsFieldsSelectInput,_l as sheetEffectsIntInput,xl as sheetEffectsLLMSelectInput,gl as sheetEffectsMultiSelectInput,C as sheetEffectsNoConnectorInput,yl as sheetEffectsOptionalBooleanInput,wc as sheetEffectsOptionalConnectorInput,vl as sheetEffectsOptionalIntInput,Os as sheetEffectsPayloadRegistry,Cc as sheetEffectsRequiredConnectorInput,Sl as sheetEffectsSearchPayloadInput,hl as sheetEffectsSelectInput,Ac as sheetEffectsSelectionInput,pl as sheetEffectsTextInput,ml as sheetEffectsTextareaInput,lk as sheetOptionsDef,pW as soqlStringLiteral,Dd as sortObjectKeys,QL as sortPipeCatalogByBasePipe,NL as sortSearchCatalogByBaseSearch,YK as sortSearchesCatalogByBaseSearch,rH as sortSheetEffectCatalogByBaseEffect,qo as splitConnectionString,ze as staticAutocomplete,p as staticOptions,Ed as stringify,Nt as stripStaticWidgets,dH as summarizeEffectRun,kH as tagPrimaryCurrentEducation,Mt as tagStaticWidgets,Td as testPrint,fU as tierAtOrBelow,ws as tokenEstimate,NU as transformIntoResponse,ot as tryDecodeBucketContract,$o as tryParseRelaxedObject,DR as validatePipesOrError,pq as validateSearches,uH as validateSheetEffectsOrError,oS as validationErrorMessages,YU as websiteToDomain};
134
+ `}}],input:[{id:`1`,name:`John`,email:`john@pipe0.com`}]}],"email:send:resend@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`resend_123`,type:`vault`}]},pipe_id:`email:send:resend@1`,config:{from:`<FROM_EMAIL_ADDRESS>`,to:`{{ email }}`,reply_to:`<REPLY_TO_EMAIL_ADDRESS>`,subject:`{{ email_subject }}`,body:`{{ email_body }}`}}],input:[{id:`1`,email:`<EMAIL_ADDRESS>`,email_body:`<EMAIL_TEXT>`,email_subject:`<EMAIL_SUBJECT_LINE>`}]}],"email:send:gmail@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`gmail_123`,type:`vault`}]},pipe_id:`email:send:gmail@1`,config:{to:`{{ email }}`,reply_to:`<REPLY_TO_EMAIL_ADDRESS>`,subject:`{{ email_subject }}`,body:`{{ email_body }}`}}],input:[{id:`1`,email:`<EMAIL_ADDRESS>`,email_body:`<EMAIL_TEXT>`,email_subject:`<EMAIL_SUBJECT_LINE>`}]}],"message:send:slack@1":[{config:{environment:`production`},pipes:[{connector:{strategy:`first`,connections:[{connection:`slack_123`,type:`vault`}]},pipe_id:`message:send:slack@1`,config:{channel_id:`<SLACK_CHANNEL_ID>`,message:`{{ message }}`}}],input:[{id:`1`,message:`<MESSAGE_TEXT>`}]}],"people:profileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:profileurl:email:waterfall@1`}],input:[{id:`1`,email:`<MESSAGE_TEXT>`}]}],"person:profileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:profileurl:email:waterfall@1`}],input:[{id:`1`,email:`<MESSAGE_TEXT>`}]}],"people:validate:email:zerobounce@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:validate:email:zerobounce@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:mobilenumber:workemail:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:mobilenumber:workemail:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:professionalprofile:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofile:waterfall@1`}],input:[{id:`1`,professional_profile_url:`john@pipe0.com`}]}],"people:professionalprofileurl:name@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofileurl:name@1`}],input:[{id:`1`,name:`John`,company_name:`Pipe0`,location_int:`Berlin`}]}],"people:professionalprofileurl:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:professionalprofileurl:email:waterfall@1`}],input:[{id:`1`,email:`john@pipe0.com`}]}],"people:mobilenumber:professionalprofile:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:mobilenumber:professionalprofile:waterfall@1`}],input:[{id:`1`,professional_profile_url:`https://linkedin.com/li/john`}]}],"company:overview@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@2`,config:{}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"company:overview@3":[{config:{environment:`production`},pipes:[{pipe_id:`company:overview@3`,config:{}}],input:[{id:`1`,company_domain:`pipe0.com`}]}],"fields:merge@1":[{config:{environment:`production`},pipes:[{pipe_id:`fields:merge@1`,config:{merge_fields:[{field_name:`field_1`},{field_name:`field_2`}]}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:scrape:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:scrape:firecrawl@1`,config:{scrape_main_only:!0,input_fields:{website_url:{alias:``}}}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:extract:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:extract:firecrawl@1`,config:{extraction_prompt:`Extract the company mission as well as the latest news.`,enable_full_domain_crawl:!0,enable_web_search:!0,json_schema:{type:`object`,required:[`company_mission`,`latest_news`],properties:{company_mission:{type:`string`},latest_news:{type:`string`}}}}}],input:[{id:`1`,company_website_url:`Pipe0`}]}],"website:extract:parallel@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:extract:parallel@1`,config:{objective:`When was the company founded and what does it do?`}}],input:[{id:`1`,website_url:`https://pipe0.com`}]}],"person:email:validate:millionverifier@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:email:validate:millionverifier@1`}],input:[{id:`1`,email:`john@pipe0.com`}]}],"website:scrapelist:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:scrapelist:firecrawl@1`,config:{scrape_main_only:!0,formats:[`markdown`,`links`]}}],input:[{id:`1`,urls:[`https://pipe0.com`,`https://pipe0.com/docs`]}]}],"website:maplinks:firecrawl@1":[{config:{environment:`production`},pipes:[{pipe_id:`website:maplinks:firecrawl@1`,config:{sitemap:`include`,page_limit:20,search:``}}],input:[{id:`1`,urls:[`https://pipe0.com`,`https://pipe0.com/docs`]}]}],"contact:create:resend@1":[{config:{environment:`production`},pipes:[{pipe_id:`contact:create:resend@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`resend_123`}]},config:{segment_id:`segment_id_12xeeb12`,add_as_subscribed:!0}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"lead:enroll:lemlist@1":[{config:{environment:`production`},pipes:[{pipe_id:`lead:enroll:lemlist@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`lemlist_123`}]},config:{campaign_id:`cam_bSn8EORHQxbWPjHvu`,custom_variables:{painPoint:`{{ pain_point }}`}}}],input:[{id:`1`,email:`prospect@example.com`,first_name:`Jane`,last_name:`Doe`,company_name:`Acme Corp`,job_title:`VP Sales`,pain_point:`slow onboarding`}]}],"lead:enroll:amplemarket@1":[{config:{environment:`production`},pipes:[{pipe_id:`lead:enroll:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]},config:{sequence_id:`cb4925debf37ccb6ae1244317697e0f`,custom_variables:{pain_point:`{{ pain_point }}`}}}],input:[{id:`1`,email:`prospect@example.com`,profile_url:`https://www.linkedin.com/in/jane-doe`,pain_point:`slow onboarding`}]}],"row:append:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:append:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{project:`project_id`,sheet:`sheet_id`,run:!0,allow_entity_creation:!0,write_fields:[{field_name:`field_name`}]}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"bucket:claim@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:claim@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`crm-contacts`,contract:``,entry_fields:[{field_name:`email`}],new_bucket_name:``,new_bucket_ttl_in_seconds:null,new_bucket_own_entry_behavior:`block`,new_bucket_missing_value_behavior:`proceed`,allow_bucket_creation:!0}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"bucket:count@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:count@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`lead-router`,contract:``,entry_fields:[{field_name:`email`,entry_field:`lead`}],new_bucket_name:``,new_bucket_start:1,new_bucket_step:1,allow_bucket_creation:!0}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"bucket:check@1":[{config:{environment:`production`},pipes:[{pipe_id:`bucket:check@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{bucket:`do-not-contact`,contract:``,entry_fields:[{field_name:`email`}]}}],input:[{id:`1`,email:`test@pipe0.com`}]}],"row:roundrobin:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:roundrobin:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{sheet:`sellers`,sheet_where:{logic:`and`,conditions:[{property:`value`,field_name:`segment`,operator:`eq`,value:`ENT`}]},sheet_unique_field:{field_name:`email`},sheet_copy_fields:[{field_name:`email`,type:`string`,format:`email`},{field_name:`name`,type:`string`}],sheet_weight_field:{field_name:``},counter_field:{field_name:`email`}}}],input:[{id:`1`,email:`lead@acme.com`}]}],"rows:find:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{sheet:`crm-leads`,where:{logic:`and`,conditions:[{property:`value`,field_name:`email`,operator:`eq`,value:`{{ email }}`}]},limit:10,output_fields:{sheet_rows_found_count:{alias:``,enabled:!0},sheet_found_rows:{alias:``,enabled:!0},sheet_found_row_ids:{alias:``,enabled:!1}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"rows:find:postgres@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:postgres@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`postgres_123`}]},config:{query:`SELECT id, email, plan, created_at FROM users WHERE email = '{{ email }}'`,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!0},db_found_rows:{alias:``,enabled:!0}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"rows:find:databricks@1":[{config:{environment:`production`},pipes:[{pipe_id:`rows:find:databricks@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`databricks_123`}]},config:{query:`SELECT id, email, plan, created_at FROM main.crm.users WHERE email = '{{ email }}'`,limit:10,output_fields:{db_rows_found_count:{alias:``,enabled:!0},db_found_rows:{alias:``,enabled:!0}}}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"row:expandappend:sheet@1":[{config:{environment:`production`},pipes:[{pipe_id:`row:expandappend:sheet@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`pipe0_123`}]},config:{project:`project_id`,sheet:`sheet_id`,run:!0,allow_entity_creation:!0,destination_field_name:`expanded_value`,destination_field_type:``,destination_field_format:``,destination_field_label:``}}],input:[{id:`1`,email:`test@pipe0.com`,name:`John Dorr`}]}],"people:match:role:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:match:role:waterfall@1`,config:{providers:[{provider:`leadmagic`}],roles:[`CEO`]}}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"person:match:role:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:match:role:waterfall@1`,config:{providers:[{provider:`leadmagic`}],roles:[`CEO`]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"company:match:logodev@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:logodev@1`}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"company:match:logodev@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:logodev@2`}],input:[{id:`1`,company_domain:`acme.com`}]}],"company:lookalikes:companyenrich@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:lookalikes:companyenrich@1`}],input:[{id:`1`,company_website_url:`https://acme.com`}]}],"company:lookalikes:companyenrich@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:lookalikes:companyenrich@2`}],input:[{id:`1`,company_domain:`acme.com`}]}],"person:posts:content:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:posts:content:crustdata@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-doe-3445`}]}],"people:identity:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:identity:email:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"person:identity:email:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:identity:email:waterfall@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:profile:workemail:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:profile:workemail:crustdata@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"person:profile:workemail:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:profile:workemail:crustdata@1`}],input:[{id:`1`,work_email:`john@pipe0.com`}]}],"people:workemail:profileurl:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`people:workemail:profileurl:waterfall@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-123abc`}]}],"person:workemail:profileurl:waterfall@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:workemail:profileurl:waterfall@1`}],input:[{id:`1`,profile_url:`https://linkedin.com/li/john-123abc`}]}],"company:match:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:crustdata@1`}],input:[{id:`1`,company_website_url:`https://microsoft.com`}]}],"company:match:crustdata@2":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:crustdata@2`}],input:[{id:`1`,company_domain:`microsoft.com`}]}],"contact:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`contact:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]}}],input:[{id:`1`,email:`jane@acme.com`}]}],"company:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"deal:match:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`deal:match:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{pipeline:``,status:`open`,custom_properties:[{property:`dealname`},{property:`pipeline`},{property:`dealstage`},{property:`amount`},{property:`closedate`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"object:update:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`object:update:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{object_type:`0-1`,properties:{jobtitle:`{{ job_title }}`,phone:`{{ phone }}`},ignore_blank_values:!0}}],input:[{id:`1`,hubspot_object_id:`512001`,job_title:`Head of Data`,phone:`+1 555 0100`}]}],"person:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`person:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{match_scope:`contacts_and_leads`,custom_properties:[{property:`Lead_Score__c`}]}}],input:[{id:`1`,email:`jane@acme.com`}]}],"account:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`account:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{website_field:`Website`,custom_properties:[]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"opportunity:match:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`opportunity:match:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{status:`open`,stage:``,custom_properties:[{property:`NextStep`}]}}],input:[{id:`1`,company_domain:`acme.com`}]}],"record:lookup:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:lookup:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Contact`}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`}]}],"record:update:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:update:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Contact`,values:{Title:`{{ job_title }}`,Phone:`{{ phone }}`},bypass_duplicate_alerts:!1}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`,job_title:`Head of Data`,phone:`+1 555 0100`}]}],"record:assert:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`record:assert:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{object:`Account`,external_id_field:`External_Id__c`,external_id_value:`{{ company_domain }}`,values:{Name:`{{ company_name }}`,Website:`https://{{ company_domain }}`},bypass_duplicate_alerts:!1}}],input:[{id:`1`,company_domain:`acme.com`,company_name:`Acme Inc.`}]}],"object:associations:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`object:associations:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{from_object_type:`0-2`,to_object_type:`0-3`,association_label:``,properties:[{property:`dealname`},{property:`dealstage`},{property:`amount`}],limit:20}}],input:[{id:`1`,hubspot_object_id:`9034001`}]}],"activities:find:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`activities:find:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{type:`all`,status:`all`,within:`90d`,custom_properties:[{property:`CallDurationInSeconds`}],limit:10}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`}]}],"activity:log:salesforce@1":[{config:{environment:`production`},pipes:[{pipe_id:`activity:log:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{subject:`Outreach email sent: {{ email_subject }}`,body:`Sent via pipe0.`,subtype:`email`,status:``,related_record:``,activity_date:``,owner:``,external_id_field:`Outreach_Key__c`,external_id_value:`{{ email }}-outreach-2026-07`,values:{}}}],input:[{id:`1`,salesforce_record_id:`003KJ000001abcDIA2`,email:`jane@acme.com`,email_subject:`Q3 check-in`}]}],"activity:log:hubspot@1":[{config:{environment:`production`},pipes:[{pipe_id:`activity:log:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{type:`task`,subject:`Follow up with {{ first_name }}`,body:`Enriched via pipe0 — review before Thursday.`,timestamp:``,record_object_type:`0-1`,owner:``,values:{hs_task_status:`NOT_STARTED`,hs_task_priority:`HIGH`}}}],input:[{id:`1`,hubspot_object_id:`512001`,first_name:`Jane`}]}],"company:identity:crustdata@1":[{config:{environment:`production`},pipes:[{pipe_id:`company:identity:crustdata@1`}],input:[{id:`1`,company_domain:`samsung.com`},{id:`2`,company_name:`Samsung`}]}],"person:identity:amplemarket@1":[{pipes:[{pipe_id:`person:identity:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]}}],input:[{id:`1`,email:`hallp@pipe0.com`}]}],"person:match:amplemarket@1":[{pipes:[{pipe_id:`person:match:amplemarket@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`amplemarket_123`}]}}],input:[{id:`1`,profile_url:`https://linkedin.com/li/johndoe`}]}],"field:domainify@1":[{pipes:[{pipe_id:`field:domainify@1`}],input:[{id:`1`,url_input:`https://google.com`}]}],"field:slugify@1":[{pipes:[{pipe_id:`field:slugify@1`}],input:[{id:`1`,string_input:`input value`}]}],"http:request@1":[{pipes:[{pipe_id:`http:request@1`,config:{method:`GET`,url:`https://api.example.com/v1/companies/{{ company_name }}`,query_params:{limit:`10`},body:``,headers:{Authorization:`Bearer SECRET`},expected_response_schema:{},output_fields:{http_response_status:{alias:``,enabled:!0},http_response_body:{alias:``,enabled:!0},http_response_headers:{alias:``,enabled:!1}}}}],input:[{id:`1`,company_name:`Acme`}]}]},rW=.1,iW=[`level1`,`level2`,`level3`];function aW(e,t){let n=iW[t-1];if(n)return e[n]}function oW(e,t){for(let n=t;n>=1;n--){let t=aW(e,n);if(t)return{level:n,tier:t}}}function sW(e){let t=[];for(let n=1;n<=3;n++){let r=aW(e,n);r&&t.push({level:n,credits:r.credits,weight:r.weight})}return t}function cW(e){if(e.default<.1)return!1;let t=sW(e);if(t.length===0)return!1;for(let e=0;e<t.length;e++)if(t[e].level!==e+1)return!1;let n=e.default,r=0;for(let e of t){if(!(e.credits<n)||!Number.isInteger(e.weight)||e.weight<=r)return!1;n=e.credits,r=e.weight}return!0}function lW(){let e=new Map;for(let t of Object.values(IR))for(let[n,r]of Object.entries(t.billableOperations)){let i=r;if(!i?.allowManagedConnection||!cW(i.credits))continue;let a=n,o={kind:`pipe`,id:t.pipeId,label:t.label,categories:[...t.categories]},s=e.get(a);if(s){s.standardCredits=Math.min(s.standardCredits,i.credits.default),s.usedBy.push(o);continue}e.set(a,{billableOperation:a,provider:i.provider,kind:`pipe`,standardCredits:i.credits.default,tiers:sW(i.credits),usedBy:[o]})}for(let t of Object.values(mR)){let{cost:n}=t;if(!n.allowManagedConnection||!cW(n.credits))continue;let r=t.billableOperation,i={kind:`search`,id:t.searchId,label:t.label,categories:[...t.categories]},a=e.get(r);if(a){a.standardCredits=Math.min(a.standardCredits,n.credits.default),a.usedBy.push(i);continue}e.set(r,{billableOperation:r,provider:t.provider,kind:`search`,standardCredits:n.credits.default,tiers:sW(n.credits),usedBy:[i]})}return[...e.values()].sort((e,t)=>e.billableOperation.localeCompare(t.billableOperation))}function uW(e,t){switch(e.kind){case`field`:case`optional`:{let n=t[e.field.name];return n?{...e,field:{...e.field,resolvedName:n}}:e}case`all`:case`any`:return{...e,of:e.of.map(e=>uW(e,t))}}}function dW(e){switch(e.kind){case`field`:return e.field.resolvedName;case`optional`:return`${e.field.resolvedName} (optional)`;case`all`:return e.of.map(dW).join(` AND `);case`any`:return`(${e.of.map(dW).join(` OR `)})`}}function fW(e,t){let n=2,r=`${e}_${n}`;for(;t.has(r);)n++,r=`${e}_${n}`;return r}function pW({pipeId:e,availableFields:t,inputFieldAliases:n}){let r=IR[e];if(!r)throw Error(`Unknown pipe_id: "${e}"`);let i=new Set(t),a=r.defaultInputRequirement,o=a&&n&&Object.keys(n).length>0?uW(a,n):a,s=o?Ql(o,i):!0,c=o?$l(o).filter(e=>e.required).map(e=>({name:e.field.name,resolved_name:e.field.resolvedName,present:i.has(e.field.resolvedName)})):[],l=s?[]:c.filter(e=>!e.present).map(e=>e.resolved_name),u=new Set(i),d=[],ee=[];for(let e of LR(r)){let t=i.has(e),n;t?(n=fW(e,u),u.add(n),ee.push({name:e,resolved_name:e,suggested_alias:n})):u.add(e),d.push({name:e,resolved_name:e,collides:t,suggested_alias:n})}return{pipe_id:e,runnable:s,requirement_description:o?dW(o):`(no inputs required)`,required_fields:c,missing_fields:l,output_fields:d,output_collisions:ee}}const mW=[`yyyy-MM-dd`,`yyyy/MM/dd`,`yyyy-MM-dd HH:mm:ss`,`MM/dd/yyyy`,`MM/dd/yyyy HH:mm:ss`,`MM-dd-yyyy`,`MM-dd-yyyy HH:mm:ss`,`yyyyMMdd`],hW=[`yyyy-MM-dd`,`yyyy/MM/dd`,`MM/dd/yyyy`,`MM-dd-yyyy`,`yyyyMMdd`,`dd-MM-yyyy`,`dd/MM/yyyy`],gW=r.string().trim().transform(e=>{if(!/\./.test(e)&&!/^[a-zA-Z0-9_-]*$/.test(e))throw Error(`Invalid URL format`);let t=String(e).trim();if(/^https?:\/\//i.test(t)||(t=`https://${t}`),t=t.replace(/^http:\/\//i,`https://`),t=t.replace(/^https:\/\/[w]{4,}\./i,`https://www.`),t=t.endsWith(`/`)?t.slice(0,-1):t,!t.includes(`.`))throw Error(`Invalid URL format - no TLD`);return t}).check(e=>{r.url(e.value).safeParse(e.value).success||e.issues.push({code:`custom`,message:`Invalid URL`,input:e.value})}),_W=r.coerce.string().trim().toLowerCase().transform(e=>{let t=e.replace(/^mailto:/i,``),[n,r]=t.split(`@`);return!r||!n?t:`${n.replace(/[^a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]/g,``)}@${r.replace(/\s+/g,``)}`}).check(e=>{r.email().safeParse(e.value).success||e.issues.push({code:`custom`,input:e.value,message:`Invalid email format`})});function vW(e){return!isNaN(e.getTime())}const yW=r.coerce.string().trim().transform(e=>{let t=e.replace(/[^0-9T:.\-/ ]/g,``).trim();for(let e of mW){let n=ee(t,e,new Date(0));if(vW(n))return d(n,`yyyy-MM-dd'T'HH:mm:ss`)}throw Error(`Invalid date format: ${e}`)}),bW=r.coerce.string().trim().transform(e=>{for(let t of hW){let n=ee(e,t,new Date(0));if(vW(n))return d(n,`yyyy-MM-dd`)}throw Error(`Invalid date format: ${e}`)}),xW=r.union([r.number(),r.string().transform(e=>{let t=e.replace(/[^0-9.]/g,``),n=parseFloat(t);if(isNaN(n))throw Error(`Invalid decimal format`);return n})]).refine(e=>!isNaN(e),{message:`Value must be a valid number`}),SW=r.union([r.number().transform(e=>Math.trunc(e)),r.string().transform(e=>{let t=e.replace(/[^0-9]/g,``),n=parseInt(t,10);if(isNaN(n))throw Error(`Invalid integer format`);return n})]).check(r.int()),CW=r.preprocess(e=>{if(typeof e!=`object`||!e)return e;try{return JSON.stringify(e)}catch{return e}},r.coerce.string().trim().min(1,{message:`Value cannot be empty for this format`}));function wW(e,t){if(t===null)return e===``||e==null?null:e;if(e==null)return null;try{switch(t){case`url`:return gW.parse(e);case`email`:return _W.parse(e);case`datetime`:return yW.parse(e);case`date`:return bW.parse(e);case`decimal`:return xW.parse(e);case`int`:return SW.parse(e);case`currency`:return r.number().parse(e);case`percent`:return r.number().parse(e);case`address_line_1`:return CW.parse(e);case`website_url`:return gW.parse(e);case`profile_url`:return gW.parse(e);case`zip_code`:return CW.parse(e);case`markdown`:case`phone`:case`text`:return CW.parse(e);case`json_object`:return r.record(r.any(),r.any()).parse(e);case`json_list`:return r.array(r.any()).parse(e);case`json_list_string`:return r.array(r.string()).parse(e);default:throw Error(`Unknown format: ${t}`)}}catch(r){throw r instanceof n?Error(`Unable to parse value ${Nd(e)} into format ${t}: ${r.message}`):r}}function TW(e,t,n){let r={};for(let[i,a]of Object.entries(e.derivedInputFields)){let e=t.field_definitions[i]?.format||null,o=n[i]??null;if(fz(o))o.resolved_by?.ref===`input`?r[i]={value:o.value,type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:o.value==null?null:{ref:`input`,config_hash:null,input_hash:null,environment:o.resolved_by.environment||null},reason:null,status:o.value===null?`pending`:`completed`,widgets:o.widgets||{},format:o.format||e}:r[i]={value:o.value,type:a.type,claimed_by:o.claimed_by||{ref:`input`,config_hash:null},resolved_by:o.resolved_by?o.resolved_by:o.value==null?null:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:o.reason||null,status:o.status,widgets:o.widgets||{},format:o.format||e};else if(o!=null)try{r[i]={value:wW(o,e),type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:null,status:`completed`,widgets:{},format:e}}catch{r[i]={value:o,type:a.type,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},reason:{code:`InvalidValue`,summary:`Invalid`,message:`This field expects a value of format ${e}.`},status:`failed`,widgets:{},format:e}}else r[i]={type:a.type,value:o,claimed_by:{ref:`input`,config_hash:null},resolved_by:{ref:null,config_hash:null,input_hash:null,environment:null},reason:null,status:`pending`,widgets:{},format:e}}return r}function EW(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)throw Error(`Input object undefined`);let a=i.id;a!=null&&fz(a)&&(i.id=a.value),i.id||=crypto.randomUUID();let{id:o}=i;if(typeof o!=`string`&&typeof o!=`number`){n.errors.push(hS.InvalidId());continue}if(n.records[o]){n.errors.push(hS.IDConflict({index:r,id:o}));continue}n.order.push(o),n.records[o]={id:o,fields:TW(e,n,i)}}}function DW({context:e,input:t,config:n={}}){let r={field_definitions:e.fieldDefinitions,order:[],errors:[],records:{},queued_record_ids:new Set,adopted_record_ids:new Set};try{EW(e,t,r);let{queuedRecordIdSet:i,adoptedRecordIdSet:a}=OW(e,t,r,n);if(r.queued_record_ids=i,r.adopted_record_ids=a,kW(e,r,n?.queue?.enabled),FW(e,r),r.errors.length>0)throw new _S(r.errors);return r}catch(e){throw e instanceof _S?e:new _S([hS.ResponseGenerationFailed({error:e})])}}function OW(e,t,n,r){let i=[],a=[];for(let o=0;o<e.orderedPipePayloads.length;o++){let s=e.orderedPipePayloads[o],c=e.orderedPipeInstances[o];if(!c){n.errors.push(hS.UnknownResolver({pipeId:s.pipe_id,index:o}));continue}let{queuedRecordIds:l,adoptedRecordIds:u}=PW(e,t,c,n,r);i=i.concat(l),a=a.concat(u)}return{queuedRecordIdSet:new Set(i),adoptedRecordIdSet:new Set(a)}}function kW(e,t,n){if(!n)return;let r=(t,n,r,i)=>{Object.values(t.getOutputFields()).forEach(a=>{let o=i.fields[a.resolvedName];if(!o)throw Error(`Internal: Output field ${dS(a)} not found`);o.status===`queued`&&(o.status=`skipped`,o.resolved_by={ref:`system`,environment:e.environment,config_hash:t.getConfigHashKey(),input_hash:t.getInputHashKey(i)},o.value=null,o.reason={code:`InputError`,message:`Field ${dS(n)} is missing but required (${r.value?`the value is`:`it has status`}: '${r.value?r.value:r.status}').`,summary:`Missing input`})})};for(let n=0;n<e.orderedPipePayloads.length;n++){let i=e.orderedPipePayloads[n],a=e.orderedPipeInstances[n];if(!a){t.errors.push(hS.UnknownResolver({pipeId:i.pipe_id,index:n}));continue}Object.values(t.records).forEach(e=>{let{valid:t,failedPipeInputField:n,failedRecordField:i}=eu(a.getInputRequirement(),e);t===!1&&r(a,n,i,e)})}}function AW({inputHashKey:e,configHashKey:t,config:n,expandedValue:r}){return!!(n.queue?.triggers?.configHashMismatch&&n.queue.enabled&&r.resolved_by?.config_hash&&t&&r.resolved_by.config_hash!==t||n.queue?.triggers?.inputHashMismatch&&n.queue.enabled&&r.resolved_by?.input_hash&&e&&r.resolved_by.input_hash!==e)}function jW({status:e,config:t}){return t.queue?.enabled?t.queue.triggers?.status?.includes(e)??!1:!1}function MW({inputHashKey:e,configHashKey:t,expandedValue:n,config:r}){return AW({inputHashKey:e,configHashKey:t,expandedValue:n,config:r})||jW({status:n.status,config:r})}function NW({inputHashKey:e,configHashKey:t,expandedValue:n}){let r=!1;return n.resolved_by?.config_hash&&t&&n.resolved_by.config_hash!==t&&(n.resolved_by.config_hash=t,r=!0),n.resolved_by?.input_hash&&e&&n.resolved_by.input_hash!==e&&(n.resolved_by.input_hash=e,r=!0),{didAdopt:r}}function PW(e,t,n,r,i){let a=Object.entries(r.records),o=[],s=[];for(let c=0;c<a.length;c++){let l=a[c];if(!l)throw Error(`Required arr not present`);let[u,d]=l;for(let a of Object.values(n.getOutputFields())){let{resolvedName:l,type:u}=a,ee=au({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},u),te=ou({pipes:e.orderedPipeInstances,derivedInputFields:e.derivedInputFields},a.format),{resolvedInputValue:ne,isExpanded:re,expandedValue:f}=pz(t[c]?.[l]??null),ie=d.fields[l],ae=n.getConfigHashKey(),oe=n.getInputHashKey(d),se={type:ee,format:te,claimed_by:{ref:n.pipeId,config_hash:ae}};if(r.errors.length>0&&ne===null){let t=r.errors[0];if(!t)throw Error(`firstError undefined.`);d.fields[l]={...se,value:null,status:`failed`,reason:{summary:`Validation error`,...t},resolved_by:{ref:`system`,environment:e.environment,config_hash:null,input_hash:null},widgets:{}};continue}let ce=dz(ne);if(ce!==`unknown`&&ce!==ee){let t=i.queue?.triggers?.outputFieldTypeError&&i.queue.enabled;d.fields[l]={...se,value:t?null:ne,status:t?`queued`:`completed`,reason:null,resolved_by:t?{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe}:{environment:e.environment,ref:`input`,config_hash:null,input_hash:null},widgets:t?{}:f?.widgets||ie?.widgets||{},format:t?te:f?.format||te};continue}if(ne==null){let t=re&&i.queue?.enabled&&f.status===`pending`,n=re&&!t;if(re&&i.adopt?.enabled===!0&&(!i.adopt.statuses||i.adopt.statuses.includes(f.status))){let{didAdopt:e}=NW({inputHashKey:oe,configHashKey:ae,expandedValue:f});e&&s.push(d.id)}if(re&&f.status!==`pending`&&MW({inputHashKey:oe,configHashKey:ae,config:i,expandedValue:f})&&i.queue?.enabled)o.push(d.id),d.fields[l]={...se,value:null,status:`queued`,reason:null,resolved_by:{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe},widgets:{}};else if(n)d.fields[l]={...se,value:null,status:f.status,type:f.type||ee,reason:f.reason||null,resolved_by:f.resolved_by||null,widgets:f.widgets||{},format:f.format||te};else{let t=i.queue?.triggers?.status?.includes(`pending`)??!0,n=i.queue?.enabled&&t?`queued`:`pending`;n===`queued`&&o.push(d.id),d.fields[l]={...se,value:null,status:n,reason:null,resolved_by:n===`queued`?{environment:e.environment,ref:`system`,config_hash:ae,input_hash:oe}:null,widgets:{}}}continue}if(re){if(re&&i.adopt?.enabled===!0&&(!i.adopt.statuses||i.adopt.statuses.includes(f.status))){let{didAdopt:e}=NW({inputHashKey:oe,configHashKey:ae,expandedValue:f});e&&s.push(d.id)}MW({inputHashKey:oe,configHashKey:ae,expandedValue:f,config:i})&&r.errors.length===0?(o.push(d.id),d.fields[l]={...se,value:null,status:`queued`,reason:null,resolved_by:{environment:e.environment,ref:`system`,config_hash:null,input_hash:null},widgets:{}}):d.fields[l]={...se,value:ne,status:`completed`,type:f.type||ee,reason:f.reason||null,resolved_by:f.resolved_by||{ref:`input`,config_hash:null,input_hash:null,environment:null},widgets:f.widgets||ie?.widgets||{},format:f.format||te}}else try{let e=wW(ne,te);d.fields[l]={...se,value:e,status:`completed`,reason:null,resolved_by:{ref:`input`,config_hash:null,input_hash:null,environment:null},widgets:ie?.widgets||{}}}catch{let t=i.queue?.enabled?`queued`:`failed`;t===`queued`&&o.push(d.id),d.fields[l]={...se,value:ne,status:t,reason:{code:`InvalidFormat`,message:`Field is of invalid format. Expected: ${a.format}`,summary:`Invalid Format`},resolved_by:{ref:`system`,environment:e.environment,config_hash:ae,input_hash:oe},widgets:{}}}}}return{queuedRecordIds:o,adoptedRecordIds:s}}function FW(e,t){Object.values(t.records).forEach(n=>{Object.entries(n.fields).forEach(([n,r])=>{let i=e.resolvedFieldNames[n]||n;if(r.status===`completed`){let e=hz(i,r.value,r);r.widgets=jt(Nt(r.widgets),e)}t.errors.length>0&&(r.status===`pending`||r.status===`queued`)&&(r.status=`failed`)})})}function IW(e,t){let{expandAllStatuses:n=!1,expandStatuses:r=[]}=t||{},i={};for(let[t,a]of Object.entries(e))(r.includes(a.status)||n)&&t!==`id`?i[t]={...a,widgets:Nt(a.widgets)}:i[t]=a.value;return i}function LW(e,t={}){return Object.values(e).map(e=>IW(e.fields,t))}function RW(e,t={}){return e.map(e=>IW(e.fields,t))}function zW(e,t={}){return IW(e.fields,t)}function BW(e,t){return e.map(e=>{let n={};return Object.entries(e).forEach(([e,r])=>{let{isExpanded:i,expandedValue:a,resolvedInputValue:o}=pz(r);i===!0&&a.status!=null&&t.unexpandStatuses.includes(a.status)?n[e]=o:n[e]=r}),n})}function VW(e){let t=e.trim().toLowerCase();if(!t)return null;if(t.includes(`://`))try{t=new URL(t).host}catch{return null}return t=t.replace(/\/.*$/,``).replace(/^www\./,``),/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/.test(t)?t:null}function HW(e){let t=VW(e);if(!t)return[];let n=[t,`www.${t}`],r=[...n];for(let e of n)for(let t of[`http://`,`https://`])r.push(`${t}${e}`),r.push(`${t}${e}/`);return r}function UW(e){return e?VW(e):null}const WW={REQUIRED_FIELD_MISSING:`caller_data`,INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST:`caller_data`,STRING_TOO_LONG:`caller_data`,MALFORMED_ID:`caller_data`,MALFORMED_QUERY:`caller_data`,INVALID_FIELD:`caller_data`,INVALID_TYPE:`caller_data`,INVALID_QUERY_FILTER_OPERATOR:`caller_data`,INVALID_EMAIL_ADDRESS:`caller_data`,FIELD_INTEGRITY_EXCEPTION:`caller_data`,DUPLICATE_VALUE:`caller_data`,JSON_PARSER_ERROR:`caller_data`,NOT_FOUND:`caller_data`,ENTITY_IS_DELETED:`caller_data`,INVALID_QUERY_LOCATOR:`caller_data`,FIELD_CUSTOM_VALIDATION_EXCEPTION:`org_policy`,DUPLICATES_DETECTED:`org_policy`,CANNOT_UPDATE_CONVERTED_LEAD:`org_policy`,INSUFFICIENT_ACCESS_OR_READONLY:`org_policy`,INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY:`org_policy`,CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY:`org_defect`,CANNOT_EXECUTE_FLOW_TRIGGER:`org_defect`,APEX_ERROR:`org_defect`,UNABLE_TO_LOCK_ROW:`transient`,QUERY_TIMEOUT:`transient`,SERVER_UNAVAILABLE:`transient`,REQUEST_RUNNING_TOO_LONG:`transient`,REQUEST_LIMIT_EXCEEDED:`quota`,INVALID_SESSION_ID:`auth`,INVALID_AUTH_HEADER:`auth`,OAUTH_APP_BLOCKED:`auth`,API_DISABLED_FOR_ORG:`auth`,INSUFFICIENT_SCOPE:`auth`};function GW(e){return WW[e]??`org_policy`}function KW(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.errorCode==`string`):[]}function qW(e){let t=e.find(e=>e.errorCode===`DUPLICATES_DETECTED`);if(!t)return null;let n=new Set,r=e=>{if(Array.isArray(e)){for(let t of e)r(t);return}if(typeof e!=`object`||!e)return;let t=e,i=t.record;i&&typeof i.Id==`string`&&n.add(i.Id);for(let e of[`duplicateResult`,`duplicateResults`,`matchResults`,`matchRecords`])e in t&&r(t[e])};return r(t),{message:t.message,matchedRecordIds:[...n]}}const JW={operators:[`eq`,`neq`,`contains`],encoding:`quoted`,columnType:`string`},YW={operators:[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`],encoding:`bare`,columnType:`number`},XW={operators:[`eq`,`neq`,`gt`,`gte`,`lt`,`lte`],encoding:`date`,columnType:`string`},ZW={string:JW,email:JW,phone:JW,url:JW,picklist:{...JW},combobox:{...JW},id:{operators:[`eq`,`neq`],encoding:`quoted`,columnType:`string`},reference:{operators:[`eq`,`neq`],encoding:`quoted`,columnType:`string`},int:YW,double:YW,currency:YW,percent:YW,date:XW,datetime:XW,time:XW,boolean:{operators:[`eq`],encoding:`boolean`,columnType:`boolean`},multipicklist:{operators:[`eq`,`contains`],encoding:`multipicklist`,columnType:`string`},textarea:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`long text fields are not filterable in Salesforce — filter on a different field`},address:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`address compound fields are not filterable — filter the component fields instead (e.g. BillingCity)`},location:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`geolocation compound fields are not filterable — filter the component fields instead`},encryptedstring:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`Shield-encrypted fields cannot be filtered or sorted in Salesforce`},base64:{operators:[],encoding:`quoted`,columnType:`string`,filterRejection:`binary fields cannot be filtered`}};function QW(e){return ZW[e]??JW}function $W(){let e=[];for(let[t,n]of Object.entries(ZW))e.push(n.filterRejection?`- ${t}: not filterable (${n.filterRejection})`:`- ${t}: ${n.operators.join(`, `)}`);return e.join(`
135
+ `)}function eG({instanceUrl:e,objectApiName:t,recordId:n}){let r;try{r=new URL(e).host}catch{r=e.replace(/^https?:\/\//,``).replace(/\/.*$/,``)}return`https://${r.endsWith(`.my.salesforce.com`)?r.replace(/\.my\.salesforce\.com$/,`.lightning.force.com`):r}/lightning/r/${t}/${n}/view`}const tG=/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)*$/,nG=/^[a-zA-Z0-9]{15}([a-zA-Z0-9]{3})?$/;function rG(e){return tG.test(e)}function iG(e){return nG.test(e)}function aG(e){if(!rG(e))throw Error(`'${e}' is not a valid Salesforce field reference. Use the field's API name (letters, digits, underscores; dots only for parent traversal like Account.Name).`);return e}function oG(e){return e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function sG(e){return`'${oG(e)}'`}function cG(e){return oG(e).replace(/([%_])/g,`\\$1`)}function lG(e){if(e.length===0)throw Error(`IN () with an empty list is invalid SOQL`);return`(${e.map(sG).join(`, `)})`}const uG=new Set([`YESTERDAY`,`TODAY`,`TOMORROW`,`THIS_WEEK`,`LAST_WEEK`,`NEXT_WEEK`,`THIS_MONTH`,`LAST_MONTH`,`NEXT_MONTH`,`THIS_QUARTER`,`LAST_QUARTER`,`NEXT_QUARTER`,`THIS_YEAR`,`LAST_YEAR`,`NEXT_YEAR`,`THIS_FISCAL_QUARTER`,`LAST_FISCAL_QUARTER`,`NEXT_FISCAL_QUARTER`,`THIS_FISCAL_YEAR`,`LAST_FISCAL_YEAR`,`NEXT_FISCAL_YEAR`]),dG=/^(LAST|NEXT)_N_(DAYS|WEEKS|MONTHS|QUARTERS|YEARS|FISCAL_QUARTERS|FISCAL_YEARS):\d{1,4}$/;function fG(e){let t=e.trim().toUpperCase();return uG.has(t)||dG.test(t)}const pG=/^\d{4}-\d{2}-\d{2}$/,mG=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})$/;function hG(e){let t=e.trim();if(fG(t))return t.toUpperCase();if(pG.test(t)||mG.test(t))return t;throw Error(`'${e}' is not a valid Salesforce date value. Use ISO format (2026-01-31 or 2026-01-31T00:00:00Z) or a SOQL date literal like LAST_N_DAYS:30.`)}function gG(e,t){let n=Number(e);if(!Number.isFinite(n))throw Error(`'${e}' is not a valid number`);if(t){if(!/^[A-Z]{3}$/.test(t))throw Error(`'${t}' is not a valid ISO currency code`);return`${t}${n}`}return String(n)}function _G(e){if(typeof e==`boolean`)return String(e);let t=e.trim().toLowerCase();if(t===`true`||t===`false`)return t;throw Error(`'${e}' is not a valid boolean (use true or false)`)}function vG(e){if(!iG(e))throw Error(`'${e}' is not a valid Salesforce record id cursor`);return`Id > ${sG(e)}`}const yG=[`people:profiles:icypeas@1`,`companies:profiles:icypeas@1`,`people:profiles:clado@1`,`people:profiles:clado@2`,`people:employees:leadmagic@1`,`companies:profiles:exa@1`,`people:profiles:exa@1`,`companies:profiles:crustdata@1`,`people:profiles:crustdata@1`],bG=r.enum(yG);function xG(e){let t=!0,n=e=>{if(t!==!1&&typeof e==`object`&&e){Array.isArray(e)&&e.length>0&&(t=!1);for(let r of Object.values(e))typeof r!=`object`&&r!=null&&r!==``&&(t=!1),typeof r==`object`&&r&&n(r)}};return n(e),t}function SG(e,t){let n={name:e,config:t};return jl.hashObject(n)}var CG=class{validatePayload(e){try{return this.schema.parse(e)}catch(e){throw e instanceof n?Error(JSON.stringify(r.prettifyError(e))):e}}catalogOutput(e){return{name:e.name,enabled:!!this.payload.config?.output_fields?.[e.name].enabled,type:e.type,format:e.format,resolvedName:this.payload.config?.output_fields?.[e.name]?.alias||e.name,description:e.description,jsonMeta:e.jsonMeta,label:e.label,isCatalogFIeld:!0}}getOutputFields(){let e={};for(let[t,n]of Object.entries(this.getRawOutputFields()))n.enabled&&(e[t]=n);return e}getHashKey(){return SG(this.searchId,this.payload)}};function wG(e){return e.split(`@`)[0]}function TG(e){return`/docs/search-catalog/${wG(e)}/${e.split(`@`)[1]}`}const EG=`companies:profiles:crustdata@1`,DG=h(`company_name`),OG=h(`company_website_url`),kG=h(`company_description`),AG=h(`company_profile_url`),jG=h(`crustdata_company_match`),MG=r.object({search_id:r.literal(EG),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,path:`config.limit`,max:1e3,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),cursor:pl({sectionKey:`general`,path:`config.cursor`,groupPath:`config.general`,inputType:`text`,description:``,label:`Continue previous search from cursor`}).nullable(),output_fields:F(r.object({[DG.name]:j({fieldName:DG.name}),[OG.name]:j({fieldName:DG.name}),[kG.name]:j({fieldName:kG.name}),[AG.name]:j({fieldName:AG.name}),[jG.name]:j({fieldName:jG.name})})),filters:r.object({hq_locations:_l({path:`config.filters.hq_locations`,sectionKey:`config.filters`,label:`HQ locations`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.location`,optionsDef:m(`locations`)}).default([]),crunchbase_categories:_l({path:`config.filters.crunchbase_categories`,sectionKey:`config.filters`,label:`Crunchbase categories`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.categories`,optionsDef:m(`company.crunchbase_categories.crustdata`)}).default([]),crunchbase_investors:_l({path:`config.filters.crunchbase_investors`,sectionKey:`config.filters`,label:`Investors to include (Crunchbase)`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.investors`,optionsDef:m(`company.crunchbase_investors.crustdata`)}).default([]),tracxn_investors:_l({path:`config.filters.tracxn_investors`,sectionKey:`config.filters`,label:`Investors to include (Tracxn)`,description:``,required:!1,groupPath:`config.filters.investors`,disableSearch:!1,optionsDef:m(`company.tracxn_investors.crustdata`)}).default([]),company_types:M({sectionKey:`config.filters`,path:`config.filters.company_types`,options:p(`crustdata.company_types`),label:`Company types`,description:``,required:!1,disableSearch:!0,groupPath:`config.filters.categories`}).default([]),linkedin_industries:_l({sectionKey:`config.filters`,path:`config.filters.linkedin_industries`,optionsDef:m(`linkedin_industries.crustdata`),label:`Industries`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.industry`}).default([]),markets:_l({sectionKey:`config.filters`,path:`config.filters.markets`,optionsDef:m(`company.markets.crustdata`),label:`Markets`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.industry`}).default([]),linkedin_categories:_l({sectionKey:`config.filters`,path:`config.filters.linkedin_categories`,optionsDef:m(`company.linkedin_categories.crustdata`),label:`Company types`,description:``,required:!1,disableSearch:!0,groupPath:`config.filters.categories`}).default([]),headcount:M({path:`config.filters.headcount`,sectionKey:`config.filters`,label:`Headcount`,description:``,disableSearch:!0,required:!1,options:p(`crustdata.company_size`),groupPath:`config.filters.company_size`}).default([]),headcount_growth_last_6m_in_percent:M({path:`config.filters.headcount_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`Headcount growth over last 6 months in percent`,description:``,options:p(`crustdata.headcount_growth`),disableSearch:!0,required:!1,groupPath:`config.filters.company_size`}).default([]),revenue_in_usd:ll({path:`config.filters.revenue_in_usd`,sectionKey:`config.filters`,label:`Revenue (USD)`,description:``,legend:`1k - 10B`,min:1e3,max:1e10,groupPath:`config.filters.financials`}),last_funding_type:M({path:`config.filters.last_funding_type`,sectionKey:`config.filters`,label:`Last funding type`,disableSearch:!0,required:!1,options:p(`crustdata.funding_rounds`),description:``,groupPath:`config.filters.financials`}).default([]),last_funding_amount:ll({path:`config.filters.last_funding_amount`,sectionKey:`config.filters`,label:`Last funding amount`,legend:`1k - 10B`,min:1e3,max:1e10,description:``,groupPath:`config.filters.financials`}),number_of_followers:M({path:`config.filters.number_of_followers`,sectionKey:`config.filters`,label:`Number of LinkedIn followers`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.company_followers`),groupPath:`config.filters.web_presence`}).default([]),follower_growth_last_6m_in_percent:M({path:`config.filters.follower_growth_last_6m_in_percent`,sectionKey:`config.filters`,label:`LinkedIn follower growth within last 6 months`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.follower_growth`),groupPath:`config.filters.web_presence`}).default([]),profile_summary_keywords:k({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,maxItems:50,label:`LinkedIn company description contains`,description:``,groupPath:`config.filters.keywords`}),competitor_websites:k({path:`config.filters.competitor_websites`,sectionKey:`config.filters`,maxItems:50,label:`Competitor domains`,description:`Ex. 'google.com'`,groupPath:`config.filters.competitors`})}).check(e=>{xG(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),NG={default:{input:[{fields:[]}]}},PG=class extends CG{searchId=EG;schema=MG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[DG.name]:this.catalogOutput(DG),[OG.name]:this.catalogOutput(OG),[kG.name]:this.catalogOutput(kG),[AG.name]:this.catalogOutput(AG),[jG.name]:this.catalogOutput(jG)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_company_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return NG}},FG=MG,IG={searchId:EG,billableOperation:`companies-profiles-crustdata`,baseSearch:wG(`companies:profiles:crustdata@1`),label:`Company search`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter based company search.`,tags:[U.COMPANY_PROFILES],docPath:TG(EG),cost:{mode:`per_page`,creditsPerPage:2},provider:`crustdata`,defaultPayload:{search_id:EG,connector:null,config:{limit:100,cursor:``,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},crustdata_company_match:{enabled:!0,alias:``}},filters:{company_types:[],headcount_growth_last_6m_in_percent:[],last_funding_amount:{from:null,to:null},last_funding_type:[],linkedin_industries:[],linkedin_categories:[],crunchbase_categories:[],markets:[],revenue_in_usd:{from:null,to:null},crunchbase_investors:[],tracxn_investors:[],follower_growth_last_6m_in_percent:[],headcount:[],hq_locations:[],number_of_followers:[],profile_summary_keywords:[],competitor_websites:[]}}}},LG=`companies:profiles:exa@1`,RG=h(`company_name`),zG=h(`company_website_url`),BG=h(`company_description`),VG=h(`company_industry`),HG=h(`headcount`),UG=h(`exa_match_evaluation`),WG=r.object({search_id:r.literal(LG),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,path:`config.limit`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(10),output_fields:F(r.object({[RG.name]:j({fieldName:RG.name}),[zG.name]:j({fieldName:RG.name}),[BG.name]:j({fieldName:BG.name}),[VG.name]:j({fieldName:VG.name}),[HG.name]:j({fieldName:HG.name}),[UG.name]:j({fieldName:UG.name})})),filters:r.object({query:ml({sectionKey:`config.filters`,path:`config.filters.query`,placeholder:`e.g. Top AI research labs focusing on large language models`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),GG={default:{input:[{fields:[]}]}},KG=class extends CG{searchId=LG;schema=WG;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[RG.name]:this.catalogOutput(RG),[zG.name]:this.catalogOutput(zG),[BG.name]:this.catalogOutput(BG),[VG.name]:this.catalogOutput(VG),[HG.name]:this.catalogOutput(HG),[UG.name]:this.catalogOutput(UG)}}getConnectionsRequirements(){return[{provider:`exa`,rateLimitOperation:`exa_websets`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return GG}},qG=WG,JG={searchId:LG,billableOperation:`companies-profiles-exa`,baseSearch:wG(`companies:profiles:exa@1`),label:`Company finder (websets)`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Semantic AI search to find company profiles. This search can take several minutes.`,tags:[U.COMPANY_PROFILES],docPath:TG(LG),cost:{mode:`per_result`,creditsPerResult:2},provider:`exa`,defaultPayload:{search_id:LG,connector:null,config:{limit:10,output_fields:{company_name:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},company_industry:{enabled:!0,alias:``},company_description:{enabled:!0,alias:``},headcount:{enabled:!0,alias:``},exa_match_evaluation:{enabled:!1,alias:``}},filters:{query:``}}}},YG=`companies:profiles:icypeas@1`,XG=h(`company_industry`),ZG=h(`company_name`),QG=h(`company_description`),$G=h(`company_website_url`),eK=h(`headcount`),tK=h(`company_region`),nK=h(`company_profile_url`),rK=h(`icypeas_company_match`),iK=r.object({search_id:r.literal(YG),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,max:5e4,min:1,path:`config.limit`,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),output_fields:F(r.object({company_name:j({fieldName:ZG.name}),company_industry:j({fieldName:XG.name}),company_description:j({fieldName:QG.name}),company_website_url:j({fieldName:$G.name}),headcount:j({fieldName:eK.name}),company_region:j({fieldName:tK.name}),company_profile_url:j({fieldName:nK.name}),icypeas_company_match:j({fieldName:rK.name})})),filters:r.object({name:A({path:`config.filters.name`,sectionKey:`config.filters`,includeLabel:`Company names to include`,excludeLabel:`Company names to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:100}).optional(),type:sl({path:`config.filters.type`,sectionKey:`config.filters`,label:``,description:``,placeholder:``,includeLabel:`Company types to include`,excludeLabel:`Company types to exclude`,optionsDef:{type:`static`,options:[{value:`Privately Held`,label:`Privately Held`},{value:`Public Company`,label:`Public Company`},{value:`Sole Proprietorship`,label:`Sole Proprietorship`},{value:`Self-Employed`,label:`Self-Employed`},{value:`Partnership`,label:`Partnership`},{value:`Nonprofit`,label:`Nonprofit`},{value:`Educational Institution`,label:`Educational Institution`},{value:`Government Agency`,label:`Government Agency`}]},groupPath:`config.filters.company_information`}).optional(),industry:sl({path:`config.filters.industry`,sectionKey:`config.filters`,optionsDef:ze(`linkedin.industries`),includeLabel:`Industries to include`,excludeLabel:`Industries to exclude`,description:``,placeholder:``,groupPath:`config.filters.industry`,maxItems:50}).optional(),location:A({path:`config.filters.location`,sectionKey:`config.filters`,includeLabel:`Locations to include`,excludeLabel:`Locations to exclude`,description:``,placeholder:`US, FR, New York`,groupPath:`config.filters.geografic`,maxItems:20}).optional(),headcount:ll({path:`config.filters.headcount`,sectionKey:`config.filters`,legend:`1-1M`,label:`Headcount`,description:``,min:1,max:1e6,unit:`employees`,groupPath:`config.filters.company_size`}).optional(),urn:A({path:`config.filters.urn`,sectionKey:`config.filters`,label:``,description:``,groupPath:`config.filters.linkedin`,excludeLabel:`URNs to exclude`,includeLabel:`URNs to include`,maxItems:200}).optional(),lid:A({path:`config.filters.lid`,sectionKey:`config.filters`,label:``,description:``,groupPath:`config.filters.linkedin`,includeLabel:`LinkedIn IDs to include`,excludeLabel:`LinkedIn IDs to exclude`,maxItems:200}).optional()}).check(e=>{xG(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),aK={default:{input:[{fields:[{outputField:`company_profile_url`}]}]}},oK=class extends CG{searchId=YG;schema=iK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[ZG.name]:this.catalogOutput(ZG),[XG.name]:this.catalogOutput(XG),[nK.name]:this.catalogOutput(nK),[$G.name]:this.catalogOutput($G),[QG.name]:this.catalogOutput(QG),[eK.name]:this.catalogOutput(eK),[tK.name]:this.catalogOutput(tK),[rK.name]:this.catalogOutput(rK)}}getConnectionsRequirements(){return[{provider:`icypeas`,rateLimitOperation:`icypeas_company_database`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return aK}},sK=iK,cK={searchId:YG,billableOperation:`companies-profiles-icypeas`,baseSearch:wG(`companies:profiles:icypeas@1`),label:`Find company profiles`,categories:[`companies`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search a filter-based, general-purpose company database.`,tags:[U.COMPANY_PROFILES],docPath:TG(YG),cost:{mode:`per_result`,creditsPerResult:.4},provider:`icypeas`,defaultPayload:{search_id:YG,connector:null,config:{limit:100,output_fields:{company_name:{alias:``,enabled:!0},icypeas_company_match:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0},company_description:{alias:``,enabled:!0},company_industry:{alias:``,enabled:!0},company_profile_url:{alias:``,enabled:!0},headcount:{alias:``,enabled:!0},company_region:{alias:``,enabled:!0}},filters:{name:{include:[],exclude:[]},type:{include:[],exclude:[]},industry:{include:[],exclude:[]},location:{include:[],exclude:[]},headcount:{},urn:{include:[],exclude:[]},lid:{include:[],exclude:[]}}}}},lK=`people:profiles:clado@1`,uK=h(`name`),dK=h(`job_title`),fK=h(`company_name`),pK=h(`company_profile_url`),mK=h(`profile_url`),hK=h(`clado_person_match`),gK=r.object({search_id:r.literal(lK),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,path:`config.limit`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(20),output_fields:F(r.object({[uK.name]:j({fieldName:uK.name}),[dK.name]:j({fieldName:dK.name}),[pK.name]:j({fieldName:pK.name}),[fK.name]:j({fieldName:fK.name}),[mK.name]:j({fieldName:mK.name}),[hK.name]:j({fieldName:hK.name})})),filters:r.object({query:ml({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),_K={default:{input:[{fields:[{outputField:`profile_url`}]}]}},vK=class extends CG{searchId=lK;schema=gK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[uK.name]:this.catalogOutput(uK),[dK.name]:this.catalogOutput(dK),[fK.name]:this.catalogOutput(fK),[mK.name]:this.catalogOutput(mK),[pK.name]:this.catalogOutput(pK),[hK.name]:this.catalogOutput(hK)}}getConnectionsRequirements(){return[{provider:`clado`,rateLimitOperation:`clado_search_people`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return _K}},yK=gK,bK={searchId:lK,billableOperation:`people-profiles-clado`,baseSearch:Cr(`people:profiles:clado@1`),label:`Find people profiles with Clado`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:clado@2`},description:`Search through millions of LinkedIn profiles using natural language queries. This endpoint provides fast searching with AI-powered relevance matching.`,tags:[U.PEOPLE_PROFILES],docPath:`/resources/search-catalog/people:profiles:clado/1`,cost:{mode:`per_search`,creditsPerSearch:3},provider:`clado`,defaultPayload:{search_id:lK,connector:null,config:{limit:20,output_fields:{company_name:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},clado_person_match:{enabled:!0,alias:``}},filters:{query:``}}}},xK=`people:profiles:clado@2`,SK=h(`name`),CK=h(`job_title`),wK=h(`company_name`),TK=h(`company_profile_url`),EK=h(`profile_url`),DK=h(`clado_person_match_v2`),OK=r.object({search_id:r.literal(xK),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,path:`config.limit`,max:1e4,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),search_id:pl({sectionKey:`general`,path:`config.search_id`,inputType:`text`,groupPath:`config.continue_existing_search`,label:`Search id`,description:`The id of the search you want to continue`}).nullable().default(``),offset:P({sectionKey:`general`,path:`config.offset`,groupPath:`config.continue_existing_search`,label:`Offset`,max:1e5,min:1,description:`To continue the previous search, provide both the search_id and the last offset.`}).nullish(),output_fields:F(r.object({[SK.name]:j({fieldName:SK.name}),[CK.name]:j({fieldName:CK.name}),[TK.name]:j({fieldName:TK.name}),[wK.name]:j({fieldName:wK.name}),[EK.name]:j({fieldName:EK.name}),[DK.name]:j({fieldName:DK.name})})),filters:r.object({query:ml({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:0,maxLength:2e4}).default(``)}).optional()})}).check(e=>{let t=!!e.value.config.filters?.query,n=!!e.value.config.search_id&&!!e.value.config.offset;!t&&!n&&e.issues.push({code:`custom`,input:``,message:`Must define either 'query' or both 'searchId' AND 'offset'.`,path:[`config.filters.query`]})}),kK={default:{input:[{fields:[{outputField:`profile_url`}]}]}},AK=class extends CG{searchId=xK;schema=OK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[SK.name]:this.catalogOutput(SK),[CK.name]:this.catalogOutput(CK),[wK.name]:this.catalogOutput(wK),[EK.name]:this.catalogOutput(EK),[TK.name]:this.catalogOutput(TK),[DK.name]:this.catalogOutput(DK)}}getConnectionsRequirements(){return[{provider:`clado`,rateLimitOperation:`clado_search_people`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return kK}},jK=OK,MK={searchId:xK,billableOperation:`people-profiles-clado`,baseSearch:Cr(`people:profiles:clado@2`),label:`Find people profiles`,categories:[`deprecated`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:{deprecatedOn:`2026-06-13`,replacedBy:`people:profiles:clado@2`},description:`Search a growing dataset with semantic queries.`,tags:[],docPath:`/resources/search-catalog/people:profiles:clado/1`,cost:{mode:`per_page`,creditsPerPage:3},provider:`clado`,defaultPayload:{search_id:xK,connector:null,config:{limit:100,search_id:``,offset:void 0,output_fields:{company_name:{enabled:!0,alias:``},company_profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},clado_person_match_v2:{enabled:!0,alias:``}},filters:{query:``}}}},NK=`people:employees:leadmagic@1`,PK=h(`name`),FK=h(`job_title`),IK=h(`company_website_url`),LK=h(`company_name`),RK=r.object({search_id:r.literal(NK),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,max:500,min:1,path:`config.limit`,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(50),output_fields:F(r.object({[PK.name]:j({fieldName:PK.name}),[LK.name]:j({fieldName:LK.name}),[IK.name]:j({fieldName:IK.name}),[FK.name]:j({fieldName:FK.name})})),filters:r.object({company_website_url:pl({path:`config.filters.company_website_url`,sectionKey:`config.filters`,groupPath:`config.filters.website`,inputType:`text`,description:`URL of the employer company.`,label:`Company Website URL`}).nullable()})})}),zK={default:{input:[{fields:[{outputField:IK.name}]}]}},BK=class extends CG{searchId=NK;schema=RK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[PK.name]:this.catalogOutput(PK),[FK.name]:this.catalogOutput(FK),[IK.name]:this.catalogOutput(IK),[LK.name]:this.catalogOutput(LK)}}getConnectionsRequirements(){return[{provider:`leadmagic`,rateLimitOperation:`leadmagic_employee_finder`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return zK}},VK=RK,HK={searchId:NK,billableOperation:`people-employees-leadmagic`,baseSearch:wG(`people:employees:leadmagic@1`),label:`Employee finder`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search for employees of a company.`,tags:[U.PEOPLE_PROFILES],docPath:TG(NK),cost:{mode:`per_result`,creditsPerResult:.05},provider:`leadmagic`,defaultPayload:{search_id:NK,connector:null,config:{limit:50,output_fields:{name:{alias:``,enabled:!0},job_title:{alias:``,enabled:!0},company_website_url:{alias:``,enabled:!0},company_name:{alias:``,enabled:!0}},filters:{company_website_url:``}}}},UK=`people:profiles:crustdata@1`,WK=h(`name`),GK=h(`company_website_url`),KK=h(`profile_url`),qK=h(`job_title`),JK=h(`crustdata_person_match`),YK=r.object({search_id:r.literal(UK),connector:io.nullable().optional(),config:r.object({limit:P({sectionKey:`general`,path:`config.limit`,max:1e3,min:1,groupPath:`config.general`,description:``,label:`Limit number of results`}).default(100),cursor:pl({sectionKey:`general`,path:`config.cursor`,groupPath:`config.general`,inputType:`text`,description:``,label:`Continue previous search from cursor`}).nullable(),output_fields:F(r.object({[WK.name]:j({fieldName:WK.name}),[GK.name]:j({fieldName:GK.name}),[KK.name]:j({fieldName:KK.name}),[qK.name]:j({fieldName:qK.name}),[JK.name]:j({fieldName:JK.name})})),filters:r.object({locations:_l({path:`config.filters.locations`,sectionKey:`config.filters`,label:`Locations`,disableSearch:!1,required:!1,optionsDef:m(`locations`),groupPath:`config.filters.general`}).default([]),profile_headline_keywords:al({path:`config.filters.profile_headline_keywords`,sectionKey:`config.filters`,label:`Headline contains keywords`,maxItems:100,groupPath:`config.filters.keywords`}),profile_summary_keywords:al({path:`config.filters.profile_summary_keywords`,sectionKey:`config.filters`,label:`Profile about section contains keywords`,maxItems:100,groupPath:`config.filters.keywords`}),profile_languages:M({path:`config.filters.profile_languages`,sectionKey:`config.filters`,label:`Profile languages`,disableSearch:!1,required:!1,options:p(`crustdata.person_profile_languages`),groupPath:`config.filters.profile`}).default([]),languages:M({path:`config.filters.languages`,sectionKey:`config.filters`,label:`Spoken languages`,disableSearch:!1,required:!1,options:p(`crustdata.person_profile_languages`),groupPath:`config.filters.profile`}).default([]),skills:_l({path:`config.filters.skills`,sectionKey:`config.filters`,label:`Skills`,placeholder:`.NET, PMO, ...`,disableSearch:!1,required:!1,description:``,groupPath:`config.filters.skills`,optionsDef:m(`skills`)}).default([]),years_of_experience:M({path:`config.filters.years_of_experience`,sectionKey:`config.filters`,label:`Years of experience`,placeholder:`1 to 2 years`,disableSearch:!0,description:``,required:!1,options:p(`crustdata.years_of_experience`),groupPath:`config.filters.experience`}).default([]),current_seniority_levels:sl({path:`config.filters.current_seniority_levels`,sectionKey:`config.filters`,disableSearch:!0,label:`Seniority`,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),current_employers:k({path:`config.filters.current_employers`,sectionKey:`config.filters`,label:`Current employers`,description:``,maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`person.current_employer_names.crustdata`)}),current_employers_website_urls:k({path:`config.filters.current_employers_website_urls`,sectionKey:`config.filters`,label:`Current employer domains`,description:``,maxItems:200,groupPath:`config.filters.experience`}),current_job_titles:k({path:`config.filters.current_job_titles`,sectionKey:`config.filters`,label:`Current job titles`,description:``,order:1,groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}),current_employers_linkedin_industries:_l({path:`config.filters.current_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Current employers industries`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`)}).default([]),years_at_current_company:M({path:`config.filters.years_at_current_company`,sectionKey:`config.filters`,label:`Years at current company`,placeholder:`1 to 2 years`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,options:p(`crustdata.years_of_experience`)}).default([]),previous_employers_website_urls:k({path:`config.filters.previous_employers_website_urls`,sectionKey:`config.filters`,label:`Previous employer domains`,description:``,maxItems:200,groupPath:`config.filters.experience`}),previous_seniority_levels:sl({path:`config.filters.previous_seniority_levels`,sectionKey:`config.filters`,label:`Previous seniority`,disableSearch:!0,optionsDef:ze(`crustdata.person_seniority`),description:``,groupPath:`config.filters.experience`}).default({include:[],exclude:[]}),previous_employers:k({path:`config.filters.previous_employers`,sectionKey:`config.filters`,label:`Previous employer name`,description:``,maxItems:200,groupPath:`config.filters.experience`,suggestionsDef:m(`person.past_employer_names.crustdata`)}),previous_job_titles:k({path:`config.filters.previous_job_titles`,sectionKey:`config.filters`,label:`Current job titles`,description:``,groupPath:`config.filters.experience`,suggestionsDef:m(`titles`)}),previous_employers_linkedin_industries:_l({path:`config.filters.previous_employers_linkedin_industries`,sectionKey:`config.filters`,label:`Previous employer industry`,disableSearch:!1,required:!1,groupPath:`config.filters.experience`,description:``,optionsDef:m(`linkedin_industries.crustdata`)}).default([]),certifications:k({path:`config.filters.certifications`,sectionKey:`config.filters`,label:`Certifications`,groupPath:`config.filters.certifications_honors`,description:``}),honors:k({path:`config.filters.honors`,sectionKey:`config.filters`,label:`Honors`,groupPath:`config.filters.certifications_honors`,description:``}),recently_changed_jobs:fl({path:`config.filters.recently_changed_jobs`,sectionKey:`config.filters`,label:`Recently changed jobs`,description:``,defaultValue:null,groupPath:`config.filters.activities`}),fields_of_study:_l({path:`config.filters.fields_of_study`,sectionKey:`config.filters`,label:`Fields of study`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`person.education_field_of_study.crustdata`)}).default([]),degree_names:_l({path:`config.filters.degree_names`,sectionKey:`config.filters`,label:`Degree names`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`person.education_degree.crustdata`)}).default([]),school_names:_l({path:`config.filters.school_names`,sectionKey:`config.filters`,label:`School names`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default([]),current_school_names:_l({path:`config.filters.current_school_names`,sectionKey:`config.filters`,label:`Currently enrolled at`,description:``,disableSearch:!1,required:!1,groupPath:`config.filters.education`,optionsDef:m(`schools`)}).default([]),extracurricular_activities:k({path:`config.filters.extracurricular_activities`,sectionKey:`config.filters`,label:`Extracurricular activities`,description:``,groupPath:`config.filters.education`,suggestionsDef:m(`person.education_activities.crustdata`)})}).check(e=>{xG(e.value)&&e.issues.push({code:`custom`,message:`You must set at least one filter.`,input:e.value})})})}),XK={default:{input:[{fields:[]}]}},ZK=class extends CG{searchId=UK;schema=YK;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[WK.name]:this.catalogOutput(WK),[GK.name]:this.catalogOutput(GK),[KK.name]:this.catalogOutput(KK),[qK.name]:this.catalogOutput(qK),[JK.name]:this.catalogOutput(JK)}}getConnectionsRequirements(){return[{provider:`crustdata`,rateLimitOperation:`crustdata_people_db_search`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return XK}},QK=YK,$K={searchId:UK,billableOperation:`people-profiles-crustdata`,baseSearch:wG(`people:profiles:crustdata@1`),label:`People search`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Filter-based people search.`,tags:[U.PEOPLE_PROFILES],docPath:TG(UK),cost:{mode:`per_page`,creditsPerPage:5},provider:`crustdata`,defaultPayload:{search_id:UK,connector:null,config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},crustdata_person_match:{enabled:!0,alias:``}},filters:{profile_headline_keywords:[],languages:[],profile_summary_keywords:[],previous_job_titles:[],current_employers:[],current_school_names:[],years_at_current_company:[],certifications:[],honors:[],current_employers_linkedin_industries:[],current_employers_website_urls:[],previous_employers_website_urls:[],current_seniority_levels:{include:[],exclude:[]},previous_seniority_levels:{include:[],exclude:[]},degree_names:[],locations:[],profile_languages:[],recently_changed_jobs:null,extracurricular_activities:[],school_names:[],fields_of_study:[],previous_employers:[],current_job_titles:[],skills:[],years_of_experience:[],previous_employers_linkedin_industries:[]}}}},eq=`people:profiles:exa@1`,tq=h(`name`),nq=h(`profile_url`),rq=h(`job_title`),iq=h(`company_name`),aq=h(`company_region`),oq=h(`exa_match_evaluation`),sq=r.object({search_id:r.literal(eq),connector:io.nullable().optional(),config:r.object({limit:P({path:`config.limit`,sectionKey:`general`,max:100,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(10),output_fields:F(r.object({[tq.name]:j({fieldName:tq.name}),[nq.name]:j({fieldName:nq.name}),[rq.name]:j({fieldName:rq.name}),[iq.name]:j({fieldName:iq.name}),[aq.name]:j({fieldName:aq.name}),[oq.name]:j({fieldName:oq.name})})),filters:r.object({query:ml({path:`config.filters.query`,sectionKey:`config.filters`,placeholder:`e.g. Software engineers in San Francisco`,groupPath:`config.filters.query`,rows:5,label:`Search description in natural language`,minLength:10,maxLength:2e4})})})}),cq={default:{input:[{fields:[]}]}},lq=class extends CG{searchId=eq;schema=sq;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[tq.name]:this.catalogOutput(tq),[nq.name]:this.catalogOutput(nq),[rq.name]:this.catalogOutput(rq),[iq.name]:this.catalogOutput(iq),[aq.name]:this.catalogOutput(aq),[oq.name]:this.catalogOutput(oq)}}getConnectionsRequirements(){return[{provider:`exa`,rateLimitOperation:`exa_websets`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return cq}},uq=sq,dq={searchId:eq,billableOperation:`people-profiles-exa`,baseSearch:wG(`people:profiles:exa@1`),label:`People finder (websets)`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Semantic AI search for people profiles. This search can take several minutes.`,tags:[U.COMPANY_PROFILES],docPath:TG(eq),cost:{mode:`per_result`,creditsPerResult:2},provider:`exa`,defaultPayload:{search_id:eq,connector:null,config:{limit:10,output_fields:{name:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},company_name:{enabled:!0,alias:``},company_region:{enabled:!0,alias:``},exa_match_evaluation:{enabled:!1,alias:``}},filters:{query:``}}}},fq=`people:profiles:icypeas@1`,pq=h(`name`),mq=h(`job_title`),hq=h(`profile_headline`),gq=h(`company_website_url`),_q=h(`company_profile_url`),vq=h(`profile_url`),yq=h(`icypeas_person_match`),bq=r.object({search_id:r.literal(fq),connector:io.nullable().optional(),config:r.object({limit:P({path:`config.limit`,sectionKey:`general`,max:5e4,min:1,groupPath:`config.general`,description:``,label:`Limit number of search results`}).default(100),output_fields:F(r.object({[pq.name]:j({fieldName:pq.name}),[mq.name]:j({fieldName:mq.name}),[hq.name]:j({fieldName:hq.name}),[gq.name]:j({fieldName:gq.name}),[_q.name]:j({fieldName:_q.name}),[vq.name]:j({fieldName:vq.name}),[yq.name]:j({fieldName:yq.name})})),filters:r.object({firstname:A({path:`config.filters.firstname`,sectionKey:`config.filters`,includeLabel:`First names to include`,excludeLabel:`First names to exclude`,description:``,placeholder:``,groupPath:`config.filters.personal_information`,maxItems:200}).optional(),lastname:A({path:`config.filters.lastname`,sectionKey:`config.filters`,includeLabel:`Last names to include`,excludeLabel:`Last names to exclude`,description:``,placeholder:``,groupPath:`config.filters.personal_information`,maxItems:200}).optional(),currentJobTitle:A({path:`config.filters.currentJobTitle`,sectionKey:`config.filters`,includeLabel:`Current job titles to include`,excludeLabel:`Current job titles to exclude`,description:``,placeholder:``,groupPath:`config.filters.job_information`,maxItems:200}).optional(),currentEmployersWebsiteUrls:A({groupPath:`config.filters.job_information`,path:`config.filters.currentEmployersWebsiteUrls`,sectionKey:`config.filters`,description:``,includeLabel:`Include current employer domains`,excludeLabel:`Exclude current employer domains`,maxItems:100}).optional(),pastEmployersWebsiteUrls:A({groupPath:`config.filters.job_information`,path:`config.filters.pastEmployersWebsiteUrls`,sectionKey:`config.filters`,description:``,includeLabel:`Past employers website URLs to include`,excludeLabel:`Past employers website URLs to exclude`,maxItems:100}).optional(),pastJobTitle:A({path:`config.filters.pastJobTitle`,sectionKey:`config.filters`,includeLabel:`Past job titles to include`,excludeLabel:`Past job titles to exclude`,description:``,placeholder:``,groupPath:`config.filters.job_information`,maxItems:200}).optional(),currentCompanyName:A({path:`config.filters.currentCompanyName`,sectionKey:`config.filters`,includeLabel:`Companies to include`,excludeLabel:`Companies to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:200}).optional(),pastCompanyName:A({path:`config.filters.pastCompanyName`,sectionKey:`config.filters`,includeLabel:`Past employers to include`,excludeLabel:`Past employers to exclude`,description:``,placeholder:``,groupPath:`config.filters.company_information`,maxItems:200}).optional(),school:A({path:`config.filters.school`,sectionKey:`config.filters`,includeLabel:`Schools to include`,excludeLabel:`Schools to exclude`,label:``,description:``,placeholder:``,groupPath:`config.filters.education`,maxItems:200}).optional(),location:A({path:`config.filters.location`,sectionKey:`config.filters`,includeLabel:`Locations to include`,excludeLabel:`Locations to exclude`,description:`Filter by location`,placeholder:`e.g., US, FR, New York`,groupPath:`config.filters.geografic`,maxItems:200}).optional(),languages:A({path:`config.filters.languages`,sectionKey:`config.filters`,includeLabel:`Languages to include`,excludeLabel:`Languages to exclude`,description:`ex. EN, ES`,groupPath:`config.filters.languages`,maxItems:200}).optional(),skills:A({path:`config.filters.skills`,sectionKey:`config.filters`,includeLabel:`Skills to include`,excludeLabel:`Skills to exclude`,description:``,placeholder:``,groupPath:`config.filters.skills`,maxItems:200}).optional(),keyword:A({path:`config.filters.keyword`,sectionKey:`config.filters`,includeLabel:`Keywords to include`,excludeLabel:`Keywords to exclude`,description:``,placeholder:`CEO, Sales, Scrum`,groupPath:`config.filters.general_search`,maxItems:200}).optional()}).check(e=>{xG(e.value)&&e.issues.push({code:`custom`,message:`The filters object cannot be empty. You must set at least one filter.`,input:e.value})})})}),xq={default:{input:[{fields:[{outputField:`profile_url`}]}]}},Sq=class extends CG{searchId=fq;schema=bq;payload;constructor(e){super(),this.payload=this.validatePayload(e)}getRawOutputFields(){return{[pq.name]:this.catalogOutput(pq),[mq.name]:this.catalogOutput(mq),[hq.name]:this.catalogOutput(hq),[gq.name]:this.catalogOutput(gq),[_q.name]:this.catalogOutput(_q),[vq.name]:this.catalogOutput(vq),[yq.name]:this.catalogOutput(yq)}}getConnectionsRequirements(){return[{provider:`icypeas`,rateLimitOperation:`icypeas_lead_database`,rateLimitRatio:1,allowManagedConnection:!0}]}getDedupConfig(){return xq}},Cq=bq,wq={searchId:fq,billableOperation:`people-profiles-icypeas`,provider:`icypeas`,baseSearch:wG(fq),label:`Find people profiles`,categories:[`people`],hasManagedConnection:!0,allowsUserConnection:!0,lifecycle:null,description:`Search a filter-based, general-purpose lead database with people profiles.`,tags:[U.PEOPLE_PROFILES],docPath:TG(fq),cost:{mode:`per_result`,creditsPerResult:.4},defaultPayload:{search_id:fq,connector:null,config:{limit:100,output_fields:{company_profile_url:{enabled:!0,alias:``},company_website_url:{enabled:!0,alias:``},job_title:{enabled:!0,alias:``},name:{enabled:!0,alias:``},profile_headline:{enabled:!0,alias:``},profile_url:{enabled:!0,alias:``},icypeas_person_match:{enabled:!0,alias:``}},filters:{currentCompanyName:{include:[],exclude:[]},currentEmployersWebsiteUrls:{include:[],exclude:[]},pastEmployersWebsiteUrls:{include:[],exclude:[]},currentJobTitle:{include:[],exclude:[]},firstname:{include:[],exclude:[]},keyword:{include:[],exclude:[]},languages:{include:[],exclude:[]},lastname:{include:[],exclude:[]},location:{include:[],exclude:[]},pastCompanyName:{include:[],exclude:[]},pastJobTitle:{include:[],exclude:[]},school:{include:[],exclude:[]},skills:{include:[],exclude:[]}}}}},Tq={"people:profiles:crustdata@1":ZK,"companies:profiles:crustdata@1":PG,"companies:profiles:exa@1":KG,"people:profiles:exa@1":lq,"people:profiles:icypeas@1":Sq,"companies:profiles:icypeas@1":oK,"people:employees:leadmagic@1":BK,"people:profiles:clado@1":vK,"people:profiles:clado@2":AK},Eq={"people:profiles:crustdata@1":QK,"companies:profiles:crustdata@1":FG,"companies:profiles:exa@1":qG,"people:profiles:exa@1":uq,"people:profiles:icypeas@1":Cq,"companies:profiles:icypeas@1":sK,"people:employees:leadmagic@1":VK,"people:profiles:clado@1":yK,"people:profiles:clado@2":jK},Dq={"people:profiles:crustdata@1":$K,"companies:profiles:crustdata@1":IG,"companies:profiles:exa@1":JG,"people:profiles:exa@1":dq,"people:profiles:icypeas@1":wq,"companies:profiles:icypeas@1":cK,"people:employees:leadmagic@1":HK,"people:profiles:clado@1":bK,"people:profiles:clado@2":MK};function Oq(e){return Tq[e]}function kq(e){return Eq[e]}function Aq(e){return Dq[e].defaultPayload}const jq=t.discriminatedUnion(`search_id`,Object.values(Eq).map(e=>e)),Mq=t.preprocess(e=>{if(!e||typeof e!=`object`||!(`search_id`in e))return e;let t=Aq(e.search_id);return t?{...e,config:yt(e?.config||{},t.config)}:e},jq);function Nq(e){return Object.keys(Dq[e].defaultPayload.config.output_fields)}const Pq=Fa,Fq=t.object({value:xa,status:ba,type:va.optional(),format:Ra.nullable().optional(),resolved_by:Wa.nullable().optional(),widgets:Pa.optional()}),Iq=t.record(t.string(),Fq.nullable()),Lq=t.object({search:t.object({ref:bG}),status:t.enum([`pending`,`processing`,`failed`,`completed`]),errors:t.array(Pq),meta:t.object({providers:t.object({clado:t.object({pagination:t.object({search_id:t.string().optional(),offset:t.number().optional()})}).optional(),crustdata:t.object({pagination:t.object({cursor:t.string().nullable()})}).optional()}).optional()})}),Rq=t.object({id:t.string(),status:t.enum([`completed`,`failed`,`pending`,`processing`]),results:t.array(Iq),search_statuses:t.array(Lq),organizationId:t.string()}).openapi(`SearchesResponseSchema`),zq=t.object({environment:t.enum([`production`,`sandbox`]).default(`production`),widgets:t.object({enabled:t.boolean().default(!1)}).default({enabled:!1})}),Bq=zq.extend({dedup:t.object({strategy:t.enum([`default`]).nullable()}).default({strategy:null})}),Vq=t.object({config:Bq.default({dedup:{strategy:`default`},environment:`production`,widgets:{enabled:!1}}),searches:t.array(Mq)}).openapi(`SearchesRequestSchema`);function Hq(e){let t=e.split(`@`)[1];if(!t)throw Error(`No search version found`);return Number(t)}function Uq(){let e={};for(let t of Object.values(Dq)){let{baseSearch:n}=t;e[n]??=[],e[n].push(t)}return Object.entries(e).forEach(([t,n])=>{e[t]=n.sort((e,t)=>{let n=Hq(e.searchId);return Hq(t.searchId)-n})}),e}const Wq=Uq();function Gq(e){let t=[];for(let[n,r]of Object.entries(Wq)){let i=r[0];if(!i)throw Error(`Found empty entry`);i.lifecycle?.deprecatedOn&&e!==`deprecated`||(e===null||i.categories.includes(e))&&t.push({...i,baseSearch:n,latestVersion:Hq(i.searchId)})}return t}function Kq(e,t){let n=e.filter(e=>t===null?!0:e.categories.some(e=>e===t)),r={},i={},a={};for(let e of n){if(e.lifecycle&&e.lifecycle.deprecatedOn){i.Deprecated??=[],i.Deprecated.push(e.searchId);continue}a[e.provider]??=[],a[e.provider].push(e.searchId);for(let t of Nq(e.searchId))r[t]??=[],r[t].push(e.searchId);for(let t of e.tags)i[t]??=[],i[t].push(e.searchId)}return{searchIdsByOutputField:r,searchIdsByTag:i,searchIdsByProvider:a,sortedTagEntries:Object.entries(i).sort((e,t)=>e[0].localeCompare(t[0])),sortedOutputFieldEntries:Object.entries(r).sort((e,t)=>e[0].localeCompare(t[0])),sortedProviderEntries:Object.entries(a).sort((e,t)=>e[0].localeCompare(t[0])),searchEntriesByBaseSearch:Wq}}function qq(e){return Dq[e]}function Jq(e){let t=qq(e);return{[t.provider]:t.cost.mode===`per_result`?t.cost.creditsPerResult:t.cost.mode===`per_search`?t.cost.creditsPerSearch:t.cost.creditsPerPage}}function Yq(e){return e.map(e=>({public_id:`sandbox-${e}`,provider:e,is_default:!0}))}function Xq(e){return Yq(UR(e).allowedUserConnectionProviders)}function Zq(e){return Yq([OR(e).provider])}function Qq(e){return Yq([qq(e).provider])}const $q=[{id:`people`,label:`People`,color:`#8B7DFF`,order:0},{id:`companies`,label:`Companies`,color:`#10B981`,order:1},{id:`data`,label:`Data`,color:`#F59E0B`,order:2},{id:`deprecated`,label:`Deprecated`,color:`#94A3B8`,order:3}],eJ=new Map($q.map(e=>[e.id,e]));function tJ(e){return eJ.get(e)}function nJ(){return $q}const rJ={"people:profiles:amplemarket@1":[{search_id:`people:profiles:amplemarket@1`,config:{page_number:1,limit:50,filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[`Berlin`],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}],"companies:profiles:amplemarket@1":[{search_id:`companies:profiles:amplemarket@1`,config:{page_number:1,limit:50,filters:{company_industries:{include:[],exclude:[]},company_names:{include:[`Microsoft`],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}],"people:profiles:crustdata@1":[{search_id:`people:profiles:crustdata@1`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin`,`Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},profile_languages:{include:[`English`],exclude:[]},languages:{include:[],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},years_of_experience:[`1 to 2 years`],current_seniority_levels:{include:[`Senior`],exclude:[]},current_employers:{include:[],exclude:[]},current_employers_website_urls:{include:[],exclude:[]},current_job_titles:{include:[`Software Engineer`],exclude:[]},current_employers_linkedin_industries:{include:[],exclude:[]},years_at_current_company:[`1 to 2 years`],previous_seniority_levels:{include:[],exclude:[]},previous_employers:{include:[],exclude:[]},previous_employers_website_urls:{include:[],exclude:[]},previous_employers_linkedin_industries:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},recently_changed_jobs:!1,fields_of_study:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},school_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},extracurricular_activities:{include:[],exclude:[]}}}}],"companies:profiles:crustdata@1":[{search_id:`companies:profiles:crustdata@1`,config:{cursor:``,limit:10,filters:{hq_locations:{include:[`San Francisco, CA`],exclude:[]},crunchbase_categories:{include:[`Artificial Intelligence`],exclude:[]},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},company_types:{include:[],exclude:[]},linkedin_industries:{include:[`Technology`],exclude:[]},markets:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},headcount:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],revenue_in_usd:{from:1e4,to:1e6},last_funding_type:{include:[],exclude:[]},last_funding_amount:{from:null,to:null},number_of_followers:[],follower_growth_l6m_in_percent:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[`google.com`],exclude:[]}}}}],"people:profiles:amplemarket@2":[{search_id:`people:profiles:amplemarket@2`,config:{page_number:1,limit:50,filters:{current_employer_names:{include:[],exclude:[]},current_departments:[],current_employer_locations:{include:[],exclude:[]},person_names:[],current_employer_founded_year:{min:null,max:null},current_employer_estimated_revenue:[],current_employer_investors:[],current_employer_open_position_titles:[],current_job_functions:[],current_locations:{include:[`Berlin`],exclude:[]},current_employer_linkedin_industries:[],current_employer_domains:{include:[],exclude:[]},current_seniority_levels:[],school_names:{include:[],exclude:[]},current_job_titles:[]}}}],"companies:profiles:amplemarket@2":[{search_id:`companies:profiles:amplemarket@2`,config:{page_number:1,limit:50,filters:{company_industries:{include:[],exclude:[]},company_names:{include:[`Microsoft`],exclude:[]},company_profile_urls:{include:[],exclude:[]},company_types:[],company_domains:{include:[],exclude:[]},customer_types:[],headcount_growth_l6m_in_percent:{min:null,max:null},founded_year:{min:null,max:null},revenue_groups:[],investors:[],keywords:{include:[],exclude:[]},open_position_titles:[],headcount:[],hq_locations:{include:[],exclude:[]}}}}],"people:profiles:crustdata@2":[{search_id:`people:profiles:crustdata@2`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin`,`Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},profile_summary_keywords:{include:[],exclude:[]},profile_languages:{include:[`English`],exclude:[]},languages:{include:[],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},years_of_experience:[`1 to 2 years`],current_seniority_levels:{include:[`Senior`],exclude:[]},current_employer_names:{include:[],exclude:[]},current_employer_domains:{include:[],exclude:[]},current_job_titles:{include:[`Software Engineer`],exclude:[]},current_employer_industries:{include:[],exclude:[]},years_at_current_company:[`1 to 2 years`],previous_seniority_levels:{include:[],exclude:[]},previous_employer_names:{include:[],exclude:[]},previous_employer_domains:{include:[],exclude:[]},previous_employer_industries:{include:[],exclude:[]},previous_job_titles:{include:[],exclude:[]},certifications:{include:[],exclude:[]},honors:{include:[],exclude:[]},recently_changed_jobs:!1,fields_of_study:{include:[],exclude:[]},degree_names:{include:[],exclude:[]},school_names:{include:[],exclude:[]},current_school_names:{include:[],exclude:[]},extracurricular_activities:{include:[],exclude:[]},post_processing_exclude_company_profile_urls:[`https://www.linkedin.com/company/acme`],post_processing_exclude_company_names:[`Acme`]}}}],"companies:profiles:crustdata@2":[{search_id:`companies:profiles:crustdata@2`,config:{cursor:``,limit:10,filters:{hq_locations:{include:[`San Francisco, CA`],exclude:[]},crunchbase_categories:{include:[`Artificial Intelligence`],exclude:[]},crunchbase_investors:{include:[],exclude:[]},tracxn_investors:{include:[],exclude:[]},company_types:{include:[],exclude:[]},linkedin_industries:{include:[`Technology`],exclude:[]},markets:{include:[],exclude:[]},linkedin_categories:{include:[],exclude:[]},headcount:{include:[],exclude:[]},headcount_growth_l6m_in_percent:[],revenue_in_usd:{from:1e4,to:1e6},last_funding_type:{include:[],exclude:[]},last_funding_amount:{from:null,to:null},number_of_followers:[],follower_growth_l6m_in_percent:[],profile_summary_keywords:{include:[],exclude:[]},competitor_domains:{include:[`google.com`],exclude:[]}}}}],"people:profiles:crustdata@3":[{search_id:`people:profiles:crustdata@3`,config:{cursor:``,limit:10,filters:{locations:{include:[`Berlin, Germany`],exclude:[]},profile_headline_keywords:{include:[`Marketing`],exclude:[]},skills:{include:[`Python`,`Data Analysis`],exclude:[]},languages:{include:[`English`],exclude:[]},current_employment_job_titles:{include:[`Software Engineer`],exclude:[]},current_employment_job_functions:[`Engineering`],current_employment_seniority_levels:[`Senior`,`Director`],current_employer_headcount_brackets:[`51-200`],current_employment_tenure_brackets:[`1 to 2 years`],total_years_of_experience_brackets:[`3 to 5 years`]}}}],"posts:content:crustdata@1":[{search_id:`posts:content:crustdata@1`,config:{limit:10,filters:{keywords:[`LLM Evaluation`,`RAG`],keyword_operator:`OR`,date_posted:`past-month`,content_types:[`videos`],author_industries:[`Software Development`]}}}],"companies:entitysearch:parallel@1":[{search_id:`companies:entitysearch:parallel@1`,config:{objective:`AI startups in Europe that raised a Series A in 2024`,limit:100}}],"people:entitysearch:parallel@1":[{search_id:`people:entitysearch:parallel@1`,config:{objective:`Heads of Engineering at Series B fintech companies in the US`,limit:100}}],"people:eventguests:luma@1":[{search_id:`people:eventguests:luma@1`,connector:{strategy:`first`,connections:[]},config:{limit:100,cursor:``,output_fields:{name:{enabled:!0,alias:``},email:{enabled:!0,alias:``},luma_id:{enabled:!0,alias:``},registered_at:{enabled:!0,alias:``},luma_event_guest_match:{enabled:!0,alias:``}},filters:{event_id:`evt-sandbox-1`,approval_status:`approved`}}}],"sheet:rows@1":[{search_id:`sheet:rows@1`,connector:{strategy:`first`,connections:[]},config:{sheet:`demo-leads`,limit:100,cursor:``,include_metadata:!1}}],"contacts:hubspot@1":[{search_id:`contacts:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[{property:`product_signup_date`}],filters:{logic:`and`,conditions:[{property:`value`,field_name:`lifecyclestage`,operator:`eq`,value:`customer`}]},lifecycle_stage:``,owner:``,created_within:`24h`,modified_within:``,limit:100,cursor:``}}],"companies:hubspot@1":[{search_id:`companies:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[],filters:null,domains:{include:[`acme.com`],exclude:[]},owner:``,created_within:`24h`,modified_within:``,limit:100,cursor:``}}],"deals:hubspot@1":[{search_id:`deals:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{query:``,custom_properties:[],filters:{conditions:null,pipeline:``,deal_stage:``,status:`open`,owner:``,created_within:``,modified_within:``},limit:100,cursor:``}}],"owners:hubspot@1":[{search_id:`owners:hubspot@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`hubspot_portal-1234567`}]},config:{email:``,include_archived:!1,owned_object_type:`companies`,min_owned_count:50,include_ownership_counts:!0,limit:500}}],"bucket:entries@1":[{search_id:`bucket:entries@1`,connector:{strategy:`first`,connections:[]},config:{bucket:`crm-contacts`,limit:100,cursor:``,include_metadata:!1}}],"contacts:salesforce@1":[{search_id:`contacts:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[{property:`Lead_Score__c`},{property:`Account.Industry`}],filters:{logic:`and`,conditions:[{property:`value`,field_name:`Title`,operator:`contains`,value:`engineer`}]},list_view:``,email_domains:{include:[`acme.com`],exclude:[]},has_email:!1,owner:``,created_within:`7d`,modified_within:``,limit:100,cursor:``}}],"leads:salesforce@1":[{search_id:`leads:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[],filters:null,list_view:``,lead_status:``,include_converted:!1,owner:``,created_within:`30d`,modified_within:``,limit:200,cursor:``}}],"accounts:salesforce@1":[{search_id:`accounts:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[{property:`AnnualRevenue`}],filters:null,list_view:``,domains:{include:[`acme.com`,`globex.com`],exclude:[]},industry:``,owner:``,created_within:``,modified_within:``,limit:100,cursor:``}}],"opportunities:salesforce@1":[{search_id:`opportunities:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{custom_properties:[],filters:{logic:`and`,conditions:[{property:`value`,field_name:`CloseDate`,operator:`lte`,value:`2026-09-30`}]},list_view:``,status:`open`,stage:``,amount:{min:1e4,max:null},owner:``,created_within:``,modified_within:`30d`,limit:100,cursor:``}}],"users:salesforce@1":[{search_id:`users:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{owned_object:`accounts`,min_owned_count:10,include_ownership_counts:!0,include_inactive:!1,custom_properties:[],limit:100,cursor:``}}],"query:salesforce@1":[{search_id:`query:salesforce@1`,connector:{strategy:`first`,connections:[{type:`vault`,connection:`salesforce_org-00DKJ0000001abc2AE`}]},config:{soql:`SELECT OwnerId, Owner.Name, COUNT(Id) cnt FROM Account GROUP BY OwnerId, Owner.Name HAVING COUNT(Id) > 10`,limit:100,page_number:1}}],"query:postgres@1":[{search_id:`query:postgres@1`,connector:{strategy:`first`,connections:[]},config:{query:`SELECT id, name, email FROM contacts ORDER BY id`,limit:100,page_number:1}}],"query:databricks@1":[{search_id:`query:databricks@1`,connector:{strategy:`first`,connections:[]},config:{query:`SELECT id, name, email FROM samples.tpch.customer ORDER BY id`,limit:100,page_number:1}}]};function iJ(e,t,n){if(t==null)return{};try{let r=sa(e,n)?.getStaticWidgets?.(t),i=uz(n,t);return Mt(jt(r||{},{display_value:i?{label:i}:void 0}))}catch(e){return console.warn(`Failed to generate UI props: ${e}`),{}}}var aJ=class extends gS{constructor(e){super(e.map(e=>e.message).join(`, `)||`Unknown`),this.errors=e}};function oJ(e){let t=[];for(let n of e){if(n instanceof CG){t.push(n);continue}let e=n.search_id,r=Oq(e);if(!r)throw Error(`Unknown pipe: ${n.search_id}`);let i=new r(Mq.parse(n));t.push(i)}return t}function sJ(e){try{return oJ(e.searches)}catch(e){throw e instanceof aJ?e:new _S([hS.ValidationFailed({error:e})])}}const cJ=/[\\^$.+()|[\]{}]/g,lJ=new Map;function uJ(e){let t=lJ.get(e);if(t)return t;let n=``;for(let t=0;t<e.length;t++){let r=e[t];r===`*`?n+=`.*`:r===`?`?n+=`.`:n+=r.replace(cJ,`\\$&`)}let r=RegExp(`^${n}$`);return lJ.set(e,r),r}function dJ(e,t){return uJ(t).test(e)}function fJ(e,t){if(!t||t.length===0)return!1;for(let n of t)if(dJ(e,n))return!0;return!1}function pJ(e,t){if(!t)return!0;let{includes:n,excludes:r}=t;return!(n&&n.length>0&&!fJ(e,n)||r&&r.length>0&&fJ(e,r))}function mJ(e,t){return pJ(e,t?.providers)}function hJ(e,t){if(!t)return!0;if(!pJ(e,t.pipes))return!1;if(t.providers){let n=qR(e);if(n.length===0)return!0;if(!n.some(e=>mJ(e,t)))return!1}return!0}function gJ(e,t,n){return t?!(!pJ(e,t.searches)||n!==void 0&&!mJ(n,t)):!0}function _J(e,t,n){return t?!(!pJ(e,t.searchesMulti)||n!==void 0&&!mJ(n,t)):!0}function vJ(e,t){return t?e.filter(e=>hJ(e.pipeId,t)):e.slice()}function yJ(e,t){return t?e.filter(e=>gJ(e.searchId,t,e.provider)):e.slice()}function bJ(e,t){return t?e.filter(e=>_J(e.searchId,t,e.provider)):e.slice()}function xJ(e){return e.toLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean)}function SJ(e){return e?e.flatMap(xJ):[]}const CJ={label:{prefix:100,exact:120},labelFirstWordBonus:40,keyword:{prefix:60,exact:70},tag:{prefix:40,exact:45},provider:{prefix:35,exact:40},id:{prefix:30,exact:35},description:{prefix:5,exact:6},exactLabelBonus:200},wJ=CJ;function TJ(e){let t=xJ(e.label);return{labelWords:t,keywordWords:SJ(e.keywords),tagWords:SJ(e.tags),providerWords:SJ(e.providers),idWords:xJ(e.id),descriptionWords:e.description?xJ(e.description):[],normalizedLabel:t.join(` `)}}function EJ(e,t,n){let r=0;for(let i of t){let t=i===e?n.exact:i.startsWith(e)?n.prefix:0;t>r&&(r=t)}return r}function DJ(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r],a=i===e?wJ.label.exact:i.startsWith(e)?wJ.label.prefix:0;a>0&&r===0&&(a+=wJ.labelFirstWordBonus),a>n&&(n=a)}return n}function OJ(e,t){let n=xJ(t);if(n.length===0)return 0;let r=0;for(let t of n){let n=Math.max(DJ(t,e.labelWords),EJ(t,e.keywordWords,wJ.keyword),EJ(t,e.tagWords,wJ.tag),EJ(t,e.providerWords,wJ.provider),EJ(t,e.idWords,wJ.id),EJ(t,e.descriptionWords,wJ.description));if(n===0)return 0;r+=n}return e.normalizedLabel===n.join(` `)&&(r+=wJ.exactLabelBonus),r}function kJ(e){return e.keywords}function AJ(e){let t=new Set(e.deprecatedProviders),n=Array.from(new Set([...e.managedProviders,...e.allowedUserConnectionProviders])).filter(e=>!t.has(e));return TJ({label:e.label,id:e.pipeId,keywords:kJ(e),tags:e.tags,providers:n,description:e.description})}function jJ(e){return TJ({label:e.label,id:e.searchId,keywords:kJ(e),tags:e.tags,providers:[e.provider],description:e.description})}function MJ(e){return TJ({label:e.label,id:e.searchId,keywords:kJ(e),tags:e.tags,providers:[e.provider],description:e.description})}function NJ(e){return TJ({label:e.label,id:e.effectId,keywords:kJ(e),tags:e.tags,providers:Array.from(new Set([...e.managedProviders,...e.allowedUserConnectionProviders])),description:e.description})}function PJ(e){let t=Object.values(e.billableOperations).map(e=>e.allowManagedConnection?e.credits.default:0);return Math.min(...t)}function FJ(e){return Math.min(e.cost.mode===`per_result`?e.cost.creditsPerResult:e.cost.mode===`per_search`?e.cost.creditsPerSearch:e.cost.creditsPerPage)}function IJ(e){return e.cost.allowManagedConnection?e.cost.credits.default:0}function LJ(e){let t=Object.values(e.billableOperations).map(e=>e?.allowManagedConnection?e.credits.default:0);return t.length?Math.min(...t):0}function RJ(e,t){let n=Math.max(1,t.minItems),r=Math.max(n,t.maxItems),i=[],a=[],o=0;for(let s of e){a.push(s),o+=t.sizeOf(s);let e=a.length>=r,c=o>=t.targetSize&&a.length>=n;(e||c)&&(i.push(a),a=[],o=0)}return a.length>0&&i.push(a),i}function zJ(e){let t=cz(e);if(!t)return``;try{return ne(t)||new URL(t).hostname}catch{return``}}const BJ=[`http://`,`https://`,`mailto:`],VJ=new Set([`*`,`_`,`~`,"`",`[`,`]`,`(`,`)`,`\\`]);function HJ(e){return e?UJ(e):[]}function UJ(e){let t=[],n=``,r=0,i=()=>{n&&=(t.push({type:`text`,value:n}),``)};for(;r<e.length;){let a=e[r],o=e[r+1];if(a===`\\`&&o!==void 0&&VJ.has(o)){n+=o,r+=2;continue}if(a==="`"){let n=WJ(e,r+1,"`");if(n>-1){i(),t.push({type:`code`,value:e.slice(r+1,n)}),r=n+1;continue}}if(a===`*`&&o===`*`){let n=WJ(e,r+2,`**`);if(n>r+2){i(),t.push({type:`strong`,children:UJ(e.slice(r+2,n))}),r=n+2;continue}}if(a===`~`&&o===`~`){let n=WJ(e,r+2,`~~`);if(n>r+2){i(),t.push({type:`del`,children:UJ(e.slice(r+2,n))}),r=n+2;continue}}if(a===`*`&&o!==`*`){let n=WJ(e,r+1,`*`);if(n>r+1){i(),t.push({type:`em`,children:UJ(e.slice(r+1,n))}),r=n+1;continue}}if(a===`[`){let n=WJ(e,r+1,`]`);if(n>-1&&e[n+1]===`(`){let a=WJ(e,n+2,`)`);if(a>-1){let o=e.slice(n+2,a);if(BJ.some(e=>o.startsWith(e))){i(),t.push({type:`link`,href:o,children:UJ(e.slice(r+1,n))}),r=a+1;continue}}}}n+=a,r+=1}return i(),t}function WJ(e,t,n){let r=t;for(;r<e.length;){if(e[r]===`\\`&&r+1<e.length){r+=2;continue}if(GJ(e,r,n))return r;r+=1}return-1}function GJ(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r++)if(e[t+r]!==n[r])return!1;return!0}export{hs as AI_MODELS,gs as AI_MODEL_CATALOG,xs as AI_MODEL_RAW_USD,Xr as B2BPostMatchSchema,Be as BUCKET_TYPES,Ge as BucketClaimConfigSchema,Ke as BucketCounterConfigSchema,Ue as BucketFieldDefSchema,He as BucketFieldTypeSchema,We as BucketSchemaSchema,CJ as CATALOG_SEARCH_WEIGHTS,Tn as COMPANY_STANDARD_PROPERTIES,wn as CONTACT_STANDARD_PROPERTIES,_s as CREDIT_USD_VALUE,Ve as CURRENT_BUCKET_TYPE_VERSION,Ya as CatalogSchemaRefSchema,DH as ConciseFieldValueSchema,po as ConditionBlockSchema,ct as ConditionEvaluationError,st as ConditionFieldNotFoundError,$a as ConditionOperatorsSchema,En as DEAL_STANDARD_PROPERTIES,Ct as EffectAllSelectionSchema,St as EffectRowsSelectionSchema,Tt as EffectSelectionSchema,wt as EffectWindowSelectionSchema,GH as EffectsRequestSchema,KH as EffectsResponseSchema,WH as EffectsRunStatusSchema,qH as EffectsValidateRequestSchema,YH as EffectsValidateResponseSchema,JH as EffectsValidateStepSchema,Ka as ExpandedFieldValueSchema,iu as FIELD_PLACEHOLDERS,za as FieldAnnotationSchema,vz as FieldAnnotations,Ba as FieldAnnotationsSchema,fa as FieldNameSchema,Ia as FieldReasonSchema,xa as FieldValueSchema,ZU as FormStoreSchema,rW as HIGH_VOLUME_PRICING_MIN_CREDITS,Qa as JSONExtractSchema,Sa as JSONMetaSchema,vs as MANAGED_TOKEN_MARGIN,BB as MANUAL_DEFAULT,oo as NoConnectorSchema,jl as ObjectHasher,io as OptionalConnectorSchema,$o as PIPE0_DEFAULT_API_KEY_METADATA_FLAG,Qo as PIPE0_DEFAULT_CONNECTION_PUBLIC_ID,ha as PIPE_IDS,wR as PaginationTypeSchema,Jr as PersonProfileFieldSchema,Uk as PersonWorkemailWaterfall1Entry,Hk as PersonWorkemailWaterfall1PayloadSchema,Vk as PersonWorkemailWaterfall1PipeClass,B as Pipe,gS as Pipe0Error,ga as PipeIdSchema,VR as PipePayloadSchema,ho as PipeRunIfSchema,_S as PipelineValidationError,ma as PipesEnvironmentSchema,Fa as PipesErrorSchema,Xa as PipesFieldDefinitionSchema,Za as PipesFieldDefinitionsSchema,qa as PipesInputSchema,$R as PipesRequestConfigSchema,ez as PipesRequestSchema,QR as PipesResponseSchema,HR as ProcessedPipePayloadSchema,vR as ProcessedSearchPayloadSchema,Mq as ProcessedSearchesPayloadSchema,UH as ProcessedSheetEffectPayloadSchema,pa as ProviderNameSchema,La as RECORD_FIELD_FORMATS,_a as RECORD_FIELD_TYPES,Gl as RESERVED_FIELD_NAMES,eo as RUN_IF_OPERATOR_LABELS,no as RUN_IF_STATUS_OPERATORS,to as RUN_IF_VALUE_OPERATORS,RB as RUN_STATUS_OPTIONS,EH as RecordActionDetailSchema,Ua as RecordClaimedBySchema,kH as RecordDiffEntrySchema,Ra as RecordFieldFormatSchema,Ga as RecordFieldSchema,ba as RecordFieldStatusSchema,va as RecordFieldTypeSchema,ya as RecordIdSchema,Wa as RecordResolvedBySchema,Ja as RecordSchema,mS as RequestValidationError,ao as RequiredConnectorSchema,co as RunIfStatusOperatorsSchema,lo as RunIfStatusValueSchema,so as RunIfValueOperatorsSchema,LB as RunStatusSchema,ii as SALESFORCE_ACCOUNT_STANDARD_PROPERTIES,ni as SALESFORCE_CONTACT_STANDARD_PROPERTIES,ZW as SALESFORCE_FIELD_TYPE_TABLE,ri as SALESFORCE_LEAD_STANDARD_PROPERTIES,ai as SALESFORCE_OPPORTUNITY_STANDARD_PROPERTIES,si as SALESFORCE_PERSON_STANDARD_PROPERTIES,ci as SALESFORCE_STANDARD_PROPERTIES_BY_OBJECT,oi as SALESFORCE_USER_STANDARD_PROPERTIES,zB as SCHEDULED_DEFAULT,yG as SEARCHES_IDS,gM as SEARCH_IDS,Or as SENIORITY_LEVELS,bt as SHEET_EFFECT_IDS,Z as Search,bR as SearchErrorSchema,_M as SearchIdSchema,gR as SearchPayloadSchema,yR as SearchRequestSchema,TR as SearchResponseSchema,xR as SearchResultFieldSchema,SR as SearchResultSchema,Pq as SearchesErrorSchema,bG as SearchesIdSchema,jq as SearchesPayloadSchema,zq as SearchesRequestBaseConfigSchema,Vq as SearchesRequestSchema,Rq as SearchesResponseSchema,Fq as SearchesResultFieldSchema,Iq as SearchesResultSchema,CG as SearchesSearch,Lq as SearchesStatusSchema,R as SheetEffect,xt as SheetEffectIdSchema,VH as SheetEffectPayloadSchema,MH as SheetEffectStepSummarySchema,tU as SheetEffectValidationError,jH as SheetEffectsCountsSchema,AH as SheetEffectsDiffSchema,ys as TOKEN_BLOCK_SIZE_INPUT,bs as TOKEN_BLOCK_SIZE_OUTPUT,Fd as TYPES_TO_FORMATS,Ms as TokenBlockAccumulator,OH as UpdatedActionDetailSchema,mo as ValueConditionBlockSchema,JU as WidgetsByKindSchema,Pa as WidgetsSchema,Yl as all,Fo as analyzeLiquidTemplate,pW as analyzePipeFit,ps as and,Xl as any,aG as assertSoqlIdentifier,YR as assertUniqueBillableOperations,m as autocomplete,Zr as b2bPostMatchExample,qe as bucketConfigSchemaFor,et as bucketSchemaFieldNames,tt as bucketSchemasEqual,$e as bucketSlugValue,ks as buildAiModelTokenBillableOperations,TJ as buildCatalogSearchTarget,bz as buildDependencyGraph,lu as buildInputRequirementFromTemplates,vG as buildKeysetPredicate,mU as buildResultColumns,li as buildSalesforceFetchSet,lG as buildSoqlInList,Os as buildTokenNote,K as catalogInput,RJ as chunkBySize,GW as classifySalesforceError,kl as cleanObject,cz as cleanUrl,sz as cleanWebsiteUrl,uu as collectConstantReferencesFromTemplates,FU as collectPipeContextSelectFields,$l as collectRequirementFields,BU as collectSearchContextSelectFields,H as collectSecretReferencesFromTemplates,WU as collectSheetEffectContextSelectFields,uJ as compilePattern,wU as computeTenure,yt as configDefaults,Es as creditsPerBlock,at as decodeBucketContract,pU as dedupeColumnNames,Je as defaultBucketConfig,fS as describeRequirement,HW as domainToWebsiteVariants,it as encodeBucketContract,At as entityLogoFavicon,kt as entityLogoProfessionalProfileUrl,cG as escapeSoqlLikeValue,oG as escapeSoqlString,Ou as estimateGuardCredits,mt as evaluateConditionBlock,qW as extractDuplicateInfo,yc as extractFormMetadata,z as field,oa as fieldBehaviorCatalog,aa as fieldCatalog,dS as fieldNameStr,dz as fieldTypeFromValue,IW as fieldsToObject,vJ as filterPipeEntries,yJ as filterSearchEntries,bJ as filterSearchesEntries,_G as formatSoqlBooleanValue,hG as formatSoqlDateValue,gG as formatSoqlNumberValue,zH as getAgentAllowedEffectIds,Cs as getAiModelConnectionRequirements,Ss as getAiModelProviders,As as getAiModelTokenBillingKeys,Ds as getAiModelTokenCredits,ws as getAllAiModelProviders,W as getBasePipeName,L as getBaseSheetEffectName,la as getCatalogFieldOrder,LR as getDefaultOutputFields,qR as getDefaultPipeProviders,jR as getDefaultSearchOutputFields,Nq as getDefaultSearchesOutputFields,rz as getDependentPipeNamesForInputProperty,iz as getDependentPipeNamesForPipe,zJ as getDomain,pz as getExpansionState,Dt as getFaviconUrlGoogle,h as getField,sa as getFieldBehavior,jd as getFieldDisplayLabel,hz as getFieldWidgets,AR as getInitialSearchTableData,Gq as getInitialSearchesTableData,$H as getInitialSheetEffectTableData,XR as getInitialTableData,ru as getInputHash,Ps as getJsonMetaForFieldDef,IJ as getLoweestSearchCreditAmount,FJ as getLoweestSearchesCreditAmount,PJ as getLowestPipeCreditAmount,LJ as getLowestSheetEffectCreditAmount,da as getOutputFieldInfoFromDef,WR as getPipeBillableOperationDef,tW as getPipeCategoryEntries,eW as getPipeCategoryEntry,RR as getPipeClass,nu as getPipeConfigHash,zR as getPipeDefaultPayload,G as getPipeDocsURI,UR as getPipeEntry,kU as getPipeFormMask,nz as getPipeInstances,IU as getPipePayloadFormConfig,BR as getPipePayloadSchema,AJ as getPipeSearchTarget,GR as getPipeVersion,Y as getProviderBillableOperation,du as getProviderCreditsFromBillableOperations,Ft as getProviderEntry,gU as getReadableFieldStatus,QW as getSalesforceFieldTypeRule,Yq as getSandboxConnections,Xq as getSandboxConnectionsForPipe,Zq as getSandboxConnectionsForSearch,Qq as getSandboxConnectionsForSearches,nJ as getSearchCategoryEntries,tJ as getSearchCategoryEntry,hR as getSearchClass,_R as getSearchDefaultPayload,OR as getSearchEntry,iJ as getSearchFieldWidgets,AU as getSearchFormMask,UV as getSearchInstance,zU as getSearchPayloadFormConfig,CR as getSearchPayloadSchema,jJ as getSearchSearchTarget,MR as getSearchTableDataAggregates,ER as getSearchVersion,Oq as getSearchesClass,Aq as getSearchesDefaultPayload,qq as getSearchesEntry,gz as getSearchesFieldWidgets,oJ as getSearchesInstances,kq as getSearchesPayloadSchema,MJ as getSearchesSearchTarget,Kq as getSearchesTableDataAggregates,Hq as getSearchesVersion,qr as getSeniorityEmojiFromTitle,Kr as getSeniorityLevelFromTitle,vt as getSheetEffectCategoryEntries,_t as getSheetEffectCategoryEntry,IH as getSheetEffectClass,Ml as getSheetEffectConfigHash,HH as getSheetEffectDefaultPayload,LH as getSheetEffectEntry,jU as getSheetEffectFormMask,dU as getSheetEffectInstance,UU as getSheetEffectPayloadFormConfig,RH as getSheetEffectPayloadSchema,NJ as getSheetEffectSearchTarget,tz as getStartingCostPerPipesProvider,NR as getStartingCostPerSearchProvider,Jq as getStartingCostPerSearchesProvider,ZR as getTableDataAggregates,aW as getTier,mz as getUnexpandedValue,Ot as ifDefined,I as inputFields,zW as inputFromRecord,RW as inputFromRecordArr,LW as inputFromRecords,GU as inputGuards,BH as isAgentAllowedEffect,ua as isCatalogField,Sr as isEmptyValue,ca as isFieldName,cW as isHighVolumeEligible,hJ as isPipeAllowed,mJ as isProviderAllowed,Ql as isRequirementMet,eu as isRequirementSatisfiedByRecord,Kl as isReservedFieldName,gJ as isSearchAllowed,_J as isSearchesAllowed,fG as isSoqlDateLiteral,Ts as isTokenBilledOperations,iG as isValidSalesforceId,rG as isValidSoqlIdentifier,ts as joinConnectionString,lW as listHighVolumeEligibleOperations,sW as listTiers,Du as managedDefaultCreditOf,Qe as mappedBucketFieldNames,pu as markRecordFieldAsComplete,gu as markRecordFieldAsFailed,hu as markRecordFieldAsNoResult,mu as markRecordFieldAsPending,vu as markRecordFieldAsProcessing,_u as markRecordFieldAsSkipped,fJ as matchesAny,dJ as matchesPattern,_c as mergeFormConfig,jt as mergeWidgets,wc as noConnectorInput,fU as normalizeColumnName,VW as normalizeDomain,Zl as optional,C as optionalConnectorInput,ms as or,F as outputFields,Po as parseLiquidTemplate,Oo as parseOutputTagArgs,wW as parseRecordValueOrError,as as parseRelaxedObject,HJ as parseRichText,KW as parseSalesforceErrorBody,q as perUnit,Yr as personProfileMatchExample1,IR as pipeCatalog,QU as pipeCategoryCatalog,PR as pipeClassCatalog,FR as pipePayloadSchemaCatalog,Wc as pipesAsyncIncludeExcludeSelectInput,gc as pipesConditionInput,nl as pipesContextSelectInput,Kc as pipesDateRangeInput,qc as pipesDestinationFieldConfig,Pc as pipesFieldSelectInput,Mc as pipesFieldsSelectInput,Lc as pipesIncludeExcludeInput,Uc as pipesIncludeExcludeSelectInput,T as pipesInputField,$c as pipesIntInput,Ks as pipesJsonExtractionInput,tl as pipesJsonSchemaField,Zc as pipesLLMSelectInput,Hc as pipesLooseObjectInput,Rc as pipesMultiCreateInput,Qc as pipesMultiSelectInput,el as pipesNumberInput,D as pipesOptionalBooleanInput,Bc as pipesOrderedMultiCreateInput,O as pipesOutputField,_ as pipesPayloadRegistry,xc as pipesPromptInput,zc as pipesPropertyListInput,E as pipesProviderInput,Gc as pipesRangeInput,b as pipesRunIfInput,Xc as pipesSelectInput,nW as pipesSnippetCatalog,Vc as pipesTaggedOrderedMultiCreateInput,x as pipesTaggedTextInput,Sc as pipesTemplateInput,Jc as pipesTextInput,Yc as pipesTextareaInput,Nc as pipesTypedFieldsSelectInput,V as placeholder,BW as processInputObjects,aA as projectOptionsDef,iA as projectScopedSheetOptionsDef,Xe as providedCreationName,Ye as providedCreationPolicy,Pt as providerCatalog,J as rateLimitRatioFallingProgression,Jz as renameFieldInPipePayloads,Mo as renderLiquidTemplate,No as renderLiquidTemplateSync,$W as renderSalesforceOperatorMatrix,S as requiredConnectorInput,fu as requirementToInputFields,pS as requirementUnmetMessage,g as requiresConnection,fs as requiresField,OU as resolveFormMask,Ze as resolveMappingEntry,tA as roundrobinBucketSlug,eA as roundrobinFilterKey,nU as runSheetEffectsValidation,VB as runStatusesToQueueConfig,eG as salesforceRecordUrl,OJ as scoreCatalogSearch,mR as searchCatalog,$q as searchCategoryCatalog,fR as searchClassCatalog,pR as searchPayloadSchemaCatalog,rJ as searchSnippetCatalog,N as searchesAsyncIncludeExcludeSelectInput,_l as searchesAsyncMultiSelectInput,Dq as searchesCatalog,Tq as searchesClassCatalog,rl as searchesConditionInput,gl as searchesContextSelectInput,ul as searchesDateRangeInput,cl as searchesExactRangeInput,A as searchesIncludeExcludeInput,sl as searchesIncludeExcludeSelectInput,P as searchesIntInput,ol as searchesMinMaxIntInput,k as searchesMultiCreateInput,M as searchesMultiSelectInput,vl as searchesNumberField,dl as searchesOptionalBooleanInput,Dc as searchesOptionalConnectorInput,fl as searchesOptionalNullableBooleanInput,al as searchesOrderedMultiCreateInput,j as searchesOutputField,v as searchesPayloadRegistry,Eq as searchesPayloadSchemaCatalog,il as searchesPropertyListInput,ll as searchesRangeInput,Ec as searchesRequiredConnectorInput,hl as searchesSelectInput,pl as searchesTextInput,ml as searchesTextareaField,kr as seniorityLevelSchema,cA as sheetColumnsOptionsDef,FH as sheetEffectCatalog,ht as sheetEffectCategoryCatalog,NH as sheetEffectClassCatalog,PH as sheetEffectPayloadSchemaCatalog,eU as sheetEffectSnippetCatalog,hc as sheetEffectsConditionInput,El as sheetEffectsContextSelectInput,Fc as sheetEffectsFieldsSelectInput,Cl as sheetEffectsIntInput,Dl as sheetEffectsLLMSelectInput,Sl as sheetEffectsMultiSelectInput,w as sheetEffectsNoConnectorInput,Tl as sheetEffectsOptionalBooleanInput,Ac as sheetEffectsOptionalConnectorInput,wl as sheetEffectsOptionalIntInput,Fs as sheetEffectsPayloadRegistry,kc as sheetEffectsRequiredConnectorInput,Ol as sheetEffectsSearchPayloadInput,xl as sheetEffectsSelectInput,Ic as sheetEffectsSelectionInput,yl as sheetEffectsTextInput,bl as sheetEffectsTextareaInput,rA as sheetOptionsDef,sG as soqlStringLiteral,Pd as sortObjectKeys,KR as sortPipeCatalogByBasePipe,DR as sortSearchCatalogByBaseSearch,Uq as sortSearchesCatalogByBaseSearch,ZH as sortSheetEffectCatalogByBaseEffect,es as splitConnectionString,ze as staticAutocomplete,p as staticOptions,Nd as stringify,Nt as stripStaticWidgets,aU as summarizeEffectRun,CU as tagPrimaryCurrentEducation,Mt as tagStaticWidgets,Md as testPrint,oW as tierAtOrBelow,js as tokenEstimate,DW as transformIntoResponse,ot as tryDecodeBucketContract,os as tryParseRelaxedObject,xz as validatePipesOrError,sJ as validateSearches,iU as validateSheetEffectsOrError,hS as validationErrorMessages,UW as websiteToDomain};