@elevasis/ui 2.25.4 → 2.25.6
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/app/index.css +2 -6
- package/dist/app/index.d.ts +63 -56
- package/dist/app/index.js +3 -2
- package/dist/charts/index.js +1 -1
- package/dist/chunk-5RLYII6P.js +314 -0
- package/dist/chunk-6U7AIIHF.js +880 -0
- package/dist/{chunk-5O5VC4HB.js → chunk-7F3IQMLI.js} +1 -1
- package/dist/{chunk-ZBRRVDYJ.js → chunk-ARJPZ66V.js} +42 -760
- package/dist/{chunk-IS53MXE4.js → chunk-BDKM56TP.js} +1 -1
- package/dist/{chunk-FVXM2MN6.js → chunk-C7IBFI5B.js} +1 -1
- package/dist/{chunk-DUUH3CHC.js → chunk-CPAJXBTL.js} +10 -6
- package/dist/{chunk-3FBCFSDF.js → chunk-ECNNI3NT.js} +2 -1
- package/dist/chunk-HAEJ4M54.js +94 -0
- package/dist/{chunk-7RPH2VXV.js → chunk-JXSBOG2R.js} +1 -1
- package/dist/{chunk-E7WTCAVX.js → chunk-KNISO652.js} +2 -2
- package/dist/{chunk-5PLAJ6IS.js → chunk-L7D6KNHV.js} +457 -335
- package/dist/{chunk-JMI7L7Y7.js → chunk-LPM7O6XM.js} +2 -233
- package/dist/{chunk-2XWXFT2Z.js → chunk-QARSVM7Q.js} +1 -1
- package/dist/{chunk-FYT6LYJP.js → chunk-SBQ4MYQV.js} +3 -2
- package/dist/{chunk-MU4VPAMR.js → chunk-YRKQNPK2.js} +1 -1
- package/dist/components/index.css +2 -6
- package/dist/components/index.d.ts +11 -2
- package/dist/components/index.js +25 -23
- package/dist/components/navigation/index.css +2 -6
- package/dist/features/auth/index.css +2 -6
- package/dist/features/crm/index.css +2 -6
- package/dist/features/crm/index.js +9 -8
- package/dist/features/dashboard/index.css +2 -6
- package/dist/features/dashboard/index.js +9 -8
- package/dist/features/delivery/index.css +2 -6
- package/dist/features/delivery/index.js +10 -9
- package/dist/features/knowledge/index.d.ts +33 -0
- package/dist/features/knowledge/index.js +406 -0
- package/dist/features/lead-gen/index.css +2 -6
- package/dist/features/lead-gen/index.d.ts +158 -151
- package/dist/features/lead-gen/index.js +10 -9
- package/dist/features/monitoring/index.css +2 -6
- package/dist/features/monitoring/index.js +10 -9
- package/dist/features/monitoring/requests/index.css +2 -6
- package/dist/features/monitoring/requests/index.js +8 -7
- package/dist/features/operations/index.css +2 -6
- package/dist/features/operations/index.js +15 -13
- package/dist/features/settings/index.css +2 -6
- package/dist/features/settings/index.js +9 -8
- package/dist/hooks/delivery/index.css +2 -6
- package/dist/hooks/index.css +2 -6
- package/dist/hooks/index.d.ts +14 -3
- package/dist/hooks/index.js +8 -7
- package/dist/hooks/published.css +2 -6
- package/dist/hooks/published.d.ts +14 -3
- package/dist/hooks/published.js +8 -7
- package/dist/index.css +2 -6
- package/dist/index.d.ts +611 -593
- package/dist/index.js +8 -7
- package/dist/knowledge/index.d.ts +643 -0
- package/dist/knowledge/index.js +496 -0
- package/dist/organization/index.css +2 -6
- package/dist/provider/index.css +2 -6
- package/dist/provider/index.d.ts +346 -339
- package/dist/provider/index.js +6 -5
- package/dist/provider/published.css +2 -6
- package/dist/provider/published.d.ts +346 -339
- package/dist/provider/published.js +5 -4
- package/dist/vite-plugin-knowledge/index.d.ts +37 -0
- package/dist/vite-plugin-knowledge/index.js +67 -0
- package/package.json +45 -33
- package/src/knowledge/README.md +31 -0
- package/dist/{chunk-U2KJXTTV.js → chunk-TAIX4NO3.js} +1 -1
package/dist/app/index.css
CHANGED
|
@@ -32,12 +32,8 @@
|
|
|
32
32
|
[data-mantine-color-scheme=dark] .mantine-Tabs-root {
|
|
33
33
|
--tab-border-color: var(--color-border);
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
background-color:
|
|
37
|
-
}
|
|
38
|
-
[data-mantine-color-scheme] .mantine-Tabs-tab[data-active],
|
|
39
|
-
[data-mantine-color-scheme] .mantine-Tabs-tab[data-active]:hover {
|
|
40
|
-
background-color: transparent;
|
|
35
|
+
.mantine-Tabs-tab:hover {
|
|
36
|
+
background-color: var(--color-surface-hover);
|
|
41
37
|
}
|
|
42
38
|
.mantine-Pagination-control:not([data-active]) {
|
|
43
39
|
background: var(--color-surface);
|
package/dist/app/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ReactNode, ComponentType } from 'react';
|
|
2
2
|
import { AnyRouter } from '@tanstack/react-router';
|
|
3
3
|
import { QueryClient } from '@tanstack/react-query';
|
|
4
|
-
import
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
import { z as z$1 } from 'zod';
|
|
5
6
|
import { MantineThemeOverride } from '@mantine/core';
|
|
6
7
|
|
|
7
8
|
type Json = string | number | boolean | null | {
|
|
@@ -2918,80 +2919,81 @@ type AcqDealRow = Database['public']['Tables']['acq_deals']['Row'];
|
|
|
2918
2919
|
* Single list as returned by /api/acquisition/lists/:id etc.
|
|
2919
2920
|
* Camel-cased domain shape matching AcqList in types.ts.
|
|
2920
2921
|
*/
|
|
2921
|
-
declare const AcqListResponseSchema: z.ZodObject<{
|
|
2922
|
-
id: z.ZodString;
|
|
2923
|
-
organizationId: z.ZodString;
|
|
2924
|
-
name: z.ZodString;
|
|
2925
|
-
description: z.ZodNullable<z.ZodString>;
|
|
2926
|
-
batchIds: z.ZodArray<z.ZodString>;
|
|
2927
|
-
instantlyCampaignId: z.ZodNullable<z.ZodString>;
|
|
2928
|
-
status: z.ZodEnum<{
|
|
2922
|
+
declare const AcqListResponseSchema: z$1.ZodObject<{
|
|
2923
|
+
id: z$1.ZodString;
|
|
2924
|
+
organizationId: z$1.ZodString;
|
|
2925
|
+
name: z$1.ZodString;
|
|
2926
|
+
description: z$1.ZodNullable<z$1.ZodString>;
|
|
2927
|
+
batchIds: z$1.ZodArray<z$1.ZodString>;
|
|
2928
|
+
instantlyCampaignId: z$1.ZodNullable<z$1.ZodString>;
|
|
2929
|
+
status: z$1.ZodEnum<{
|
|
2929
2930
|
closing: "closing";
|
|
2930
2931
|
draft: "draft";
|
|
2931
2932
|
enriching: "enriching";
|
|
2932
2933
|
launched: "launched";
|
|
2933
2934
|
archived: "archived";
|
|
2934
2935
|
}>;
|
|
2935
|
-
metadata: z.ZodObject<{
|
|
2936
|
-
buildPlanSnapshot: z.ZodOptional<z.ZodObject<{
|
|
2937
|
-
templateId: z.ZodString;
|
|
2938
|
-
templateLabel: z.ZodString;
|
|
2939
|
-
steps: z.ZodArray<z.ZodObject<{
|
|
2940
|
-
id: z.ZodString;
|
|
2941
|
-
label: z.ZodString;
|
|
2942
|
-
description: z.ZodOptional<z.ZodString>;
|
|
2943
|
-
primaryEntity: z.ZodEnum<{
|
|
2936
|
+
metadata: z$1.ZodObject<{
|
|
2937
|
+
buildPlanSnapshot: z$1.ZodOptional<z$1.ZodObject<{
|
|
2938
|
+
templateId: z$1.ZodString;
|
|
2939
|
+
templateLabel: z$1.ZodString;
|
|
2940
|
+
steps: z$1.ZodArray<z$1.ZodObject<{
|
|
2941
|
+
id: z$1.ZodString;
|
|
2942
|
+
label: z$1.ZodString;
|
|
2943
|
+
description: z$1.ZodOptional<z$1.ZodString>;
|
|
2944
|
+
primaryEntity: z$1.ZodEnum<{
|
|
2944
2945
|
company: "company";
|
|
2945
2946
|
contact: "contact";
|
|
2946
2947
|
}>;
|
|
2947
|
-
outputs: z.ZodArray<z.ZodEnum<{
|
|
2948
|
+
outputs: z$1.ZodArray<z$1.ZodEnum<{
|
|
2948
2949
|
company: "company";
|
|
2949
2950
|
contact: "contact";
|
|
2950
2951
|
export: "export";
|
|
2951
2952
|
}>>;
|
|
2952
|
-
stageKey: z.ZodString;
|
|
2953
|
-
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2954
|
-
dependencyMode: z.ZodLiteral<"per-record-eligibility">;
|
|
2955
|
-
capabilityKey: z.ZodString;
|
|
2956
|
-
defaultBatchSize: z.ZodNumber;
|
|
2957
|
-
maxBatchSize: z.ZodNumber;
|
|
2958
|
-
}, z.core.$strip>>;
|
|
2959
|
-
}, z.core.$strip>>;
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
}, z.core.$strip>;
|
|
2987
|
-
|
|
2953
|
+
stageKey: z$1.ZodString;
|
|
2954
|
+
dependsOn: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
2955
|
+
dependencyMode: z$1.ZodLiteral<"per-record-eligibility">;
|
|
2956
|
+
capabilityKey: z$1.ZodString;
|
|
2957
|
+
defaultBatchSize: z$1.ZodNumber;
|
|
2958
|
+
maxBatchSize: z$1.ZodNumber;
|
|
2959
|
+
}, z$1.core.$strip>>;
|
|
2960
|
+
}, z$1.core.$strip>>;
|
|
2961
|
+
stepConfig: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
|
|
2962
|
+
}, z$1.core.$catchall<z$1.ZodUnknown>>;
|
|
2963
|
+
launchedAt: z$1.ZodNullable<z$1.ZodString>;
|
|
2964
|
+
completedAt: z$1.ZodNullable<z$1.ZodString>;
|
|
2965
|
+
createdAt: z$1.ZodString;
|
|
2966
|
+
scrapingConfig: z$1.ZodObject<{
|
|
2967
|
+
vertical: z$1.ZodOptional<z$1.ZodString>;
|
|
2968
|
+
geography: z$1.ZodOptional<z$1.ZodString>;
|
|
2969
|
+
size: z$1.ZodOptional<z$1.ZodString>;
|
|
2970
|
+
apifyInput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
|
|
2971
|
+
}, z$1.core.$strip>;
|
|
2972
|
+
icp: z$1.ZodObject<{
|
|
2973
|
+
qualificationRubricKey: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
2974
|
+
targetDescription: z$1.ZodOptional<z$1.ZodString>;
|
|
2975
|
+
minReviewCount: z$1.ZodOptional<z$1.ZodNumber>;
|
|
2976
|
+
minRating: z$1.ZodOptional<z$1.ZodNumber>;
|
|
2977
|
+
excludeFranchises: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
2978
|
+
customRules: z$1.ZodOptional<z$1.ZodString>;
|
|
2979
|
+
}, z$1.core.$strip>;
|
|
2980
|
+
pipelineConfig: z$1.ZodObject<{
|
|
2981
|
+
stages: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
2982
|
+
key: z$1.ZodString;
|
|
2983
|
+
label: z$1.ZodOptional<z$1.ZodString>;
|
|
2984
|
+
enabled: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
2985
|
+
order: z$1.ZodOptional<z$1.ZodNumber>;
|
|
2986
|
+
}, z$1.core.$strip>>>;
|
|
2987
|
+
}, z$1.core.$strip>;
|
|
2988
|
+
}, z$1.core.$strip>;
|
|
2989
|
+
type AcqListResponse = z$1.infer<typeof AcqListResponseSchema>;
|
|
2988
2990
|
|
|
2989
2991
|
interface ActionDef {
|
|
2990
2992
|
key: string;
|
|
2991
2993
|
label: string;
|
|
2992
2994
|
isAvailableFor: (deal: AcqDealRow) => boolean;
|
|
2993
2995
|
workflowId: string;
|
|
2994
|
-
payloadSchema?: z.ZodTypeAny;
|
|
2996
|
+
payloadSchema?: z$1.ZodTypeAny;
|
|
2995
2997
|
}
|
|
2996
2998
|
|
|
2997
2999
|
interface ApiErrorDetails {
|
|
@@ -3058,6 +3060,11 @@ interface ListBuilderWorkflow {
|
|
|
3058
3060
|
description: string;
|
|
3059
3061
|
category: ListBuilderWorkflowCategory;
|
|
3060
3062
|
stagesAffected: readonly LeadGenStageKey[];
|
|
3063
|
+
configSchema?: z.ZodSchema<unknown>;
|
|
3064
|
+
ConfigForm?: ComponentType<{
|
|
3065
|
+
value: Record<string, unknown>;
|
|
3066
|
+
onChange: (next: Record<string, unknown>) => void;
|
|
3067
|
+
}>;
|
|
3061
3068
|
inputForm?: ComponentType<ListBuilderWorkflowFormProps>;
|
|
3062
3069
|
defaultInput?: (list: AcqListResponse) => unknown;
|
|
3063
3070
|
}
|
package/dist/app/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ElevasisUIProvider } from '../chunk-
|
|
1
|
+
import { ElevasisUIProvider } from '../chunk-YRKQNPK2.js';
|
|
2
2
|
import '../chunk-QIW6OCEI.js';
|
|
3
3
|
import '../chunk-WLOQ4IBG.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-LPM7O6XM.js';
|
|
5
5
|
import '../chunk-SZHARWKU.js';
|
|
6
|
+
import '../chunk-5RLYII6P.js';
|
|
6
7
|
import '../chunk-T6INEVX6.js';
|
|
7
8
|
import '../chunk-HOIT677G.js';
|
|
8
9
|
import '../chunk-E565XMTQ.js';
|
package/dist/charts/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-KMAXFJPH.js';
|
|
2
2
|
import '../chunk-VKMNWHTL.js';
|
|
3
3
|
import '../chunk-U36X6NZM.js';
|
|
4
|
+
import '../chunk-NYBEU5TE.js';
|
|
4
5
|
import '../chunk-SZHARWKU.js';
|
|
5
6
|
import '../chunk-3KMDHCAR.js';
|
|
6
|
-
import '../chunk-NYBEU5TE.js';
|
|
7
7
|
import '../chunk-2IFYDILW.js';
|
|
8
8
|
import '../chunk-Q7DJKLEN.js';
|
|
9
9
|
import '../chunk-DT3QYZVU.js';
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// ../core/src/organization-model/domains/sales.ts
|
|
4
|
+
var ModelIdSchema = z.string().trim().min(1).max(100).regex(/^[a-z0-9]+(?:[-._][a-z0-9]+)*$/, "IDs must be lowercase and use -, _, or . separators");
|
|
5
|
+
var LabelSchema = z.string().trim().min(1).max(120);
|
|
6
|
+
var DescriptionSchema = z.string().trim().min(1).max(2e3);
|
|
7
|
+
var ColorTokenSchema = z.string().trim().min(1).max(50);
|
|
8
|
+
var IconNameSchema = z.string().trim().min(1).max(80);
|
|
9
|
+
var PathSchema = z.string().trim().startsWith("/").max(300);
|
|
10
|
+
var ReferenceIdsSchema = z.array(ModelIdSchema).default([]);
|
|
11
|
+
var DisplayMetadataSchema = z.object({
|
|
12
|
+
label: LabelSchema,
|
|
13
|
+
description: DescriptionSchema.optional(),
|
|
14
|
+
color: ColorTokenSchema.optional(),
|
|
15
|
+
icon: IconNameSchema.optional()
|
|
16
|
+
});
|
|
17
|
+
var TechStackEntrySchema = z.object({
|
|
18
|
+
/** Name of the external platform (e.g. "HubSpot", "Stripe", "Notion"). */
|
|
19
|
+
platform: z.string().trim().min(1).max(200),
|
|
20
|
+
/** Free-form description of what this integration is used for. */
|
|
21
|
+
purpose: z.string().trim().min(1).max(500),
|
|
22
|
+
/**
|
|
23
|
+
* Health of the credential backing this integration.
|
|
24
|
+
* - configured: credential present and valid
|
|
25
|
+
* - pending: not yet set up
|
|
26
|
+
* - expired: credential existed but has lapsed
|
|
27
|
+
* - missing: expected but not present
|
|
28
|
+
*/
|
|
29
|
+
credentialStatus: z.enum(["configured", "pending", "expired", "missing"]),
|
|
30
|
+
/**
|
|
31
|
+
* Whether this integration is the primary system of record for its domain
|
|
32
|
+
* (e.g. HubSpot is SoR for contacts). Defaults to false.
|
|
33
|
+
*/
|
|
34
|
+
isSystemOfRecord: z.boolean().default(false)
|
|
35
|
+
});
|
|
36
|
+
DisplayMetadataSchema.extend({
|
|
37
|
+
id: ModelIdSchema,
|
|
38
|
+
resourceId: z.string().trim().min(1).max(255),
|
|
39
|
+
resourceType: z.enum(["workflow", "agent", "trigger", "integration", "external", "human_checkpoint"]),
|
|
40
|
+
featureIds: ReferenceIdsSchema,
|
|
41
|
+
entityIds: ReferenceIdsSchema,
|
|
42
|
+
surfaceIds: ReferenceIdsSchema,
|
|
43
|
+
capabilityIds: ReferenceIdsSchema,
|
|
44
|
+
/** Optional tech-stack metadata for external-SaaS integrations. */
|
|
45
|
+
techStack: TechStackEntrySchema.optional()
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// ../core/src/organization-model/domains/sales.ts
|
|
49
|
+
var SalesStageSemanticClassSchema = z.enum(["open", "active", "nurturing", "closed_won", "closed_lost"]);
|
|
50
|
+
var SalesStageSchema = DisplayMetadataSchema.extend({
|
|
51
|
+
id: ModelIdSchema,
|
|
52
|
+
order: z.number().int().min(0),
|
|
53
|
+
semanticClass: SalesStageSemanticClassSchema,
|
|
54
|
+
surfaceIds: ReferenceIdsSchema,
|
|
55
|
+
resourceIds: ReferenceIdsSchema
|
|
56
|
+
});
|
|
57
|
+
var SalesPipelineSchema = z.object({
|
|
58
|
+
id: ModelIdSchema,
|
|
59
|
+
label: z.string().trim().min(1).max(120),
|
|
60
|
+
description: DescriptionSchema.optional(),
|
|
61
|
+
entityId: ModelIdSchema,
|
|
62
|
+
stages: z.array(SalesStageSchema).min(1)
|
|
63
|
+
});
|
|
64
|
+
var OrganizationModelSalesSchema = z.object({
|
|
65
|
+
entityId: ModelIdSchema,
|
|
66
|
+
defaultPipelineId: ModelIdSchema,
|
|
67
|
+
pipelines: z.array(SalesPipelineSchema).min(1)
|
|
68
|
+
});
|
|
69
|
+
var DEFAULT_ORGANIZATION_MODEL_SALES = {
|
|
70
|
+
entityId: "crm.deal",
|
|
71
|
+
defaultPipelineId: "default",
|
|
72
|
+
pipelines: [
|
|
73
|
+
{
|
|
74
|
+
id: "default",
|
|
75
|
+
label: "Default Pipeline",
|
|
76
|
+
entityId: "crm.deal",
|
|
77
|
+
stages: [
|
|
78
|
+
{
|
|
79
|
+
id: "interested",
|
|
80
|
+
label: "Interested",
|
|
81
|
+
color: "blue",
|
|
82
|
+
order: 1,
|
|
83
|
+
semanticClass: "open",
|
|
84
|
+
surfaceIds: ["crm.pipeline"],
|
|
85
|
+
resourceIds: []
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "proposal",
|
|
89
|
+
label: "Proposal",
|
|
90
|
+
color: "yellow",
|
|
91
|
+
order: 2,
|
|
92
|
+
semanticClass: "active",
|
|
93
|
+
surfaceIds: ["crm.pipeline"],
|
|
94
|
+
resourceIds: []
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: "closing",
|
|
98
|
+
label: "Closing",
|
|
99
|
+
color: "lime",
|
|
100
|
+
order: 3,
|
|
101
|
+
semanticClass: "active",
|
|
102
|
+
surfaceIds: ["crm.pipeline"],
|
|
103
|
+
resourceIds: []
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "closed_won",
|
|
107
|
+
label: "Closed Won",
|
|
108
|
+
color: "green",
|
|
109
|
+
order: 4,
|
|
110
|
+
semanticClass: "closed_won",
|
|
111
|
+
surfaceIds: ["crm.pipeline"],
|
|
112
|
+
resourceIds: []
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: "closed_lost",
|
|
116
|
+
label: "Closed Lost",
|
|
117
|
+
color: "red",
|
|
118
|
+
order: 5,
|
|
119
|
+
semanticClass: "closed_lost",
|
|
120
|
+
surfaceIds: ["crm.pipeline"],
|
|
121
|
+
resourceIds: []
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: "nurturing",
|
|
125
|
+
label: "Nurturing",
|
|
126
|
+
color: "grape",
|
|
127
|
+
order: 6,
|
|
128
|
+
semanticClass: "nurturing",
|
|
129
|
+
surfaceIds: ["crm.pipeline"],
|
|
130
|
+
resourceIds: []
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
};
|
|
136
|
+
function findPipeline(definitions, pipelineKey) {
|
|
137
|
+
return definitions.find((def) => def.pipelineKey === pipelineKey);
|
|
138
|
+
}
|
|
139
|
+
var CRM_DISCOVERY_REPLIED_STATE = {
|
|
140
|
+
stateKey: "discovery_replied",
|
|
141
|
+
label: "Discovery Replied"
|
|
142
|
+
};
|
|
143
|
+
var CRM_DISCOVERY_LINK_SENT_STATE = {
|
|
144
|
+
stateKey: "discovery_link_sent",
|
|
145
|
+
label: "Discovery Link Sent"
|
|
146
|
+
};
|
|
147
|
+
var CRM_DISCOVERY_NUDGING_STATE = {
|
|
148
|
+
stateKey: "discovery_nudging",
|
|
149
|
+
label: "Discovery Nudging"
|
|
150
|
+
};
|
|
151
|
+
var CRM_DISCOVERY_BOOKING_CANCELLED_STATE = {
|
|
152
|
+
stateKey: "discovery_booking_cancelled",
|
|
153
|
+
label: "Discovery Booking Cancelled"
|
|
154
|
+
};
|
|
155
|
+
var CRM_PRIORITY_BUCKETS = [
|
|
156
|
+
{ bucketKey: "needs_response", label: "Needs Response", rank: 10, color: "red" },
|
|
157
|
+
{ bucketKey: "follow_up_due", label: "Follow-up Due", rank: 20, color: "orange" },
|
|
158
|
+
{ bucketKey: "waiting", label: "Waiting", rank: 30, color: "blue" },
|
|
159
|
+
{ bucketKey: "stale", label: "Stale", rank: 40, color: "gray" },
|
|
160
|
+
{ bucketKey: "closed_low", label: "Closed", rank: 50, color: "dark" }
|
|
161
|
+
];
|
|
162
|
+
var DEFAULT_CRM_PRIORITY_RULE_CONFIG = {
|
|
163
|
+
buckets: CRM_PRIORITY_BUCKETS,
|
|
164
|
+
closedStageKeys: ["closed_won", "closed_lost"],
|
|
165
|
+
followUpAfterDaysByStateKey: {
|
|
166
|
+
discovery_link_sent: 3,
|
|
167
|
+
discovery_nudging: 2,
|
|
168
|
+
reply_sent: 3,
|
|
169
|
+
followup_1_sent: 3,
|
|
170
|
+
followup_2_sent: 5,
|
|
171
|
+
followup_3_sent: 7
|
|
172
|
+
},
|
|
173
|
+
staleAfterDays: 14
|
|
174
|
+
};
|
|
175
|
+
var PENDING_STATE = { stateKey: "pending", label: "Pending" };
|
|
176
|
+
var ACQ_LIST_MEMBERS_LEAD_GEN_PIPELINE = {
|
|
177
|
+
pipelineKey: "lead-gen",
|
|
178
|
+
label: "Lead Generation",
|
|
179
|
+
entityKey: "acq.list-member",
|
|
180
|
+
stages: [
|
|
181
|
+
{
|
|
182
|
+
stageKey: "outreach",
|
|
183
|
+
label: "Outreach",
|
|
184
|
+
states: [
|
|
185
|
+
PENDING_STATE,
|
|
186
|
+
{ stateKey: "personalized", label: "Personalized" },
|
|
187
|
+
{ stateKey: "uploaded", label: "Uploaded" },
|
|
188
|
+
{ stateKey: "interested", label: "Interested" }
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
stageKey: "prospecting",
|
|
193
|
+
label: "Prospecting",
|
|
194
|
+
states: [
|
|
195
|
+
PENDING_STATE,
|
|
196
|
+
{ stateKey: "discovered", label: "Discovered" },
|
|
197
|
+
{ stateKey: "verified", label: "Verified" }
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
stageKey: "qualification",
|
|
202
|
+
label: "Qualification",
|
|
203
|
+
states: [PENDING_STATE]
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
};
|
|
207
|
+
var ACQ_LIST_COMPANIES_LEAD_GEN_PIPELINE = {
|
|
208
|
+
pipelineKey: "lead-gen",
|
|
209
|
+
label: "Lead Generation",
|
|
210
|
+
entityKey: "acq.list-company",
|
|
211
|
+
stages: [
|
|
212
|
+
{
|
|
213
|
+
stageKey: "outreach",
|
|
214
|
+
label: "Outreach",
|
|
215
|
+
states: [PENDING_STATE]
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
stageKey: "prospecting",
|
|
219
|
+
label: "Prospecting",
|
|
220
|
+
states: [
|
|
221
|
+
PENDING_STATE,
|
|
222
|
+
{ stateKey: "populated", label: "Populated" },
|
|
223
|
+
{ stateKey: "extracted", label: "Extracted" }
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
stageKey: "qualification",
|
|
228
|
+
label: "Qualification",
|
|
229
|
+
states: [PENDING_STATE, { stateKey: "qualified", label: "Qualified" }]
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
};
|
|
233
|
+
var LEAD_GEN_PIPELINE_DEFINITIONS = {
|
|
234
|
+
"acq.list-member": [ACQ_LIST_MEMBERS_LEAD_GEN_PIPELINE],
|
|
235
|
+
"acq.list-company": [ACQ_LIST_COMPANIES_LEAD_GEN_PIPELINE]
|
|
236
|
+
};
|
|
237
|
+
var LEAD_GEN_STAGE_CATALOG = {
|
|
238
|
+
// Prospecting — company population
|
|
239
|
+
scraped: {
|
|
240
|
+
key: "scraped",
|
|
241
|
+
label: "Scraped",
|
|
242
|
+
description: "Company was scraped from a source directory (Apify actor run).",
|
|
243
|
+
order: 1,
|
|
244
|
+
entity: "company"
|
|
245
|
+
},
|
|
246
|
+
populated: {
|
|
247
|
+
key: "populated",
|
|
248
|
+
label: "Populated",
|
|
249
|
+
description: "Company record populated with structured data from scrape results.",
|
|
250
|
+
order: 2,
|
|
251
|
+
entity: "company"
|
|
252
|
+
},
|
|
253
|
+
extracted: {
|
|
254
|
+
key: "extracted",
|
|
255
|
+
label: "Extracted",
|
|
256
|
+
description: "Website content extracted and parsed for company intelligence.",
|
|
257
|
+
order: 3,
|
|
258
|
+
entity: "company"
|
|
259
|
+
},
|
|
260
|
+
enriched: {
|
|
261
|
+
key: "enriched",
|
|
262
|
+
label: "Enriched",
|
|
263
|
+
description: "Company or contact enriched with third-party data (e.g. Tomba, Anymailfinder).",
|
|
264
|
+
order: 4,
|
|
265
|
+
entity: "company"
|
|
266
|
+
},
|
|
267
|
+
// Prospecting — contact discovery
|
|
268
|
+
discovered: {
|
|
269
|
+
key: "discovered",
|
|
270
|
+
label: "Discovered",
|
|
271
|
+
description: "Contact email address discovered via an email-discovery workflow.",
|
|
272
|
+
order: 5,
|
|
273
|
+
entity: "contact"
|
|
274
|
+
},
|
|
275
|
+
verified: {
|
|
276
|
+
key: "verified",
|
|
277
|
+
label: "Verified",
|
|
278
|
+
description: "Contact email address verified as deliverable (email verification workflow).",
|
|
279
|
+
order: 6,
|
|
280
|
+
entity: "contact"
|
|
281
|
+
},
|
|
282
|
+
// Qualification
|
|
283
|
+
qualified: {
|
|
284
|
+
key: "qualified",
|
|
285
|
+
label: "Qualified",
|
|
286
|
+
description: "Company passed the ICP qualification rubric (company-qualification workflow).",
|
|
287
|
+
order: 7,
|
|
288
|
+
entity: "company"
|
|
289
|
+
},
|
|
290
|
+
// Outreach
|
|
291
|
+
personalized: {
|
|
292
|
+
key: "personalized",
|
|
293
|
+
label: "Personalized",
|
|
294
|
+
description: "Outreach message personalized for the contact (Instantly personalization workflow).",
|
|
295
|
+
order: 8,
|
|
296
|
+
entity: "contact"
|
|
297
|
+
},
|
|
298
|
+
uploaded: {
|
|
299
|
+
key: "uploaded",
|
|
300
|
+
label: "Uploaded",
|
|
301
|
+
description: "Contact uploaded to an Instantly campaign for outreach.",
|
|
302
|
+
order: 9,
|
|
303
|
+
entity: "contact"
|
|
304
|
+
},
|
|
305
|
+
interested: {
|
|
306
|
+
key: "interested",
|
|
307
|
+
label: "Interested",
|
|
308
|
+
description: "Contact replied with a positive signal (Instantly reply-handler transition).",
|
|
309
|
+
order: 10,
|
|
310
|
+
entity: "contact"
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
export { CRM_DISCOVERY_BOOKING_CANCELLED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_NUDGING_STATE, CRM_DISCOVERY_REPLIED_STATE, CRM_PRIORITY_BUCKETS, ColorTokenSchema, DEFAULT_CRM_PRIORITY_RULE_CONFIG, DEFAULT_ORGANIZATION_MODEL_SALES, DescriptionSchema, DisplayMetadataSchema, IconNameSchema, LEAD_GEN_PIPELINE_DEFINITIONS, LEAD_GEN_STAGE_CATALOG, LabelSchema, ModelIdSchema, OrganizationModelSalesSchema, PathSchema, ReferenceIdsSchema, findPipeline };
|