@elevasis/ui 2.31.0 → 2.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CoreAuthKitInner-KSEGSB67.js → CoreAuthKitInner-QC62UHTZ.js} +1 -1
- package/dist/api/index.js +3 -3
- package/dist/app/index.css +38 -0
- package/dist/app/index.d.ts +69 -9
- package/dist/app/index.js +7 -6
- package/dist/auth/context.js +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/charts/index.js +5 -6
- package/dist/{chunk-XQHZBA65.js → chunk-2RJMVWFJ.js} +1 -6
- package/dist/{chunk-CW3UNAF2.js → chunk-4DYOXEH6.js} +410 -5
- package/dist/{chunk-HQGF4ATG.js → chunk-4MFNGNHF.js} +118 -141
- package/dist/{chunk-ND42LPY4.js → chunk-4QK76KIF.js} +6 -6
- package/dist/chunk-5FJJ72HU.js +13 -0
- package/dist/chunk-5J4PDX26.js +112 -0
- package/dist/{chunk-QDEETKYT.js → chunk-6DWD423K.js} +9 -9
- package/dist/{chunk-SHQXMW4F.js → chunk-7KZINJLP.js} +46 -28
- package/dist/{chunk-L3BVJWML.js → chunk-EPTHX4VZ.js} +1 -1
- package/dist/{chunk-JKSUN5GN.js → chunk-GCOQ3TBG.js} +81 -746
- package/dist/{chunk-DZTG5IAC.js → chunk-I2KLQ2HA.js} +1 -7
- package/dist/{chunk-L2NVFLXU.js → chunk-IQHU7O5Y.js} +4 -4
- package/dist/{chunk-P55BJZZW.js → chunk-IZWTVFJ2.js} +16 -4
- package/dist/{chunk-QHEWXU7I.js → chunk-JFL3GRD4.js} +1 -1
- package/dist/{chunk-Q6OYNEGR.js → chunk-LLRXA7D7.js} +5 -6
- package/dist/{chunk-7KC4P3AU.js → chunk-MOY4VOHF.js} +2 -12
- package/dist/{chunk-XQQEKWTL.js → chunk-N55DVMAG.js} +6 -2
- package/dist/{chunk-TOIXUWR6.js → chunk-ND5TDV2J.js} +1 -1
- package/dist/{chunk-WF227UBV.js → chunk-QQHOKTJA.js} +4 -4
- package/dist/{chunk-T3IPHEYJ.js → chunk-QTI3KC7D.js} +4335 -554
- package/dist/chunk-QXCDKE2O.js +486 -0
- package/dist/{chunk-3BAPR3KA.js → chunk-RQA2EVN3.js} +5 -15
- package/dist/{chunk-HYNYEBHM.js → chunk-RQTWIXJ5.js} +3 -3
- package/dist/chunk-T35FWDAB.js +4342 -0
- package/dist/{chunk-DWK2QIAK.js → chunk-TYRUKGGD.js} +1 -1
- package/dist/{chunk-GRDLB6LM.js → chunk-UROTM5OR.js} +13 -1
- package/dist/{chunk-6YT4IKJ7.js → chunk-VNAZTCHA.js} +15 -0
- package/dist/{chunk-5LJAEZMA.js → chunk-VRNMNB3O.js} +5 -6
- package/dist/chunk-WQPX44YM.js +1626 -0
- package/dist/{chunk-7HMCB26R.js → chunk-XZGSCABI.js} +1 -1
- package/dist/chunk-YLQEVSOR.js +299 -0
- package/dist/{chunk-Y4FWCG7Y.js → chunk-ZQOKIGZP.js} +8 -7
- package/dist/components/chat/index.js +1 -1
- package/dist/components/index.css +38 -0
- package/dist/components/index.d.ts +152 -50
- package/dist/components/index.js +36 -39
- package/dist/components/navigation/index.css +38 -0
- package/dist/components/navigation/index.js +4 -3
- package/dist/execution/index.d.ts +7 -2
- package/dist/execution/index.js +1 -1
- package/dist/features/auth/index.css +38 -0
- package/dist/features/auth/index.d.ts +91 -14
- package/dist/features/auth/index.js +42 -10
- package/dist/features/clients/index.css +38 -0
- package/dist/features/clients/index.d.ts +1 -1
- package/dist/features/clients/index.js +16 -15
- package/dist/features/crm/index.css +38 -0
- package/dist/features/crm/index.d.ts +80 -18
- package/dist/features/crm/index.js +16 -15
- package/dist/features/dashboard/index.css +38 -0
- package/dist/features/dashboard/index.d.ts +65 -25
- package/dist/features/dashboard/index.js +16 -16
- package/dist/features/delivery/index.css +38 -0
- package/dist/features/delivery/index.d.ts +80 -18
- package/dist/features/delivery/index.js +15 -15
- package/dist/features/knowledge/index.css +38 -0
- package/dist/features/knowledge/index.d.ts +20 -18
- package/dist/features/knowledge/index.js +112 -597
- package/dist/features/lead-gen/index.css +38 -0
- package/dist/features/lead-gen/index.d.ts +45 -43
- package/dist/features/lead-gen/index.js +16 -16
- package/dist/features/monitoring/index.css +38 -0
- package/dist/features/monitoring/index.d.ts +20 -18
- package/dist/features/monitoring/index.js +17 -17
- package/dist/features/monitoring/requests/index.css +38 -0
- package/dist/features/monitoring/requests/index.d.ts +21 -19
- package/dist/features/monitoring/requests/index.js +15 -14
- package/dist/features/operations/index.css +38 -0
- package/dist/features/operations/index.d.ts +930 -66
- package/dist/features/operations/index.js +21 -24
- package/dist/features/seo/index.d.ts +20 -18
- package/dist/features/seo/index.js +2 -2
- package/dist/features/settings/index.css +38 -0
- package/dist/features/settings/index.d.ts +80 -18
- package/dist/features/settings/index.js +16 -15
- package/dist/graph/index.js +1 -1
- package/dist/hooks/delivery/index.css +38 -0
- package/dist/hooks/delivery/index.d.ts +60 -0
- package/dist/hooks/delivery/index.js +3 -3
- package/dist/hooks/index.css +38 -0
- package/dist/hooks/index.d.ts +301 -87
- package/dist/hooks/index.js +14 -13
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +143 -33
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.js +1 -1
- package/dist/hooks/published.css +38 -0
- package/dist/hooks/published.d.ts +301 -87
- package/dist/hooks/published.js +14 -13
- package/dist/index.css +38 -0
- package/dist/index.d.ts +976 -1341
- package/dist/index.js +15 -14
- package/dist/initialization/index.d.ts +60 -0
- package/dist/initialization/index.js +1 -1
- package/dist/knowledge/index.d.ts +809 -1160
- package/dist/knowledge/index.js +5988 -2140
- package/dist/{chunk-O2QOPJI5.js → knowledge-search-index-5KYPO746.js} +96 -852
- package/dist/layout/index.js +3 -4
- package/dist/organization/index.css +38 -0
- package/dist/organization/index.js +1 -1
- package/dist/profile/index.d.ts +60 -0
- package/dist/profile/index.js +1 -1
- package/dist/provider/ElevasisServiceContext.js +1 -1
- package/dist/provider/index.css +38 -0
- package/dist/provider/index.d.ts +786 -1249
- package/dist/provider/index.js +11 -10
- package/dist/provider/published.css +38 -0
- package/dist/provider/published.d.ts +783 -1246
- package/dist/provider/published.js +8 -7
- package/dist/router/context.js +1 -1
- package/dist/router/index.js +1 -1
- package/dist/sse/index.js +1 -1
- package/dist/supabase/index.d.ts +117 -0
- package/dist/supabase/index.js +1 -1
- package/dist/test-utils/index.d.ts +16 -9
- package/dist/test-utils/index.js +40 -33
- package/dist/test-utils/setup-integration.js +1 -1
- package/dist/test-utils/setup.js +1 -1
- package/dist/theme/index.js +3 -3
- package/dist/theme/presets/index.js +1 -1
- package/dist/typeform/index.js +1 -1
- package/dist/typeform/schemas.js +1 -1
- package/dist/types/index.d.ts +205 -35
- package/dist/utils/index.d.ts +65 -25
- package/dist/utils/index.js +2 -2
- package/dist/vite/index.js +1 -1
- package/dist/vite-plugin-knowledge/index.js +1 -1
- package/dist/zustand/index.js +1 -1
- package/package.json +39 -38
- package/src/provider/README.md +5 -5
- package/dist/chunk-542WPQU2.js +0 -413
- package/dist/chunk-6IXOKUBC.js +0 -347
- package/dist/chunk-CQZ3DNQY.js +0 -740
- package/dist/chunk-ECNNI3NT.js +0 -6
- package/dist/chunk-JDNEWB5F.js +0 -10
- package/dist/chunk-MVFCLZSK.js +0 -4337
- package/dist/chunk-OAVTMITG.js +0 -13
- package/dist/chunk-TVRQ6AQI.js +0 -476
package/dist/chunk-OAVTMITG.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ElevasisFeaturesProvider } from './chunk-6IXOKUBC.js';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
function createTestFeaturesProvider({
|
|
5
|
-
organizationModel,
|
|
6
|
-
features = []
|
|
7
|
-
} = {}) {
|
|
8
|
-
return function TestFeaturesProvider({ children }) {
|
|
9
|
-
return /* @__PURE__ */ jsx(ElevasisFeaturesProvider, { features, organizationModel, children });
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { createTestFeaturesProvider };
|
package/dist/chunk-TVRQ6AQI.js
DELETED
|
@@ -1,476 +0,0 @@
|
|
|
1
|
-
import { DisplayMetadataSchema, ModelIdSchema, DescriptionSchema, LEAD_GEN_STAGE_CATALOG } from './chunk-CQZ3DNQY.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
var ProspectingLifecycleStageSchema = DisplayMetadataSchema.extend({
|
|
5
|
-
id: ModelIdSchema,
|
|
6
|
-
order: z.number().min(0)
|
|
7
|
-
});
|
|
8
|
-
var RecordColumnConfigSchema = z.object({
|
|
9
|
-
key: ModelIdSchema,
|
|
10
|
-
label: z.string().trim().min(1).max(120),
|
|
11
|
-
path: z.string().trim().min(1).max(500),
|
|
12
|
-
width: z.union([z.number().positive(), z.string().trim().min(1).max(100)]).optional(),
|
|
13
|
-
renderType: z.enum(["text", "badge", "datetime", "count", "json"]).optional(),
|
|
14
|
-
badgeColor: z.string().trim().min(1).max(40).optional()
|
|
15
|
-
});
|
|
16
|
-
var RecordColumnsConfigSchema = z.object({
|
|
17
|
-
company: z.array(RecordColumnConfigSchema).optional(),
|
|
18
|
-
contact: z.array(RecordColumnConfigSchema).optional()
|
|
19
|
-
}).refine((columns) => Boolean(columns.company?.length || columns.contact?.length), {
|
|
20
|
-
message: "recordColumns must include at least one entity column set"
|
|
21
|
-
});
|
|
22
|
-
var CredentialRequirementSchema = z.object({
|
|
23
|
-
key: ModelIdSchema,
|
|
24
|
-
provider: ModelIdSchema,
|
|
25
|
-
credentialType: z.enum(["api-key", "api-key-secret", "oauth", "webhook-secret"]),
|
|
26
|
-
label: z.string().trim().min(1).max(120),
|
|
27
|
-
required: z.boolean(),
|
|
28
|
-
selectionMode: z.enum(["single", "multiple"]).optional(),
|
|
29
|
-
inputPath: z.string().trim().min(1).max(500),
|
|
30
|
-
verifyOnRun: z.boolean().optional()
|
|
31
|
-
});
|
|
32
|
-
var ProspectingBuildTemplateStepSchema = DisplayMetadataSchema.extend({
|
|
33
|
-
id: ModelIdSchema,
|
|
34
|
-
primaryEntity: z.enum(["company", "contact"]),
|
|
35
|
-
outputs: z.array(z.enum(["company", "contact", "export"])).min(1),
|
|
36
|
-
stageKey: ModelIdSchema,
|
|
37
|
-
recordEntity: z.enum(["company", "contact"]).optional(),
|
|
38
|
-
recordsStageKey: ModelIdSchema.optional(),
|
|
39
|
-
recordSourceStageKey: ModelIdSchema.optional(),
|
|
40
|
-
dependsOn: z.array(ModelIdSchema).optional(),
|
|
41
|
-
dependencyMode: z.literal("per-record-eligibility"),
|
|
42
|
-
capabilityKey: ModelIdSchema,
|
|
43
|
-
defaultBatchSize: z.number().int().positive(),
|
|
44
|
-
maxBatchSize: z.number().int().positive(),
|
|
45
|
-
recordColumns: RecordColumnsConfigSchema.optional(),
|
|
46
|
-
credentialRequirements: z.array(CredentialRequirementSchema).optional()
|
|
47
|
-
}).refine((step) => step.defaultBatchSize <= step.maxBatchSize, {
|
|
48
|
-
message: "defaultBatchSize must be less than or equal to maxBatchSize",
|
|
49
|
-
path: ["defaultBatchSize"]
|
|
50
|
-
});
|
|
51
|
-
var ProspectingBuildTemplateSchema = DisplayMetadataSchema.extend({
|
|
52
|
-
id: ModelIdSchema,
|
|
53
|
-
steps: z.array(ProspectingBuildTemplateStepSchema).min(1)
|
|
54
|
-
});
|
|
55
|
-
var DTC_RECORD_COLUMNS = {
|
|
56
|
-
populated: {
|
|
57
|
-
company: [
|
|
58
|
-
{ key: "name", label: "Company", path: "company.name" },
|
|
59
|
-
{ key: "domain", label: "Domain", path: "company.domain" },
|
|
60
|
-
{ key: "employee-count", label: "Employees", path: "company.numEmployees", renderType: "count" },
|
|
61
|
-
{ key: "apollo-industry", label: "Apollo industry", path: "company.category" },
|
|
62
|
-
{ key: "location", label: "Location", path: "company.locationState" }
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
|
-
crawled: {
|
|
66
|
-
company: [
|
|
67
|
-
{ key: "name", label: "Company", path: "company.name" },
|
|
68
|
-
{ key: "domain", label: "Domain", path: "company.domain" },
|
|
69
|
-
{ key: "page-count", label: "Pages", path: "company.enrichmentData.websiteCrawl.pageCount", renderType: "count" },
|
|
70
|
-
{ key: "crawl-status", label: "Crawl status", path: "processingState.crawled.status", renderType: "badge" }
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
extracted: {
|
|
74
|
-
company: [
|
|
75
|
-
{ key: "name", label: "Company", path: "company.name" },
|
|
76
|
-
{ key: "domain", label: "Domain", path: "company.domain" },
|
|
77
|
-
{ key: "description", label: "Description", path: "company.enrichmentData.websiteCrawl.companyDescription" },
|
|
78
|
-
{ key: "services", label: "Services", path: "company.enrichmentData.websiteCrawl.services", renderType: "json" },
|
|
79
|
-
{ key: "automation-gaps", label: "Automation gaps", path: "company.enrichmentData.websiteCrawl.automationGaps", renderType: "json" },
|
|
80
|
-
{ key: "contact-count", label: "Contacts", path: "company.enrichmentData.websiteCrawl.emailCount", renderType: "count" }
|
|
81
|
-
]
|
|
82
|
-
},
|
|
83
|
-
qualified: {
|
|
84
|
-
company: [
|
|
85
|
-
{ key: "name", label: "Company", path: "company.name" },
|
|
86
|
-
{ key: "domain", label: "Domain", path: "company.domain" },
|
|
87
|
-
{ key: "score", label: "Score", path: "company.qualificationScore", renderType: "badge", badgeColor: "green" },
|
|
88
|
-
{ key: "signals", label: "Signals", path: "company.qualificationSignals", renderType: "json" },
|
|
89
|
-
{ key: "disqualified-reason", label: "Disqualified reason", path: "processingState.qualified.data.disqualifiedReason" }
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
decisionMakers: {
|
|
93
|
-
contact: [
|
|
94
|
-
{ key: "name", label: "Name", path: "contact.name" },
|
|
95
|
-
{ key: "title", label: "Title", path: "contact.title" },
|
|
96
|
-
{ key: "email", label: "Email", path: "contact.email" },
|
|
97
|
-
{ key: "linkedin", label: "LinkedIn", path: "contact.linkedinUrl" },
|
|
98
|
-
{ key: "priority-score", label: "Priority", path: "contact.enrichmentData.apollo.priorityScore", renderType: "badge" }
|
|
99
|
-
]
|
|
100
|
-
},
|
|
101
|
-
uploaded: {
|
|
102
|
-
company: [
|
|
103
|
-
{ key: "name", label: "Company", path: "company.name" },
|
|
104
|
-
{ key: "domain", label: "Domain", path: "company.domain" },
|
|
105
|
-
{ key: "contacts", label: "Contacts", path: "company.enrichmentData.approvedLeadListExport.contacts", renderType: "json" },
|
|
106
|
-
{ key: "score", label: "Score", path: "company.qualificationScore", renderType: "badge", badgeColor: "green" },
|
|
107
|
-
{ key: "approval", label: "Approval", path: "company.enrichmentData.approvedLeadListExport.approvalStatus", renderType: "badge" }
|
|
108
|
-
]
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
z.object({
|
|
112
|
-
id: ModelIdSchema,
|
|
113
|
-
label: z.string(),
|
|
114
|
-
description: z.string(),
|
|
115
|
-
resourceId: ModelIdSchema
|
|
116
|
-
});
|
|
117
|
-
var CAPABILITY_REGISTRY = [
|
|
118
|
-
{
|
|
119
|
-
id: "lead-gen.company.source",
|
|
120
|
-
label: "Source companies",
|
|
121
|
-
description: "Import source companies from a list provider.",
|
|
122
|
-
resourceId: "lgn-import-workflow"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
id: "lead-gen.company.apollo-import",
|
|
126
|
-
label: "Import from Apollo",
|
|
127
|
-
description: "Pull companies and seed contact data from an Apollo search or list.",
|
|
128
|
-
resourceId: "lgn-01c-apollo-import-workflow"
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
id: "lead-gen.contact.discover",
|
|
132
|
-
label: "Discover contact emails",
|
|
133
|
-
description: "Find email addresses for contacts at qualified companies.",
|
|
134
|
-
resourceId: "lgn-04-email-discovery-workflow"
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
id: "lead-gen.contact.verify-email",
|
|
138
|
-
label: "Verify emails",
|
|
139
|
-
description: "Check email deliverability before outreach.",
|
|
140
|
-
resourceId: "lgn-05-email-verification-workflow"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
id: "lead-gen.company.apify-crawl",
|
|
144
|
-
label: "Crawl websites",
|
|
145
|
-
description: "Crawl company websites via Apify and store raw page markdown in enrichmentData.websiteCrawl.pages for downstream LLM analysis.",
|
|
146
|
-
resourceId: "lgn-02a-apify-website-crawl-workflow"
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
id: "lead-gen.company.website-extract",
|
|
150
|
-
label: "Extract website signals",
|
|
151
|
-
description: "Scrape and analyze company websites for qualification signals.",
|
|
152
|
-
resourceId: "lgn-02-website-extract-workflow"
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
id: "lead-gen.company.qualify",
|
|
156
|
-
label: "Qualify companies",
|
|
157
|
-
description: "Score and filter companies against the ICP rubric.",
|
|
158
|
-
resourceId: "lgn-03-company-qualification-workflow"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
id: "lead-gen.company.dtc-subscription-qualify",
|
|
162
|
-
label: "Qualify DTC subscription fit",
|
|
163
|
-
description: "Classify subscription potential and consumable-product fit for DTC brands.",
|
|
164
|
-
resourceId: "lgn-03b-dtc-subscription-score-workflow"
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
id: "lead-gen.contact.apollo-decision-maker-enrich",
|
|
168
|
-
label: "Enrich decision-makers",
|
|
169
|
-
description: "Find and enrich qualified contacts at qualified companies via Apollo.",
|
|
170
|
-
resourceId: "lgn-04b-apollo-decision-maker-enrich-workflow"
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
id: "lead-gen.contact.personalize",
|
|
174
|
-
label: "Personalize outreach",
|
|
175
|
-
description: "Generate personalized opening lines for each contact.",
|
|
176
|
-
resourceId: "ist-personalization-workflow"
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
id: "lead-gen.review.outreach-ready",
|
|
180
|
-
label: "Upload to outreach",
|
|
181
|
-
description: "Upload approved contacts to the outreach sequence after QC review.",
|
|
182
|
-
resourceId: "ist-upload-contacts-workflow"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
id: "lead-gen.export.list",
|
|
186
|
-
label: "Export lead list",
|
|
187
|
-
description: "Export approved leads as a downloadable lead list.",
|
|
188
|
-
resourceId: "lgn-06-export-list-workflow"
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
id: "lead-gen.company.cleanup",
|
|
192
|
-
label: "Clean up companies",
|
|
193
|
-
description: "Remove disqualified or duplicate companies from the list.",
|
|
194
|
-
resourceId: "lgn-company-cleanup-workflow"
|
|
195
|
-
}
|
|
196
|
-
];
|
|
197
|
-
var PROSPECTING_STEPS = {
|
|
198
|
-
localServices: {
|
|
199
|
-
sourceCompanies: {
|
|
200
|
-
id: "source-companies",
|
|
201
|
-
label: "Companies found",
|
|
202
|
-
primaryEntity: "company",
|
|
203
|
-
outputs: ["company"],
|
|
204
|
-
stageKey: "populated",
|
|
205
|
-
dependencyMode: "per-record-eligibility",
|
|
206
|
-
capabilityKey: "lead-gen.company.source",
|
|
207
|
-
defaultBatchSize: 100,
|
|
208
|
-
maxBatchSize: 250
|
|
209
|
-
},
|
|
210
|
-
analyzeWebsites: {
|
|
211
|
-
id: "analyze-websites",
|
|
212
|
-
label: "Websites analyzed",
|
|
213
|
-
primaryEntity: "company",
|
|
214
|
-
outputs: ["company"],
|
|
215
|
-
stageKey: "extracted",
|
|
216
|
-
dependsOn: ["source-companies"],
|
|
217
|
-
dependencyMode: "per-record-eligibility",
|
|
218
|
-
capabilityKey: "lead-gen.company.website-extract",
|
|
219
|
-
defaultBatchSize: 50,
|
|
220
|
-
maxBatchSize: 100
|
|
221
|
-
},
|
|
222
|
-
qualifyCompanies: {
|
|
223
|
-
id: "qualify-companies",
|
|
224
|
-
label: "Companies qualified",
|
|
225
|
-
primaryEntity: "company",
|
|
226
|
-
outputs: ["company"],
|
|
227
|
-
stageKey: "qualified",
|
|
228
|
-
dependsOn: ["analyze-websites"],
|
|
229
|
-
dependencyMode: "per-record-eligibility",
|
|
230
|
-
capabilityKey: "lead-gen.company.qualify",
|
|
231
|
-
defaultBatchSize: 100,
|
|
232
|
-
maxBatchSize: 250
|
|
233
|
-
},
|
|
234
|
-
findContacts: {
|
|
235
|
-
id: "find-contacts",
|
|
236
|
-
label: "Decision-makers found",
|
|
237
|
-
primaryEntity: "contact",
|
|
238
|
-
outputs: ["contact"],
|
|
239
|
-
stageKey: "discovered",
|
|
240
|
-
dependsOn: ["qualify-companies"],
|
|
241
|
-
dependencyMode: "per-record-eligibility",
|
|
242
|
-
capabilityKey: "lead-gen.contact.discover",
|
|
243
|
-
defaultBatchSize: 50,
|
|
244
|
-
maxBatchSize: 100
|
|
245
|
-
},
|
|
246
|
-
verifyEmails: {
|
|
247
|
-
id: "verify-emails",
|
|
248
|
-
label: "Emails verified",
|
|
249
|
-
primaryEntity: "contact",
|
|
250
|
-
outputs: ["contact"],
|
|
251
|
-
stageKey: "verified",
|
|
252
|
-
dependsOn: ["find-contacts"],
|
|
253
|
-
dependencyMode: "per-record-eligibility",
|
|
254
|
-
capabilityKey: "lead-gen.contact.verify-email",
|
|
255
|
-
defaultBatchSize: 100,
|
|
256
|
-
maxBatchSize: 500
|
|
257
|
-
},
|
|
258
|
-
personalize: {
|
|
259
|
-
id: "personalize",
|
|
260
|
-
label: "Personalize",
|
|
261
|
-
primaryEntity: "contact",
|
|
262
|
-
outputs: ["contact"],
|
|
263
|
-
stageKey: "personalized",
|
|
264
|
-
dependsOn: ["verify-emails"],
|
|
265
|
-
dependencyMode: "per-record-eligibility",
|
|
266
|
-
capabilityKey: "lead-gen.contact.personalize",
|
|
267
|
-
defaultBatchSize: 25,
|
|
268
|
-
maxBatchSize: 100
|
|
269
|
-
},
|
|
270
|
-
review: {
|
|
271
|
-
id: "review",
|
|
272
|
-
label: "Reviewed and exported",
|
|
273
|
-
primaryEntity: "contact",
|
|
274
|
-
outputs: ["export"],
|
|
275
|
-
stageKey: "uploaded",
|
|
276
|
-
dependsOn: ["personalize"],
|
|
277
|
-
dependencyMode: "per-record-eligibility",
|
|
278
|
-
capabilityKey: "lead-gen.review.outreach-ready",
|
|
279
|
-
defaultBatchSize: 25,
|
|
280
|
-
maxBatchSize: 100
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
dtcApolloClickup: {
|
|
284
|
-
importApolloSearch: {
|
|
285
|
-
id: "import-apollo-search",
|
|
286
|
-
label: "Companies found",
|
|
287
|
-
description: "Pull companies and seed contact data from a predefined Apollo search or list.",
|
|
288
|
-
primaryEntity: "company",
|
|
289
|
-
outputs: ["company", "contact"],
|
|
290
|
-
stageKey: "populated",
|
|
291
|
-
dependencyMode: "per-record-eligibility",
|
|
292
|
-
capabilityKey: "lead-gen.company.apollo-import",
|
|
293
|
-
defaultBatchSize: 250,
|
|
294
|
-
maxBatchSize: 1e3,
|
|
295
|
-
recordColumns: DTC_RECORD_COLUMNS.populated,
|
|
296
|
-
credentialRequirements: [
|
|
297
|
-
{
|
|
298
|
-
key: "apollo",
|
|
299
|
-
provider: "apollo",
|
|
300
|
-
credentialType: "api-key-secret",
|
|
301
|
-
label: "Apollo API key",
|
|
302
|
-
required: true,
|
|
303
|
-
selectionMode: "single",
|
|
304
|
-
inputPath: "credential"
|
|
305
|
-
}
|
|
306
|
-
]
|
|
307
|
-
},
|
|
308
|
-
apifyCrawl: {
|
|
309
|
-
id: "apify-crawl",
|
|
310
|
-
label: "Websites crawled",
|
|
311
|
-
description: "Crawl company websites via Apify and store raw page markdown in enrichmentData.websiteCrawl.pages for downstream LLM analysis. Overwrites the synthetic seed Apollo Import wrote with real page content.",
|
|
312
|
-
primaryEntity: "company",
|
|
313
|
-
outputs: ["company"],
|
|
314
|
-
stageKey: "crawled",
|
|
315
|
-
dependsOn: ["import-apollo-search"],
|
|
316
|
-
dependencyMode: "per-record-eligibility",
|
|
317
|
-
capabilityKey: "lead-gen.company.apify-crawl",
|
|
318
|
-
defaultBatchSize: 50,
|
|
319
|
-
maxBatchSize: 100,
|
|
320
|
-
recordColumns: DTC_RECORD_COLUMNS.crawled,
|
|
321
|
-
credentialRequirements: [
|
|
322
|
-
{
|
|
323
|
-
key: "apify",
|
|
324
|
-
provider: "apify",
|
|
325
|
-
credentialType: "api-key-secret",
|
|
326
|
-
label: "Apify API token",
|
|
327
|
-
required: true,
|
|
328
|
-
selectionMode: "single",
|
|
329
|
-
inputPath: "credential",
|
|
330
|
-
verifyOnRun: true
|
|
331
|
-
}
|
|
332
|
-
]
|
|
333
|
-
},
|
|
334
|
-
analyzeWebsites: {
|
|
335
|
-
id: "analyze-websites",
|
|
336
|
-
label: "Websites analyzed",
|
|
337
|
-
description: "Extract subscription, product, retention, and tech-stack signals from each brand website.",
|
|
338
|
-
primaryEntity: "company",
|
|
339
|
-
outputs: ["company"],
|
|
340
|
-
stageKey: "extracted",
|
|
341
|
-
dependsOn: ["apify-crawl"],
|
|
342
|
-
dependencyMode: "per-record-eligibility",
|
|
343
|
-
capabilityKey: "lead-gen.company.website-extract",
|
|
344
|
-
defaultBatchSize: 50,
|
|
345
|
-
maxBatchSize: 100,
|
|
346
|
-
recordColumns: DTC_RECORD_COLUMNS.extracted
|
|
347
|
-
},
|
|
348
|
-
scoreDtcFit: {
|
|
349
|
-
id: "score-dtc-fit",
|
|
350
|
-
label: "Companies qualified",
|
|
351
|
-
description: "Classify subscription potential, consumable-product fit, retention maturity, and disqualifiers.",
|
|
352
|
-
primaryEntity: "company",
|
|
353
|
-
outputs: ["company"],
|
|
354
|
-
stageKey: "qualified",
|
|
355
|
-
dependsOn: ["analyze-websites"],
|
|
356
|
-
dependencyMode: "per-record-eligibility",
|
|
357
|
-
capabilityKey: "lead-gen.company.dtc-subscription-qualify",
|
|
358
|
-
defaultBatchSize: 100,
|
|
359
|
-
maxBatchSize: 250,
|
|
360
|
-
recordColumns: DTC_RECORD_COLUMNS.qualified
|
|
361
|
-
},
|
|
362
|
-
enrichDecisionMakers: {
|
|
363
|
-
id: "enrich-decision-makers",
|
|
364
|
-
label: "Decision-makers found",
|
|
365
|
-
description: "Use Apollo to find qualified contacts at qualified companies - founders, retention leads, lifecycle leads, and marketing owners.",
|
|
366
|
-
primaryEntity: "company",
|
|
367
|
-
outputs: ["contact"],
|
|
368
|
-
stageKey: "decision-makers-enriched",
|
|
369
|
-
recordEntity: "contact",
|
|
370
|
-
dependsOn: ["score-dtc-fit"],
|
|
371
|
-
dependencyMode: "per-record-eligibility",
|
|
372
|
-
capabilityKey: "lead-gen.contact.apollo-decision-maker-enrich",
|
|
373
|
-
defaultBatchSize: 100,
|
|
374
|
-
maxBatchSize: 250,
|
|
375
|
-
recordColumns: DTC_RECORD_COLUMNS.decisionMakers,
|
|
376
|
-
credentialRequirements: [
|
|
377
|
-
{
|
|
378
|
-
key: "apollo",
|
|
379
|
-
provider: "apollo",
|
|
380
|
-
credentialType: "api-key-secret",
|
|
381
|
-
label: "Apollo API key",
|
|
382
|
-
required: true,
|
|
383
|
-
selectionMode: "single",
|
|
384
|
-
inputPath: "credential"
|
|
385
|
-
}
|
|
386
|
-
]
|
|
387
|
-
},
|
|
388
|
-
reviewAndExport: {
|
|
389
|
-
id: "review-and-export",
|
|
390
|
-
label: "Reviewed and exported",
|
|
391
|
-
description: "Operator QC approves or rejects qualified companies, then approved records are exported as a lead list with unverified emails.",
|
|
392
|
-
primaryEntity: "company",
|
|
393
|
-
outputs: ["export"],
|
|
394
|
-
stageKey: "uploaded",
|
|
395
|
-
recordsStageKey: "uploaded",
|
|
396
|
-
recordSourceStageKey: "qualified",
|
|
397
|
-
dependsOn: ["enrich-decision-makers"],
|
|
398
|
-
dependencyMode: "per-record-eligibility",
|
|
399
|
-
capabilityKey: "lead-gen.export.list",
|
|
400
|
-
defaultBatchSize: 100,
|
|
401
|
-
maxBatchSize: 250,
|
|
402
|
-
recordColumns: DTC_RECORD_COLUMNS.uploaded,
|
|
403
|
-
credentialRequirements: [
|
|
404
|
-
{
|
|
405
|
-
key: "clickup",
|
|
406
|
-
provider: "clickup",
|
|
407
|
-
credentialType: "api-key-secret",
|
|
408
|
-
label: "ClickUp API token",
|
|
409
|
-
required: true,
|
|
410
|
-
selectionMode: "single",
|
|
411
|
-
inputPath: "clickupCredential",
|
|
412
|
-
verifyOnRun: true
|
|
413
|
-
}
|
|
414
|
-
]
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
};
|
|
418
|
-
var OrganizationModelProspectingSchema = z.object({
|
|
419
|
-
listEntityId: ModelIdSchema,
|
|
420
|
-
companyEntityId: ModelIdSchema,
|
|
421
|
-
contactEntityId: ModelIdSchema,
|
|
422
|
-
description: DescriptionSchema.optional(),
|
|
423
|
-
companyStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
424
|
-
contactStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
425
|
-
defaultBuildTemplateId: ModelIdSchema,
|
|
426
|
-
buildTemplates: z.array(ProspectingBuildTemplateSchema).min(1)
|
|
427
|
-
});
|
|
428
|
-
function toProspectingLifecycleStage(stage) {
|
|
429
|
-
return {
|
|
430
|
-
id: stage.key,
|
|
431
|
-
label: stage.label,
|
|
432
|
-
order: stage.order
|
|
433
|
-
};
|
|
434
|
-
}
|
|
435
|
-
function leadGenStagesForEntity(entity) {
|
|
436
|
-
return Object.values(LEAD_GEN_STAGE_CATALOG).filter((stage) => stage.entity === entity || stage.additionalEntities?.includes(entity)).sort((a, b) => a.order - b.order).map(toProspectingLifecycleStage);
|
|
437
|
-
}
|
|
438
|
-
var DEFAULT_ORGANIZATION_MODEL_PROSPECTING = {
|
|
439
|
-
listEntityId: "leadgen.list",
|
|
440
|
-
companyEntityId: "leadgen.company",
|
|
441
|
-
contactEntityId: "leadgen.contact",
|
|
442
|
-
companyStages: leadGenStagesForEntity("company"),
|
|
443
|
-
contactStages: leadGenStagesForEntity("contact"),
|
|
444
|
-
defaultBuildTemplateId: "local-services",
|
|
445
|
-
buildTemplates: [
|
|
446
|
-
{
|
|
447
|
-
id: "local-services",
|
|
448
|
-
label: "Local Services Prospecting",
|
|
449
|
-
description: "Curated local-services list build using company sourcing, website analysis, qualification, contact discovery, verification, personalization, and review.",
|
|
450
|
-
steps: [
|
|
451
|
-
PROSPECTING_STEPS.localServices.sourceCompanies,
|
|
452
|
-
PROSPECTING_STEPS.localServices.analyzeWebsites,
|
|
453
|
-
PROSPECTING_STEPS.localServices.qualifyCompanies,
|
|
454
|
-
PROSPECTING_STEPS.localServices.findContacts,
|
|
455
|
-
PROSPECTING_STEPS.localServices.verifyEmails,
|
|
456
|
-
PROSPECTING_STEPS.localServices.personalize,
|
|
457
|
-
PROSPECTING_STEPS.localServices.review
|
|
458
|
-
]
|
|
459
|
-
},
|
|
460
|
-
{
|
|
461
|
-
id: "dtc-subscription-apollo-clickup",
|
|
462
|
-
label: "DTC Subscription Apollo Export",
|
|
463
|
-
description: "Prospecting pipeline for DTC subscription or subscription-ready brands where Apollo is the source and contact-enrichment layer, Elevasis handles company research and fit scoring, and approved leads export as an approved lead list.",
|
|
464
|
-
steps: [
|
|
465
|
-
PROSPECTING_STEPS.dtcApolloClickup.importApolloSearch,
|
|
466
|
-
PROSPECTING_STEPS.dtcApolloClickup.apifyCrawl,
|
|
467
|
-
PROSPECTING_STEPS.dtcApolloClickup.analyzeWebsites,
|
|
468
|
-
PROSPECTING_STEPS.dtcApolloClickup.scoreDtcFit,
|
|
469
|
-
PROSPECTING_STEPS.dtcApolloClickup.enrichDecisionMakers,
|
|
470
|
-
PROSPECTING_STEPS.dtcApolloClickup.reviewAndExport
|
|
471
|
-
]
|
|
472
|
-
}
|
|
473
|
-
]
|
|
474
|
-
};
|
|
475
|
-
|
|
476
|
-
export { CAPABILITY_REGISTRY, DEFAULT_ORGANIZATION_MODEL_PROSPECTING, OrganizationModelProspectingSchema, PROSPECTING_STEPS };
|