@elevasis/ui 2.45.0 → 2.45.2
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/api/index.js +3 -3
- package/dist/app/index.d.ts +0 -1
- package/dist/app/index.js +3 -3
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.js +3 -3
- package/dist/charts/index.js +3 -3
- package/dist/{chunk-ROFDLSPG.js → chunk-FLQKWUSH.js} +1844 -1625
- package/dist/{chunk-XDEUR36B.js → chunk-HQPJ6TGV.js} +0 -2
- package/dist/{chunk-NVVAQNKE.js → chunk-L4RIHGPO.js} +1 -1
- package/dist/{chunk-UECAFQKT.js → chunk-SDUMVYGI.js} +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js +3 -3
- package/dist/components/navigation/index.js +3 -3
- package/dist/features/auth/index.js +4 -4
- package/dist/features/clients/index.js +3 -3
- package/dist/features/crm/index.js +3 -3
- package/dist/features/dashboard/index.d.ts +0 -1
- package/dist/features/dashboard/index.js +3 -3
- package/dist/features/delivery/index.js +3 -3
- package/dist/features/knowledge/index.js +3 -3
- package/dist/features/lead-gen/index.d.ts +0 -1
- package/dist/features/lead-gen/index.js +3 -3
- package/dist/features/monitoring/index.js +3 -3
- package/dist/features/monitoring/requests/index.js +4 -4
- package/dist/features/operations/index.d.ts +0 -1
- package/dist/features/operations/index.js +3 -3
- package/dist/features/settings/index.js +3 -3
- package/dist/hooks/access/index.d.ts +6 -0
- package/dist/hooks/access/index.js +3 -3
- package/dist/hooks/delivery/index.js +3 -3
- package/dist/hooks/index.d.ts +6 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +0 -1
- package/dist/hooks/published.d.ts +6 -1
- package/dist/hooks/published.js +3 -3
- package/dist/index.d.ts +6 -1
- package/dist/index.js +4 -4
- package/dist/knowledge/index.d.ts +0 -1
- package/dist/knowledge/index.js +10 -14
- package/dist/{knowledge-search-index-NBCTFIOH.js → knowledge-search-index-MHOBQTT3.js} +2 -2
- package/dist/layout/index.js +3 -3
- package/dist/organization/index.js +3 -3
- package/dist/provider/index.d.ts +0 -1
- package/dist/provider/index.js +3 -3
- package/dist/provider/published.d.ts +0 -1
- package/dist/provider/published.js +3 -3
- package/dist/test-utils/index.js +3 -3
- package/dist/types/index.d.ts +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +1 -1
- package/package.json +3 -3
|
@@ -4,14 +4,14 @@ import { useSupabase } from './chunk-MKH2KOAO.js';
|
|
|
4
4
|
import { StyledMarkdown, ChatHeader, ChatSidebar } from './chunk-GUKY77FJ.js';
|
|
5
5
|
import { CardHeader } from './chunk-S3XR4II4.js';
|
|
6
6
|
import { useInitialization, InitializationContext, InitializationProvider } from './chunk-6DO4PE3O.js';
|
|
7
|
-
import { HTTP_HEADERS, ApiClientProvider, useApiClient } from './chunk-
|
|
7
|
+
import { HTTP_HEADERS, ApiClientProvider, useApiClient } from './chunk-L4RIHGPO.js';
|
|
8
8
|
import { OrganizationContext, useOrganization } from './chunk-DD3CCMCZ.js';
|
|
9
9
|
import { sidebarItemGap, sidebarSubLinkPaddingY, sidebarSubLinkPaddingX, sidebarSubLinkIndent, sidebarHoverDelay, sidebarTransitionDuration, sidebarCollapsedWidth, sidebarWidth, topbarHeight, sidebarToggleIconSize, sidebarSectionPadding, sidebarItemPadding, sidebarItemHeight, sidebarIconSize, sidebarIconStroke, sidebarIconInnerSize, sidebarBottomSectionHeight, SubshellNavItem, sidebarGroupChevronSize, SubshellSidebarSection } from './chunk-GMXGDO3I.js';
|
|
10
10
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
11
11
|
import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
|
|
12
12
|
import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-7FPLLSHN.js';
|
|
13
13
|
import { useProfile, useUserProfile, ProfileProvider } from './chunk-W2SFTXMT.js';
|
|
14
|
-
import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems,
|
|
14
|
+
import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems, listResolvedOntologyRecords, getErrorInfo, getErrorTitle, formatErrorMessage, getSystem, compileOrganizationOntology, isAPIClientError, getResourceIcon, formatTimeAgo, getTimeRangeLabel, getTimeRangeDates, formatBucketTime, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, STALE_TIME_MONITORING, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT, formatDateTime, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, getAllBuildTemplates, getLeadGenStageCatalog, formatDate, formatRelativeTime, getResourcesForSystem, ontologyGraphNodeId, parseOntologyId, getAllProspectingStages, getAllPipelines, getAllProjectStatuses, debounce, OAUTH_FLOW_TIMEOUT, devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, getSystemAncestors, resolveSystemConfig, defaultPathFor } from './chunk-HQPJ6TGV.js';
|
|
15
15
|
import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
|
|
16
16
|
import { useElevasisServices, ElevasisServiceContext, ElevasisServiceProvider } from './chunk-2FTX4WO2.js';
|
|
17
17
|
import { brandSupabaseOrgId, brandWorkOsOrgId } from './chunk-MQZE7SUI.js';
|
|
@@ -202,14 +202,20 @@ var AccessKeys = {
|
|
|
202
202
|
organizationManage: { systemPath: "permission.org", action: "manage" },
|
|
203
203
|
membersManage: { systemPath: "permission.members", action: "manage" },
|
|
204
204
|
rolesManage: { systemPath: "permission.roles", action: "manage" },
|
|
205
|
+
/** @reserved Reserved for first-class secret administration routes and command surfaces. */
|
|
205
206
|
secretsManage: { systemPath: "permission.secrets", action: "manage" },
|
|
206
207
|
operationsRead: { systemPath: "permission.operations", action: DEFAULT_ACCESS_ACTION },
|
|
208
|
+
/** @reserved Reserved for write-level operations administration beyond read-only monitoring. */
|
|
207
209
|
operationsManage: { systemPath: "permission.operations", action: "manage" },
|
|
208
210
|
leadGenManage: { systemPath: "sales.lead-gen", action: "manage" },
|
|
211
|
+
/** @reserved Reserved for acquisition administration once that permission namespace is wired. */
|
|
209
212
|
acquisitionManage: { systemPath: "permission.acquisition", action: "manage" },
|
|
213
|
+
/** @reserved Reserved for project administration permission catalog compatibility. */
|
|
210
214
|
projectsManage: { systemPath: "permission.projects", action: "manage" },
|
|
215
|
+
/** @reserved Reserved for client administration permission catalog compatibility. */
|
|
211
216
|
clientsManage: { systemPath: "permission.clients", action: "manage" },
|
|
212
217
|
operationsOverview: { systemPath: "diagnostic.operations.overview", action: DEFAULT_ACCESS_ACTION },
|
|
218
|
+
/** @reserved Reserved for a diagnostics surface that lists recent operations executions. */
|
|
213
219
|
operationsRecentExecutions: { systemPath: "diagnostic.operations.recent-executions", action: DEFAULT_ACCESS_ACTION },
|
|
214
220
|
monitoringExecutionLogs: { systemPath: "diagnostic.monitoring.execution-logs", action: DEFAULT_ACCESS_ACTION },
|
|
215
221
|
monitoringNotifications: { systemPath: "diagnostic.monitoring.notifications", action: DEFAULT_ACCESS_ACTION }
|
|
@@ -1256,7 +1262,8 @@ var ONTOLOGY_REFERENCE_KEY_KINDS = {
|
|
|
1256
1262
|
surfaceType: "surface",
|
|
1257
1263
|
stepCatalog: "catalog"
|
|
1258
1264
|
};
|
|
1259
|
-
|
|
1265
|
+
var omCompilationContextCache = /* @__PURE__ */ new WeakMap();
|
|
1266
|
+
function buildOmCrossRefIndexFromOntology(model, ontologyCompilation) {
|
|
1260
1267
|
const systemsById = /* @__PURE__ */ new Map();
|
|
1261
1268
|
for (const { path, system } of listAllSystems(model)) {
|
|
1262
1269
|
systemsById.set(path, system);
|
|
@@ -1270,7 +1277,6 @@ function buildOmCrossRefIndex(model) {
|
|
|
1270
1277
|
const actionIds = new Set(Object.keys(model.actions ?? {}));
|
|
1271
1278
|
const customerSegmentIds = new Set(Object.keys(model.customers ?? {}));
|
|
1272
1279
|
const offeringIds = new Set(Object.keys(model.offerings ?? {}));
|
|
1273
|
-
const ontologyCompilation = compileOrganizationOntology(model);
|
|
1274
1280
|
const ontologyIndexByKind = {
|
|
1275
1281
|
object: ontologyCompilation.ontology.objectTypes,
|
|
1276
1282
|
link: ontologyCompilation.ontology.linkTypes,
|
|
@@ -1309,6 +1315,15 @@ function buildOmCrossRefIndex(model) {
|
|
|
1309
1315
|
stageIds
|
|
1310
1316
|
};
|
|
1311
1317
|
}
|
|
1318
|
+
function buildOmCompilationContext(model) {
|
|
1319
|
+
const cached = omCompilationContextCache.get(model);
|
|
1320
|
+
if (cached !== void 0) return cached;
|
|
1321
|
+
const ontologyCompilation = compileOrganizationOntology(model);
|
|
1322
|
+
const crossRefIndex = buildOmCrossRefIndexFromOntology(model, ontologyCompilation);
|
|
1323
|
+
const context = { crossRefIndex, ontologyCompilation };
|
|
1324
|
+
omCompilationContextCache.set(model, context);
|
|
1325
|
+
return context;
|
|
1326
|
+
}
|
|
1312
1327
|
function knowledgeTargetExists(index, kind, id) {
|
|
1313
1328
|
if (kind === "system") return index.systemsById.has(id);
|
|
1314
1329
|
if (kind === "client") return index.clientIds.has(id);
|
|
@@ -1645,9 +1660,8 @@ function refineOrganizationModel(model, ctx) {
|
|
|
1645
1660
|
}
|
|
1646
1661
|
});
|
|
1647
1662
|
});
|
|
1648
|
-
const idx =
|
|
1663
|
+
const { crossRefIndex: idx, ontologyCompilation } = buildOmCompilationContext(model);
|
|
1649
1664
|
const { ontologyIndexByKind, ontologyIds } = idx;
|
|
1650
|
-
const ontologyCompilation = compileOrganizationOntology(model);
|
|
1651
1665
|
function topologyTargetExists(ref) {
|
|
1652
1666
|
if (ref.kind === "system") return systemsById.has(ref.id);
|
|
1653
1667
|
if (ref.kind === "resource") return resourcesById.has(ref.id);
|
|
@@ -4838,7 +4852,7 @@ var ConfirmationModal = ({
|
|
|
4838
4852
|
/* @__PURE__ */ jsx(Text, { size: "sm", c: "var(--color-text-dimmed)", style: { textAlign: centerText ? "center" : "left" }, children: text }),
|
|
4839
4853
|
/* @__PURE__ */ jsx(Space, { h: 16 })
|
|
4840
4854
|
] }),
|
|
4841
|
-
/* @__PURE__ */ jsx(Button, { color: buttonColor
|
|
4855
|
+
/* @__PURE__ */ jsx(Button, { color: buttonColor, fullWidth: true, onClick: confirmationHandler, loading, children: buttonText || "Confirm" })
|
|
4842
4856
|
] });
|
|
4843
4857
|
};
|
|
4844
4858
|
var ConfirmationInputModal = ({
|
|
@@ -4882,7 +4896,7 @@ var ConfirmationInputModal = ({
|
|
|
4882
4896
|
/* @__PURE__ */ jsx(
|
|
4883
4897
|
Button,
|
|
4884
4898
|
{
|
|
4885
|
-
color: buttonColor
|
|
4899
|
+
color: buttonColor,
|
|
4886
4900
|
fullWidth: true,
|
|
4887
4901
|
onClick: confirmationHandler,
|
|
4888
4902
|
loading,
|
|
@@ -6374,7 +6388,7 @@ function GlowDot({ color, size = "md" }) {
|
|
|
6374
6388
|
}
|
|
6375
6389
|
var STATUS_COLORS2 = {
|
|
6376
6390
|
// Project
|
|
6377
|
-
active:
|
|
6391
|
+
active: void 0,
|
|
6378
6392
|
on_track: "green",
|
|
6379
6393
|
at_risk: "yellow",
|
|
6380
6394
|
blocked: "red",
|
|
@@ -6382,7 +6396,7 @@ var STATUS_COLORS2 = {
|
|
|
6382
6396
|
paused: "gray",
|
|
6383
6397
|
// Milestone
|
|
6384
6398
|
upcoming: "gray",
|
|
6385
|
-
in_progress:
|
|
6399
|
+
in_progress: void 0,
|
|
6386
6400
|
overdue: "red",
|
|
6387
6401
|
// Task
|
|
6388
6402
|
pending: "gray",
|
|
@@ -6393,7 +6407,7 @@ var STATUS_COLORS2 = {
|
|
|
6393
6407
|
revision_requested: "orange",
|
|
6394
6408
|
cancelled: "gray",
|
|
6395
6409
|
// Note
|
|
6396
|
-
call_note:
|
|
6410
|
+
call_note: void 0,
|
|
6397
6411
|
status_update: "green",
|
|
6398
6412
|
issue: "yellow",
|
|
6399
6413
|
blocker: "red",
|
|
@@ -6401,7 +6415,8 @@ var STATUS_COLORS2 = {
|
|
|
6401
6415
|
};
|
|
6402
6416
|
function StatusBadge({ status, ...props }) {
|
|
6403
6417
|
const label = status.split("_").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
6404
|
-
|
|
6418
|
+
const color = Object.prototype.hasOwnProperty.call(STATUS_COLORS2, status) ? STATUS_COLORS2[status] : "gray";
|
|
6419
|
+
return /* @__PURE__ */ jsx(Badge, { variant: "light", color, size: "sm", ...props, children: label });
|
|
6405
6420
|
}
|
|
6406
6421
|
var ICON_MAP = {
|
|
6407
6422
|
deal_created: IconPlus,
|
|
@@ -7429,25 +7444,15 @@ function ExecutionBreakdownTable({ data, isLoading, error }) {
|
|
|
7429
7444
|
/* @__PURE__ */ jsx(Table.Th, { ta: "right", children: "Percentage" }),
|
|
7430
7445
|
/* @__PURE__ */ jsx(Table.Th, { ta: "right", children: "Avg Duration" })
|
|
7431
7446
|
] }) }),
|
|
7432
|
-
/* @__PURE__ */ jsx(Table.Tbody, { children: statusRows.map((row) => /* @__PURE__ */ jsxs(
|
|
7433
|
-
Table.
|
|
7434
|
-
{
|
|
7435
|
-
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: row.count.toLocaleString() }) }),
|
|
7442
|
-
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsxs(Text, { size: "sm", children: [
|
|
7443
|
-
row.percentage.toFixed(1),
|
|
7444
|
-
"%"
|
|
7445
|
-
] }) }),
|
|
7446
|
-
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: row.avgDuration > 0 ? `${(row.avgDuration / 1e3).toFixed(1)}s` : "-" }) })
|
|
7447
|
-
]
|
|
7448
|
-
},
|
|
7449
|
-
row.status
|
|
7450
|
-
)) })
|
|
7447
|
+
/* @__PURE__ */ jsx(Table.Tbody, { children: statusRows.map((row) => /* @__PURE__ */ jsxs(Table.Tr, { children: [
|
|
7448
|
+
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { color: row.color, variant: "light", children: row.status }) }),
|
|
7449
|
+
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: row.count.toLocaleString() }) }),
|
|
7450
|
+
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsxs(Text, { size: "sm", children: [
|
|
7451
|
+
row.percentage.toFixed(1),
|
|
7452
|
+
"%"
|
|
7453
|
+
] }) }),
|
|
7454
|
+
/* @__PURE__ */ jsx(Table.Td, { ta: "right", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: row.avgDuration > 0 ? `${(row.avgDuration / 1e3).toFixed(1)}s` : "-" }) })
|
|
7455
|
+
] }, row.status)) })
|
|
7451
7456
|
] })
|
|
7452
7457
|
] });
|
|
7453
7458
|
}
|
|
@@ -18323,8 +18328,7 @@ function CredentialSettings({ oauthSection }) {
|
|
|
18323
18328
|
const [showCreateModal, setShowCreateModal] = useState(false);
|
|
18324
18329
|
const { data: credentials = [], isLoading } = useCredentials();
|
|
18325
18330
|
if (!organizationReady) return /* @__PURE__ */ jsx(AppShellLoader, {});
|
|
18326
|
-
const handleCredentialCreated = (
|
|
18327
|
-
console.log("Credential created:", result);
|
|
18331
|
+
const handleCredentialCreated = () => {
|
|
18328
18332
|
setShowCreateModal(false);
|
|
18329
18333
|
};
|
|
18330
18334
|
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
@@ -22533,7 +22537,7 @@ var mdxKnowledgeNodes = [
|
|
|
22533
22537
|
"title": "New Vertical Launch Playbook",
|
|
22534
22538
|
"summary": "Zero-to-first-campaign workflow for launching a new acquisition vertical: batch definition, tracker setup, lead generation stages, campaign launch, and monitoring.",
|
|
22535
22539
|
"icon": "playbook",
|
|
22536
|
-
"body": '## Overview\n\nUse this playbook when launching a new acquisition vertical from zero to first campaign. A vertical launch turns an audience hypothesis such as independent dental practices, auto repair shops, or bookkeeping firms into a tracked lead generation batch, qualified contacts, a draft Instantly campaign, and an active monitoring loop.\n\nThe workflow has five phases:\n\n1. Define the batch and qualification rules.\n2. Create the batch tracker.\n3. Run the lead generation pipeline.\n4. Launch the outreach campaign.\n5. Monitor replies and campaign quality.\n\n## Define the Batch\n\nChoose a batch ID using the acquisition naming convention: `{vertical}-{number}`, for example `dental-1`, `auto-1`, or `home-1`.\n\nRecord the batch configuration in the tracker before running pipeline stages. At minimum, capture:\n\n- Target description, such as "independent dental practices in Orange County, California".\n- Search queries for the initial source pull.\n- Region: county, state, country, or other geography accepted by the scraper workflow.\n- Minimum review count and minimum rating, when Google Maps quality thresholds matter.\n- Custom disqualification rules, such as excluding chains, franchises, pediatric-only practices, or irrelevant subcategories.\n- Website crawl keywords, such as `about`, `team`, `staff`, `contact`, `services`, or vertical-specific service pages.\n\nUse `packages/elevasis-operations/src/sales/prospecting/constants.ts` as the batch registry. Current launch work should keep the tracker as the human-readable source and pass qualification criteria through the workflow input, list qualification metadata, or the registered batch config for the stage being run.\n\n## Create the Batch Tracker\n\nCreate a tracker from the acquisition batch template:\n\n```text\napps/docs/content/docs/operations/client-acquisition/outreach/batches/_template.mdx\n```\n\nPlace the new tracker in the pending batch directory:\n\n```text\napps/docs/content/docs/operations/client-acquisition/outreach/batches/pending/{batch-id}.mdx\n```\n\nFill in the frontmatter with `status: in-progress`, then complete the batch configuration table before running pipeline work. The tracker should make it possible to reconstruct the vertical, region, search inputs, disqualification rules, and campaign state without reading execution logs.\n\n## Run Lead Generation\n\nRun the lead generation stages with the platform CLI from the monorepo root so `.env.development` and `.env.production` resolve correctly.\n\n### Stage 01: Google Maps Scrape\n\nUse the Google Maps scrape workflow to acquire initial companies:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-01a-google-maps-scrape-workflow --input \'{"searchQueries":["dentist","dental clinic"],"county":"Orange County","state":"California"}\' --async\n```\n\nAfter the execution starts, record the execution ID and source counts in the batch tracker.\n\n### Local Website Crawl\n\nRun the local website crawler against the batch:\n\n```bash\npnpm -C scripts/web-scraper run crawl -- {batch-id}\n```\n\nThe crawl should capture relevant sub-pages for LLM extraction. If vertical-specific keywords are not available in the active code path, use the default crawl coverage and note any manual crawl gaps in the tracker before extraction.\n\n### Stage 02: Website Extract\n\nExtract structured company profile data from crawl output:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-02-website-extract-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\n### Stage 03: Company Qualification\n\nQualify companies using the target description, review thresholds, rating thresholds, and custom rules captured in the tracker. If the workflow does not resolve criteria automatically for the batch, pass the criteria explicitly in the input or attach them through the list qualification surface before running the stage.\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-03-company-qualification-workflow --input \'{"batchId":"{batch-id}","criteria":{"targetDescription":"Independent dental practices in Orange County, California","minimumReviewCount":5,"minimumRating":3,"customRules":"Disqualify franchises and chains. Disqualify orthodontics-only and pediatric-only practices."}}\' --async\n```\n\nFor list-oriented runs, use `listId` instead of `batchId`; list configuration takes priority over the batch registry unless an explicit `criteria` override is provided.\n\n### Stage 04: Email Discovery\n\nDiscover contacts for qualified companies:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-04-email-discovery-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\n### Stage 05: Email Verification\n\nVerify discovered emails before campaign upload:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-05-email-verification-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\nWhen verification completes, update the tracker with company counts, contact counts, usable email counts, and set the batch status to `ready` if campaign launch prerequisites are satisfied.\n\n## Launch the Campaign\n\nUse the acquisition outreach workflow to move a ready batch into Instantly:\n\n1. Check account inventory with `ist-account-inventory-workflow`.\n2. Personalize contacts with `ist-personalization-workflow`.\n3. Create a draft campaign with `ist-campaign-create-workflow` and `activate: false`.\n4. Create the tracking list with `ist-campaign-list-workflow`.\n5. Upload contacts with `ist-upload-contacts-workflow`, dry run first and then real.\n6. Activate with `ist-campaign-activate-workflow`.\n7. Update the tracker to `status: active` and fill in campaign metadata.\n\nKeep the first campaign small enough to evaluate copy and deliverability. Prefer 100-200 contacts per segment, 1-2 contacts per company, and conservative sending volume until benchmarks are visible.\n\n## Monitor and Optimize\n\nAfter launch, monitor both campaign metrics and inbound replies:\n\n- Use `/acquisition
|
|
22540
|
+
"body": '## Overview\n\nUse this playbook when launching a new acquisition vertical from zero to first campaign. A vertical launch turns an audience hypothesis such as independent dental practices, auto repair shops, or bookkeeping firms into a tracked lead generation batch, qualified contacts, a draft Instantly campaign, and an active monitoring loop.\n\nThe workflow has five phases:\n\n1. Define the batch and qualification rules.\n2. Create the batch tracker.\n3. Run the lead generation pipeline.\n4. Launch the outreach campaign.\n5. Monitor replies and campaign quality.\n\n## Define the Batch\n\nChoose a batch ID using the acquisition naming convention: `{vertical}-{number}`, for example `dental-1`, `auto-1`, or `home-1`.\n\nRecord the batch configuration in the tracker before running pipeline stages. At minimum, capture:\n\n- Target description, such as "independent dental practices in Orange County, California".\n- Search queries for the initial source pull.\n- Region: county, state, country, or other geography accepted by the scraper workflow.\n- Minimum review count and minimum rating, when Google Maps quality thresholds matter.\n- Custom disqualification rules, such as excluding chains, franchises, pediatric-only practices, or irrelevant subcategories.\n- Website crawl keywords, such as `about`, `team`, `staff`, `contact`, `services`, or vertical-specific service pages.\n\nUse `packages/elevasis-operations/src/sales/prospecting/constants.ts` as the batch registry. Current launch work should keep the tracker as the human-readable source and pass qualification criteria through the workflow input, list qualification metadata, or the registered batch config for the stage being run.\n\n## Create the Batch Tracker\n\nCreate a tracker from the acquisition batch template:\n\n```text\napps/docs/content/docs/operations/client-acquisition/outreach/batches/_template.mdx\n```\n\nPlace the new tracker in the pending batch directory:\n\n```text\napps/docs/content/docs/operations/client-acquisition/outreach/batches/pending/{batch-id}.mdx\n```\n\nFill in the frontmatter with `status: in-progress`, then complete the batch configuration table before running pipeline work. The tracker should make it possible to reconstruct the vertical, region, search inputs, disqualification rules, and campaign state without reading execution logs.\n\n## Run Lead Generation\n\nRun the lead generation stages with the platform CLI from the monorepo root so `.env.development` and `.env.production` resolve correctly.\n\n### Stage 01: Google Maps Scrape\n\nUse the Google Maps scrape workflow to acquire initial companies:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-01a-google-maps-scrape-workflow --input \'{"searchQueries":["dentist","dental clinic"],"county":"Orange County","state":"California"}\' --async\n```\n\nAfter the execution starts, record the execution ID and source counts in the batch tracker.\n\n### Local Website Crawl\n\nRun the local website crawler against the batch:\n\n```bash\npnpm -C scripts/web-scraper run crawl -- {batch-id}\n```\n\nThe crawl should capture relevant sub-pages for LLM extraction. If vertical-specific keywords are not available in the active code path, use the default crawl coverage and note any manual crawl gaps in the tracker before extraction.\n\n### Stage 02: Website Extract\n\nExtract structured company profile data from crawl output:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-02-website-extract-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\n### Stage 03: Company Qualification\n\nQualify companies using the target description, review thresholds, rating thresholds, and custom rules captured in the tracker. If the workflow does not resolve criteria automatically for the batch, pass the criteria explicitly in the input or attach them through the list qualification surface before running the stage.\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-03-company-qualification-workflow --input \'{"batchId":"{batch-id}","criteria":{"targetDescription":"Independent dental practices in Orange County, California","minimumReviewCount":5,"minimumRating":3,"customRules":"Disqualify franchises and chains. Disqualify orthodontics-only and pediatric-only practices."}}\' --async\n```\n\nFor list-oriented runs, use `listId` instead of `batchId`; list configuration takes priority over the batch registry unless an explicit `criteria` override is provided.\n\n### Stage 04: Email Discovery\n\nDiscover contacts for qualified companies:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-04-email-discovery-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\n### Stage 05: Email Verification\n\nVerify discovered emails before campaign upload:\n\n```bash\npnpm exec elevasis exec Elevasis/lgn-05-email-verification-workflow --input \'{"batchId":"{batch-id}"}\' --async\n```\n\nWhen verification completes, update the tracker with company counts, contact counts, usable email counts, and set the batch status to `ready` if campaign launch prerequisites are satisfied.\n\n## Launch the Campaign\n\nUse the acquisition outreach workflow to move a ready batch into Instantly:\n\n1. Check account inventory with `ist-account-inventory-workflow`.\n2. Personalize contacts with `ist-personalization-workflow`.\n3. Create a draft campaign with `ist-campaign-create-workflow` and `activate: false`.\n4. Create the tracking list with `ist-campaign-list-workflow`.\n5. Upload contacts with `ist-upload-contacts-workflow`, dry run first and then real.\n6. Activate with `ist-campaign-activate-workflow`.\n7. Update the tracker to `status: active` and fill in campaign metadata.\n\nKeep the first campaign small enough to evaluate copy and deliverability. Prefer 100-200 contacts per segment, 1-2 contacts per company, and conservative sending volume until benchmarks are visible.\n\n## Monitor and Optimize\n\nAfter launch, monitor both campaign metrics and inbound replies:\n\n- Use `/om acquisition outreach` for campaign review and analytics.\n- Use `/om acquisition inbound status` for reply handling and active deal state.\n- Watch open rate, reply rate, positive reply rate, and bounce rate.\n- Pause or repair the campaign if bounce rate rises above the accepted threshold.\n- Rework subject lines, personalization, or offer framing when reply rate is below target.\n\nEvery optimization pass should write back to the tracker: what changed, why it changed, and what result would justify scaling the vertical.\n\n## Launch Checklist\n\n- Batch ID selected with `{vertical}-{number}` naming.\n- Batch tracker created from the template.\n- Target description, geography, search queries, thresholds, and custom rules recorded.\n- Stage 01 scrape execution complete.\n- Website crawl complete or crawl gaps documented.\n- Stage 02 extraction complete.\n- Stage 03 qualification complete with explicit criteria source.\n- Stage 04 email discovery complete.\n- Stage 05 email verification complete.\n- Tracker status set to `ready`.\n- Draft Instantly campaign created.\n- Tracking list created and contacts uploaded.\n- Campaign activated.\n- Tracker status set to `active` with campaign metadata.',
|
|
22537
22541
|
"links": [
|
|
22538
22542
|
{
|
|
22539
22543
|
"target": {
|
|
@@ -23840,1290 +23844,272 @@ var platformNavigation = {
|
|
|
23840
23844
|
}
|
|
23841
23845
|
};
|
|
23842
23846
|
|
|
23843
|
-
// ../elevasis-core/src/organization-model/
|
|
23844
|
-
|
|
23845
|
-
|
|
23846
|
-
|
|
23847
|
-
|
|
23848
|
-
|
|
23849
|
-
|
|
23850
|
-
|
|
23851
|
-
|
|
23852
|
-
|
|
23853
|
-
|
|
23854
|
-
|
|
23855
|
-
return "role.operator";
|
|
23856
|
-
case "platform.projects":
|
|
23857
|
-
default:
|
|
23858
|
-
return "role.operator";
|
|
23859
|
-
}
|
|
23860
|
-
}
|
|
23861
|
-
|
|
23862
|
-
// ../elevasis-core/src/organization-model/resources.ts
|
|
23863
|
-
var platformWorkflowResourceSeeds = [
|
|
23864
|
-
["resend-diagnostic", "platform"],
|
|
23865
|
-
["instantly-diagnostic", "sales.lead-gen"],
|
|
23866
|
-
["stripe-diagnostic", "platform"],
|
|
23867
|
-
["dropbox-diagnostic", "platform"],
|
|
23868
|
-
["signature-api-diagnostic", "platform"],
|
|
23869
|
-
["apify-diagnostic", "sales.lead-gen"],
|
|
23870
|
-
["full-diagnostic", "platform"],
|
|
23871
|
-
["diagnostic-test-data", "platform"],
|
|
23872
|
-
["cutover-org-model-smoke-workflow", "platform"],
|
|
23873
|
-
["crm-action-system-smoke-workflow", "sales.crm"],
|
|
23874
|
-
["anymailfinder-diagnostic-workflow", "sales.lead-gen"],
|
|
23875
|
-
["lgn-dtc-apollo-pipeline-diagnostic", "sales.lead-gen"],
|
|
23876
|
-
["lgn-email-discovery-boundary-diagnostic-workflow", "sales.lead-gen"],
|
|
23877
|
-
["lgn-data-integrity-diagnostic", "sales.lead-gen"],
|
|
23878
|
-
["lgn-email-discovery-diagnostic-workflow", "sales.lead-gen"],
|
|
23879
|
-
["instantly-diagnostic-workflow", "sales.lead-gen"],
|
|
23880
|
-
["lgn-diagnostic-orchestrator", "sales.lead-gen"],
|
|
23881
|
-
["lgn-lead-filter-diagnostic", "sales.lead-gen"],
|
|
23882
|
-
["lgn-pipeline-diagnostic", "sales.lead-gen"],
|
|
23883
|
-
["lgn-qualification-diagnostic", "sales.lead-gen"],
|
|
23884
|
-
["lgn-scrape-diagnostic", "sales.lead-gen"],
|
|
23885
|
-
["lgn-tomba-diagnostic-workflow", "sales.lead-gen"],
|
|
23886
|
-
["lgn-verification-diagnostic", "sales.lead-gen"],
|
|
23887
|
-
["lgn-website-extract-diagnostic-workflow", "sales.lead-gen"],
|
|
23888
|
-
["lgn-amf-discovery-diagnostic-workflow", "sales.lead-gen"],
|
|
23889
|
-
["lgn-tomba-discovery-diagnostic-workflow", "sales.lead-gen"],
|
|
23890
|
-
["resend-unsubscribe-diagnostic-workflow", "platform"],
|
|
23891
|
-
["instantly-thread-diagnostic-workflow", "sales.lead-gen"],
|
|
23892
|
-
["instantly-thread-link-backfill-workflow", "sales.lead-gen"],
|
|
23893
|
-
["instantly-reply-cleanup-workflow", "sales.lead-gen"],
|
|
23894
|
-
["inb-integration-test", "sales.crm"],
|
|
23895
|
-
["organic-booking-diagnostic-workflow", "sales.crm"],
|
|
23896
|
-
["organic-booking-cleanup-workflow", "sales.crm"],
|
|
23897
|
-
["crm-timeout-checker-diagnostic-workflow", "sales.crm"],
|
|
23898
|
-
["ist-toolkit-diagnostic-workflow", "sales.lead-gen"],
|
|
23899
|
-
["ist-toolkit-diagnostic-orchestrator", "sales.lead-gen"],
|
|
23900
|
-
["ist-cross-batch-prompting-diagnostic-workflow", "sales.lead-gen"],
|
|
23901
|
-
["llm-diagnostic", "platform"],
|
|
23902
|
-
["execution-diagnostic", "platform"],
|
|
23903
|
-
["scheduler-diagnostic", "platform"],
|
|
23904
|
-
["storage-diagnostic", "platform"],
|
|
23905
|
-
["lead-diagnostic", "platform"],
|
|
23906
|
-
["email-diagnostic", "platform"],
|
|
23907
|
-
["approval-diagnostic", "platform"],
|
|
23908
|
-
["pdf-diagnostic", "platform"],
|
|
23909
|
-
["notification-diagnostic", "platform"],
|
|
23910
|
-
["notification-sequence-diagnostic", "platform"],
|
|
23911
|
-
["echo", "platform"],
|
|
23912
|
-
["migration-smoke", "platform"],
|
|
23913
|
-
["inb-01-instantly-reply-handler-workflow", "sales.crm"],
|
|
23914
|
-
["inb-01-booking-nudge-workflow", "sales.crm"],
|
|
23915
|
-
["inb-01-send-booking-reply-workflow", "sales.crm"],
|
|
23916
|
-
["inb-01-send-subsequent-reply-workflow", "sales.crm"],
|
|
23917
|
-
["inb-02-discovery-reminder-workflow", "sales.crm"],
|
|
23918
|
-
["cal-booking-revert-workflow", "sales.crm"],
|
|
23919
|
-
["inb-02-booking-handler-workflow", "sales.crm"],
|
|
23920
|
-
["inb-02b-organic-booking-handler-workflow", "sales.crm"],
|
|
23921
|
-
["inb-03-discovery-form-handler-workflow", "sales.crm"],
|
|
23922
|
-
["discovery-form-revert-workflow", "sales.crm"],
|
|
23923
|
-
["inb-pipeline-timeout-nurture-workflow", "sales.crm"],
|
|
23924
|
-
["inb-pipeline-timeout-close-lost-workflow", "sales.crm"],
|
|
23925
|
-
["inb-pipeline-timeout-no-show-workflow", "sales.crm"],
|
|
23926
|
-
["inb-pipeline-timeout-followup-workflow", "sales.crm"],
|
|
23927
|
-
["inb-pipeline-timeout-checker-workflow", "sales.crm"],
|
|
23928
|
-
["inb-pipeline-unsubscribe-cleanup-workflow", "sales.crm"],
|
|
23929
|
-
["inb-full-cleanup-workflow", "sales.crm"],
|
|
23930
|
-
["lgn-01a-google-maps-scrape-workflow", "sales.lead-gen", "lead-gen.company.source"],
|
|
23931
|
-
["lgn-01b-apify-acquire-workflow", "sales.lead-gen", "lead-gen.company.source"],
|
|
23932
|
-
["lgn-01c-apollo-import-workflow", "sales.lead-gen", "lead-gen.company.apollo-import"],
|
|
23933
|
-
["lgn-02a-apify-website-crawl-workflow", "sales.lead-gen", "lead-gen.company.apify-crawl"],
|
|
23934
|
-
["lgn-02-website-extract-workflow", "sales.lead-gen", "lead-gen.company.website-extract"],
|
|
23935
|
-
["lgn-website-extract-compare-workflow", "sales.lead-gen"],
|
|
23936
|
-
["lgn-03-company-qualification-workflow", "sales.lead-gen", "lead-gen.company.qualify"],
|
|
23937
|
-
["lgn-03b-dtc-subscription-score-workflow", "sales.lead-gen", "lead-gen.company.dtc-subscription-qualify"],
|
|
23938
|
-
["lgn-04-email-discovery-workflow", "sales.lead-gen", "lead-gen.contact.discover"],
|
|
23939
|
-
["lgn-04b-apollo-decision-maker-enrich-workflow", "sales.lead-gen", "lead-gen.contact.apollo-decision-maker-enrich"],
|
|
23940
|
-
["lgn-05-email-verification-workflow", "sales.lead-gen", "lead-gen.contact.verify-email"],
|
|
23941
|
-
["lgn-06-export-list-workflow", "sales.lead-gen", "lead-gen.export.list"],
|
|
23942
|
-
["lgn-import-workflow", "sales.lead-gen", "lead-gen.company.source"],
|
|
23943
|
-
["lgn-company-cleanup-workflow", "sales.lead-gen", "lead-gen.company.cleanup"],
|
|
23944
|
-
["lgn-assign-to-list-workflow", "sales.lead-gen"],
|
|
23945
|
-
["ist-upload-contacts-workflow", "sales.lead-gen", "lead-gen.review.outreach-ready"],
|
|
23946
|
-
["ist-campaign-create-workflow", "sales.lead-gen", "campaign.create"],
|
|
23947
|
-
["ist-analytics-workflow", "sales.lead-gen", "campaign.analyze"],
|
|
23948
|
-
["ist-ab-suggest-workflow", "sales.lead-gen", "campaign.optimize"],
|
|
23949
|
-
["ist-personalization-workflow", "sales.lead-gen", "lead-gen.contact.personalize"],
|
|
23950
|
-
["ist-campaign-review-workflow", "sales.lead-gen", "campaign.analyze"],
|
|
23951
|
-
["ist-cleanup-workflow", "sales.lead-gen", "campaign.delete"],
|
|
23952
|
-
["ist-campaign-list-workflow", "sales.lead-gen", "campaign.sync-list"],
|
|
23953
|
-
["ist-campaign-delete-workflow", "sales.lead-gen", "campaign.delete"],
|
|
23954
|
-
["ist-account-inventory-workflow", "sales.lead-gen", "campaign.analyze"],
|
|
23955
|
-
["ist-campaign-pause-workflow", "sales.lead-gen", "campaign.pause"],
|
|
23956
|
-
["ist-campaign-activate-workflow", "sales.lead-gen", "campaign.activate"],
|
|
23957
|
-
["ist-campaign-update-accounts-workflow", "sales.lead-gen", "campaign.update"],
|
|
23958
|
-
["ist-update-lead-variables-workflow", "sales.lead-gen", "campaign.update"],
|
|
23959
|
-
["mnt-reddit-monitor-workflow", "sales.lead-gen"],
|
|
23960
|
-
["mnt-reddit-scan-workflow", "sales.lead-gen"],
|
|
23961
|
-
["mnt-linkedin-monitor-workflow", "sales.lead-gen"],
|
|
23962
|
-
["website-form-intake-handler-workflow", "seo"],
|
|
23963
|
-
["grsi-change-request-workflow", "client-management"],
|
|
23964
|
-
["iss-submission-workflow", "client-management", "client-management.support-issue.review"],
|
|
23965
|
-
["youtube-research-workflow", "platform"],
|
|
23966
|
-
["send-email-workflow", "platform"],
|
|
23967
|
-
["platform-status", "platform"],
|
|
23968
|
-
["deal-browse", "sales.crm"],
|
|
23969
|
-
["crm-send-reply-workflow", "sales.crm", "send_reply"],
|
|
23970
|
-
["crm-reply-followup-workflow", "sales.crm", "reply_followup"],
|
|
23971
|
-
["crm-send-booking-link-workflow", "sales.crm", "send_link"],
|
|
23972
|
-
["crm-send-nudge-workflow", "sales.crm", "send_nudge"],
|
|
23973
|
-
["crm-rebook-workflow", "sales.crm", "rebook"],
|
|
23974
|
-
["move_to_proposal-workflow", "sales.crm", "move_to_proposal"],
|
|
23975
|
-
["move_to_closing-workflow", "sales.crm", "move_to_closing"],
|
|
23976
|
-
["move_to_closed_won-workflow", "sales.crm", "move_to_closed_won"],
|
|
23977
|
-
["move_to_closed_lost-workflow", "sales.crm", "move_to_closed_lost"],
|
|
23978
|
-
["move_to_nurturing-workflow", "sales.crm", "move_to_nurturing"],
|
|
23979
|
-
["mark_no_show-workflow", "sales.crm", "mark_no_show"]
|
|
23980
|
-
];
|
|
23981
|
-
var leadGenCompany = "sales.lead-gen:object/company";
|
|
23982
|
-
var leadGenContact = "sales.lead-gen:object/contact";
|
|
23983
|
-
var leadGenList = "sales.lead-gen:object/list";
|
|
23984
|
-
var leadGenCampaign = "sales.lead-gen:object/campaign";
|
|
23985
|
-
var leadGenCompanyStage = "sales.lead-gen:catalog/company-stage";
|
|
23986
|
-
var leadGenContactStage = "sales.lead-gen:catalog/contact-stage";
|
|
23987
|
-
var leadGenBuildTemplate = "sales.lead-gen:catalog/build-template";
|
|
23988
|
-
var leadGenLocalServicesTemplateStep = "sales.lead-gen:catalog/template-step.local-services";
|
|
23989
|
-
var leadGenDtcSubscriptionTemplateStep = "sales.lead-gen:catalog/template-step.dtc-subscription";
|
|
23990
|
-
var leadGenCampaignStatus = "sales.lead-gen:catalog/campaign-status";
|
|
23991
|
-
var crmDeal = "sales.crm:object/deal";
|
|
23992
|
-
var crmContact = "sales.crm:object/contact";
|
|
23993
|
-
var crmPipeline = "sales.crm:catalog/crm.pipeline";
|
|
23994
|
-
var clientSupportIssue = "client-management:object/support-issue";
|
|
23995
|
-
var clientSupportIssueSeverity = "client-management:catalog/support-issue-severity";
|
|
23996
|
-
var workflowOntologyBindingsByBuildActionKey = {
|
|
23997
|
-
"lead-gen.company.source": {
|
|
23998
|
-
actions: ["sales.lead-gen:action/company.source"],
|
|
23999
|
-
primaryAction: "sales.lead-gen:action/company.source",
|
|
24000
|
-
writes: [leadGenCompany],
|
|
24001
|
-
usesCatalogs: [leadGenBuildTemplate, leadGenLocalServicesTemplateStep]
|
|
24002
|
-
},
|
|
24003
|
-
"lead-gen.company.apollo-import": {
|
|
24004
|
-
actions: ["sales.lead-gen:action/company.source"],
|
|
24005
|
-
primaryAction: "sales.lead-gen:action/company.source",
|
|
24006
|
-
writes: [leadGenCompany, leadGenContact],
|
|
24007
|
-
usesCatalogs: [leadGenBuildTemplate, leadGenDtcSubscriptionTemplateStep]
|
|
24008
|
-
},
|
|
24009
|
-
"lead-gen.company.apify-crawl": {
|
|
24010
|
-
actions: ["sales.lead-gen:action/company.website-extract"],
|
|
24011
|
-
primaryAction: "sales.lead-gen:action/company.website-extract",
|
|
24012
|
-
reads: [leadGenCompany],
|
|
24013
|
-
writes: [leadGenCompany]
|
|
24014
|
-
},
|
|
24015
|
-
"lead-gen.company.website-extract": {
|
|
24016
|
-
actions: ["sales.lead-gen:action/company.website-extract"],
|
|
24017
|
-
primaryAction: "sales.lead-gen:action/company.website-extract",
|
|
24018
|
-
reads: [leadGenCompany],
|
|
24019
|
-
writes: [leadGenCompany, leadGenContact]
|
|
24020
|
-
},
|
|
24021
|
-
"lead-gen.company.qualify": {
|
|
24022
|
-
actions: ["sales.lead-gen:action/company.qualify"],
|
|
24023
|
-
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
24024
|
-
reads: [leadGenCompany],
|
|
24025
|
-
writes: [leadGenCompany],
|
|
24026
|
-
usesCatalogs: [leadGenCompanyStage],
|
|
24027
|
-
emits: ["sales.lead-gen:event/company.qualified"]
|
|
24028
|
-
},
|
|
24029
|
-
"lead-gen.company.dtc-subscription-qualify": {
|
|
24030
|
-
actions: ["sales.lead-gen:action/company.qualify"],
|
|
24031
|
-
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
24032
|
-
reads: [leadGenCompany],
|
|
24033
|
-
writes: [leadGenCompany],
|
|
24034
|
-
usesCatalogs: [leadGenCompanyStage, leadGenDtcSubscriptionTemplateStep],
|
|
24035
|
-
emits: ["sales.lead-gen:event/company.qualified"]
|
|
24036
|
-
},
|
|
24037
|
-
"lead-gen.contact.discover": {
|
|
24038
|
-
actions: ["sales.lead-gen:action/contact.discover"],
|
|
24039
|
-
primaryAction: "sales.lead-gen:action/contact.discover",
|
|
24040
|
-
reads: [leadGenCompany],
|
|
24041
|
-
writes: [leadGenContact],
|
|
24042
|
-
usesCatalogs: [leadGenContactStage]
|
|
24043
|
-
},
|
|
24044
|
-
"lead-gen.contact.apollo-decision-maker-enrich": {
|
|
24045
|
-
actions: ["sales.lead-gen:action/contact.discover"],
|
|
24046
|
-
primaryAction: "sales.lead-gen:action/contact.discover",
|
|
24047
|
-
reads: [leadGenCompany],
|
|
24048
|
-
writes: [leadGenContact],
|
|
24049
|
-
usesCatalogs: [leadGenContactStage]
|
|
24050
|
-
},
|
|
24051
|
-
"lead-gen.contact.verify-email": {
|
|
24052
|
-
actions: ["sales.lead-gen:action/contact.verify-email"],
|
|
24053
|
-
primaryAction: "sales.lead-gen:action/contact.verify-email",
|
|
24054
|
-
reads: [leadGenContact],
|
|
24055
|
-
writes: [leadGenContact],
|
|
24056
|
-
usesCatalogs: [leadGenContactStage],
|
|
24057
|
-
emits: ["sales.lead-gen:event/contact.verified"]
|
|
24058
|
-
},
|
|
24059
|
-
"lead-gen.contact.personalize": {
|
|
24060
|
-
actions: ["sales.lead-gen:action/contact.personalize"],
|
|
24061
|
-
primaryAction: "sales.lead-gen:action/contact.personalize",
|
|
24062
|
-
reads: [leadGenContact],
|
|
24063
|
-
writes: [leadGenContact],
|
|
24064
|
-
usesCatalogs: [leadGenContactStage]
|
|
24065
|
-
},
|
|
24066
|
-
"lead-gen.review.outreach-ready": {
|
|
24067
|
-
actions: ["sales.lead-gen:action/export.list"],
|
|
24068
|
-
primaryAction: "sales.lead-gen:action/export.list",
|
|
24069
|
-
reads: [leadGenContact, leadGenList],
|
|
24070
|
-
writes: [leadGenList],
|
|
24071
|
-
usesCatalogs: [leadGenBuildTemplate],
|
|
24072
|
-
emits: ["sales.lead-gen:event/list.exported"]
|
|
24073
|
-
},
|
|
24074
|
-
"lead-gen.export.list": {
|
|
24075
|
-
actions: ["sales.lead-gen:action/export.list"],
|
|
24076
|
-
primaryAction: "sales.lead-gen:action/export.list",
|
|
24077
|
-
reads: [leadGenCompany, leadGenContact, leadGenList],
|
|
24078
|
-
writes: [leadGenList],
|
|
24079
|
-
usesCatalogs: [
|
|
24080
|
-
leadGenBuildTemplate,
|
|
24081
|
-
leadGenLocalServicesTemplateStep,
|
|
24082
|
-
leadGenDtcSubscriptionTemplateStep,
|
|
24083
|
-
leadGenCompanyStage,
|
|
24084
|
-
leadGenContactStage,
|
|
24085
|
-
crmPipeline
|
|
24086
|
-
],
|
|
24087
|
-
emits: ["sales.lead-gen:event/list.exported"]
|
|
24088
|
-
},
|
|
24089
|
-
"campaign.create": {
|
|
24090
|
-
actions: ["sales.lead-gen:action/campaign.create"],
|
|
24091
|
-
primaryAction: "sales.lead-gen:action/campaign.create",
|
|
24092
|
-
writes: [leadGenCampaign],
|
|
24093
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24094
|
-
},
|
|
24095
|
-
"campaign.analyze": {
|
|
24096
|
-
actions: ["sales.lead-gen:action/campaign.analyze"],
|
|
24097
|
-
primaryAction: "sales.lead-gen:action/campaign.analyze",
|
|
24098
|
-
reads: [leadGenCampaign],
|
|
24099
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24100
|
-
},
|
|
24101
|
-
"campaign.optimize": {
|
|
24102
|
-
actions: ["sales.lead-gen:action/campaign.optimize"],
|
|
24103
|
-
primaryAction: "sales.lead-gen:action/campaign.optimize",
|
|
24104
|
-
reads: [leadGenCampaign],
|
|
24105
|
-
writes: [leadGenCampaign],
|
|
24106
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24107
|
-
},
|
|
24108
|
-
"campaign.update": {
|
|
24109
|
-
actions: ["sales.lead-gen:action/campaign.update"],
|
|
24110
|
-
primaryAction: "sales.lead-gen:action/campaign.update",
|
|
24111
|
-
reads: [leadGenCampaign],
|
|
24112
|
-
writes: [leadGenCampaign],
|
|
24113
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24114
|
-
},
|
|
24115
|
-
"campaign.activate": {
|
|
24116
|
-
actions: ["sales.lead-gen:action/campaign.activate"],
|
|
24117
|
-
primaryAction: "sales.lead-gen:action/campaign.activate",
|
|
24118
|
-
reads: [leadGenCampaign],
|
|
24119
|
-
writes: [leadGenCampaign],
|
|
24120
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24121
|
-
},
|
|
24122
|
-
"campaign.pause": {
|
|
24123
|
-
actions: ["sales.lead-gen:action/campaign.pause"],
|
|
24124
|
-
primaryAction: "sales.lead-gen:action/campaign.pause",
|
|
24125
|
-
reads: [leadGenCampaign],
|
|
24126
|
-
writes: [leadGenCampaign],
|
|
24127
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24128
|
-
},
|
|
24129
|
-
"campaign.delete": {
|
|
24130
|
-
actions: ["sales.lead-gen:action/campaign.delete"],
|
|
24131
|
-
primaryAction: "sales.lead-gen:action/campaign.delete",
|
|
24132
|
-
reads: [leadGenCampaign],
|
|
24133
|
-
writes: [leadGenCampaign],
|
|
24134
|
-
usesCatalogs: [leadGenCampaignStatus]
|
|
24135
|
-
},
|
|
24136
|
-
"campaign.sync-list": {
|
|
24137
|
-
actions: ["sales.lead-gen:action/campaign.sync-list"],
|
|
24138
|
-
primaryAction: "sales.lead-gen:action/campaign.sync-list",
|
|
24139
|
-
reads: [leadGenCampaign, leadGenContact],
|
|
24140
|
-
writes: [leadGenList],
|
|
24141
|
-
usesCatalogs: [leadGenBuildTemplate, leadGenCampaignStatus]
|
|
24142
|
-
},
|
|
24143
|
-
"client-management.support-issue.review": {
|
|
24144
|
-
actions: ["client-management:action/support-issue.review"],
|
|
24145
|
-
primaryAction: "client-management:action/support-issue.review",
|
|
24146
|
-
writes: [clientSupportIssue],
|
|
24147
|
-
usesCatalogs: [clientSupportIssueSeverity],
|
|
24148
|
-
emits: ["client-management:event/support-issue.submitted"]
|
|
24149
|
-
},
|
|
24150
|
-
"lead-gen.company.cleanup": {
|
|
24151
|
-
actions: ["sales.lead-gen:action/company.qualify"],
|
|
24152
|
-
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
24153
|
-
reads: [leadGenCompany],
|
|
24154
|
-
writes: [leadGenCompany],
|
|
24155
|
-
usesCatalogs: [leadGenCompanyStage]
|
|
24156
|
-
},
|
|
24157
|
-
send_reply: {
|
|
24158
|
-
actions: ["sales.crm:action/deal.send-reply"],
|
|
24159
|
-
primaryAction: "sales.crm:action/deal.send-reply",
|
|
24160
|
-
reads: [crmDeal, crmContact],
|
|
24161
|
-
writes: [crmDeal]
|
|
24162
|
-
},
|
|
24163
|
-
reply_followup: {
|
|
24164
|
-
actions: ["sales.crm:action/deal.send-reply"],
|
|
24165
|
-
primaryAction: "sales.crm:action/deal.send-reply",
|
|
24166
|
-
reads: [crmDeal, crmContact],
|
|
24167
|
-
writes: [crmDeal]
|
|
24168
|
-
},
|
|
24169
|
-
send_link: {
|
|
24170
|
-
actions: ["sales.crm:action/deal.send-booking-link"],
|
|
24171
|
-
primaryAction: "sales.crm:action/deal.send-booking-link",
|
|
24172
|
-
reads: [crmDeal, crmContact],
|
|
24173
|
-
writes: [crmDeal]
|
|
24174
|
-
},
|
|
24175
|
-
send_nudge: {
|
|
24176
|
-
actions: ["sales.crm:action/deal.send-nudge"],
|
|
24177
|
-
primaryAction: "sales.crm:action/deal.send-nudge",
|
|
24178
|
-
reads: [crmDeal, crmContact],
|
|
24179
|
-
writes: [crmDeal]
|
|
24180
|
-
},
|
|
24181
|
-
rebook: {
|
|
24182
|
-
actions: ["sales.crm:action/deal.rebook"],
|
|
24183
|
-
primaryAction: "sales.crm:action/deal.rebook",
|
|
24184
|
-
reads: [crmDeal, crmContact],
|
|
24185
|
-
writes: [crmDeal]
|
|
24186
|
-
},
|
|
24187
|
-
move_to_proposal: {
|
|
24188
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24189
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24190
|
-
reads: [crmDeal],
|
|
24191
|
-
writes: [crmDeal],
|
|
24192
|
-
usesCatalogs: [crmPipeline],
|
|
24193
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24194
|
-
},
|
|
24195
|
-
move_to_closing: {
|
|
24196
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24197
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24198
|
-
reads: [crmDeal],
|
|
24199
|
-
writes: [crmDeal],
|
|
24200
|
-
usesCatalogs: [crmPipeline],
|
|
24201
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24202
|
-
},
|
|
24203
|
-
move_to_closed_won: {
|
|
24204
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24205
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24206
|
-
reads: [crmDeal],
|
|
24207
|
-
writes: [crmDeal],
|
|
24208
|
-
usesCatalogs: [crmPipeline],
|
|
24209
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24210
|
-
},
|
|
24211
|
-
move_to_closed_lost: {
|
|
24212
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24213
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24214
|
-
reads: [crmDeal],
|
|
24215
|
-
writes: [crmDeal],
|
|
24216
|
-
usesCatalogs: [crmPipeline],
|
|
24217
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24218
|
-
},
|
|
24219
|
-
move_to_nurturing: {
|
|
24220
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24221
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24222
|
-
reads: [crmDeal],
|
|
24223
|
-
writes: [crmDeal],
|
|
24224
|
-
usesCatalogs: [crmPipeline],
|
|
24225
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24226
|
-
},
|
|
24227
|
-
mark_no_show: {
|
|
24228
|
-
actions: ["sales.crm:action/deal.update-stage"],
|
|
24229
|
-
primaryAction: "sales.crm:action/deal.update-stage",
|
|
24230
|
-
reads: [crmDeal],
|
|
24231
|
-
writes: [crmDeal],
|
|
24232
|
-
usesCatalogs: [crmPipeline],
|
|
24233
|
-
emits: ["sales.crm:event/deal.stage-changed"]
|
|
24234
|
-
}
|
|
24235
|
-
};
|
|
24236
|
-
var workflowContractsByResourceId = {
|
|
24237
|
-
"lgn-01c-apollo-import-workflow": {
|
|
24238
|
-
input: "@repo/elevasis-core/contracts/apollo-import#inputSchema"
|
|
23847
|
+
// ../elevasis-core/src/organization-model/actions.ts
|
|
23848
|
+
var LEAD_GEN_ACTION_ENTRY_INPUTS = [
|
|
23849
|
+
{
|
|
23850
|
+
id: "lead-gen.company.source",
|
|
23851
|
+
order: 10,
|
|
23852
|
+
label: "Source companies",
|
|
23853
|
+
description: "Import source companies from a list provider.",
|
|
23854
|
+
scope: { domain: "sales" },
|
|
23855
|
+
resourceId: "lgn-import-workflow",
|
|
23856
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/source" }],
|
|
23857
|
+
lifecycle: "active",
|
|
23858
|
+
knowledge: []
|
|
24239
23859
|
},
|
|
24240
|
-
|
|
24241
|
-
|
|
23860
|
+
{
|
|
23861
|
+
id: "lead-gen.company.apollo-import",
|
|
23862
|
+
order: 20,
|
|
23863
|
+
label: "Import from Apollo",
|
|
23864
|
+
description: "Pull companies and seed contact data from an Apollo search or list.",
|
|
23865
|
+
scope: { domain: "sales" },
|
|
23866
|
+
resourceId: "lgn-01c-apollo-import-workflow",
|
|
23867
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/apollo-import" }],
|
|
23868
|
+
lifecycle: "active",
|
|
23869
|
+
knowledge: []
|
|
24242
23870
|
},
|
|
24243
|
-
|
|
24244
|
-
|
|
23871
|
+
{
|
|
23872
|
+
id: "lead-gen.contact.discover",
|
|
23873
|
+
order: 30,
|
|
23874
|
+
label: "Discover contact emails",
|
|
23875
|
+
description: "Find email addresses for contacts at qualified companies.",
|
|
23876
|
+
scope: { domain: "sales" },
|
|
23877
|
+
resourceId: "lgn-04-email-discovery-workflow",
|
|
23878
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/discover" }],
|
|
23879
|
+
lifecycle: "active",
|
|
23880
|
+
knowledge: []
|
|
24245
23881
|
},
|
|
24246
|
-
|
|
24247
|
-
|
|
23882
|
+
{
|
|
23883
|
+
id: "lead-gen.contact.verify-email",
|
|
23884
|
+
order: 40,
|
|
23885
|
+
label: "Verify emails",
|
|
23886
|
+
description: "Check email deliverability before outreach.",
|
|
23887
|
+
scope: { domain: "sales" },
|
|
23888
|
+
resourceId: "lgn-05-email-verification-workflow",
|
|
23889
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/verify-email" }],
|
|
23890
|
+
lifecycle: "active",
|
|
23891
|
+
knowledge: []
|
|
24248
23892
|
},
|
|
24249
|
-
|
|
24250
|
-
|
|
23893
|
+
{
|
|
23894
|
+
id: "lead-gen.company.apify-crawl",
|
|
23895
|
+
order: 50,
|
|
23896
|
+
label: "Crawl websites",
|
|
23897
|
+
description: "Crawl company websites via Apify and store raw page markdown for downstream LLM analysis.",
|
|
23898
|
+
scope: { domain: "sales" },
|
|
23899
|
+
resourceId: "lgn-02a-apify-website-crawl-workflow",
|
|
23900
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/apify-crawl" }],
|
|
23901
|
+
lifecycle: "active",
|
|
23902
|
+
knowledge: []
|
|
24251
23903
|
},
|
|
24252
|
-
|
|
24253
|
-
|
|
24254
|
-
|
|
23904
|
+
{
|
|
23905
|
+
id: "lead-gen.company.website-extract",
|
|
23906
|
+
order: 60,
|
|
23907
|
+
label: "Extract website signals",
|
|
23908
|
+
description: "Scrape and analyze company websites for qualification signals.",
|
|
23909
|
+
scope: { domain: "sales" },
|
|
23910
|
+
resourceId: "lgn-02-website-extract-workflow",
|
|
23911
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/website-extract" }],
|
|
23912
|
+
lifecycle: "active",
|
|
23913
|
+
knowledge: []
|
|
24255
23914
|
},
|
|
24256
|
-
|
|
24257
|
-
|
|
23915
|
+
{
|
|
23916
|
+
id: "lead-gen.company.qualify",
|
|
23917
|
+
order: 70,
|
|
23918
|
+
label: "Qualify companies",
|
|
23919
|
+
description: "Score and filter companies against the ICP rubric.",
|
|
23920
|
+
scope: { domain: "sales" },
|
|
23921
|
+
resourceId: "lgn-03-company-qualification-workflow",
|
|
23922
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/qualify" }],
|
|
23923
|
+
lifecycle: "active",
|
|
23924
|
+
knowledge: []
|
|
24258
23925
|
},
|
|
24259
|
-
|
|
24260
|
-
|
|
23926
|
+
{
|
|
23927
|
+
id: "lead-gen.company.dtc-subscription-qualify",
|
|
23928
|
+
order: 80,
|
|
23929
|
+
label: "Qualify DTC subscription fit",
|
|
23930
|
+
description: "Classify subscription potential and consumable-product fit for DTC brands.",
|
|
23931
|
+
scope: { domain: "sales" },
|
|
23932
|
+
resourceId: "lgn-03b-dtc-subscription-score-workflow",
|
|
23933
|
+
invocations: [
|
|
23934
|
+
{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/dtc-subscription-qualify" }
|
|
23935
|
+
],
|
|
23936
|
+
lifecycle: "active",
|
|
23937
|
+
knowledge: []
|
|
24261
23938
|
},
|
|
24262
|
-
|
|
24263
|
-
|
|
23939
|
+
{
|
|
23940
|
+
id: "lead-gen.contact.apollo-decision-maker-enrich",
|
|
23941
|
+
order: 90,
|
|
23942
|
+
label: "Enrich decision-makers",
|
|
23943
|
+
description: "Find and enrich qualified contacts at qualified companies via Apollo.",
|
|
23944
|
+
scope: { domain: "sales" },
|
|
23945
|
+
resourceId: "lgn-04b-apollo-decision-maker-enrich-workflow",
|
|
23946
|
+
invocations: [
|
|
23947
|
+
{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/apollo-decision-maker-enrich" }
|
|
23948
|
+
],
|
|
23949
|
+
lifecycle: "active",
|
|
23950
|
+
knowledge: []
|
|
24264
23951
|
},
|
|
24265
|
-
|
|
24266
|
-
|
|
23952
|
+
{
|
|
23953
|
+
id: "lead-gen.contact.personalize",
|
|
23954
|
+
order: 100,
|
|
23955
|
+
label: "Personalize outreach",
|
|
23956
|
+
description: "Generate personalized opening lines for each contact.",
|
|
23957
|
+
scope: { domain: "sales" },
|
|
23958
|
+
resourceId: "ist-personalization-workflow",
|
|
23959
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/personalize" }],
|
|
23960
|
+
lifecycle: "active",
|
|
23961
|
+
knowledge: []
|
|
24267
23962
|
},
|
|
24268
|
-
|
|
24269
|
-
|
|
23963
|
+
{
|
|
23964
|
+
id: "lead-gen.review.outreach-ready",
|
|
23965
|
+
order: 110,
|
|
23966
|
+
label: "Upload to outreach",
|
|
23967
|
+
description: "Upload approved contacts to the outreach sequence after QC review.",
|
|
23968
|
+
scope: { domain: "sales" },
|
|
23969
|
+
resourceId: "ist-upload-contacts-workflow",
|
|
23970
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/review/outreach-ready" }],
|
|
23971
|
+
lifecycle: "active",
|
|
23972
|
+
knowledge: []
|
|
24270
23973
|
},
|
|
24271
|
-
|
|
24272
|
-
|
|
23974
|
+
{
|
|
23975
|
+
id: "lead-gen.export.list",
|
|
23976
|
+
order: 120,
|
|
23977
|
+
label: "Export lead list",
|
|
23978
|
+
description: "Export approved leads as a downloadable lead list.",
|
|
23979
|
+
scope: { domain: "sales" },
|
|
23980
|
+
resourceId: "lgn-06-export-list-workflow",
|
|
23981
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/export/list" }],
|
|
23982
|
+
lifecycle: "active",
|
|
23983
|
+
knowledge: []
|
|
24273
23984
|
},
|
|
24274
|
-
|
|
24275
|
-
|
|
23985
|
+
{
|
|
23986
|
+
id: "lead-gen.company.cleanup",
|
|
23987
|
+
order: 130,
|
|
23988
|
+
label: "Clean up companies",
|
|
23989
|
+
description: "Remove disqualified or duplicate companies from the list.",
|
|
23990
|
+
scope: { domain: "sales" },
|
|
23991
|
+
resourceId: "lgn-company-cleanup-workflow",
|
|
23992
|
+
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/cleanup" }],
|
|
23993
|
+
lifecycle: "active",
|
|
23994
|
+
knowledge: []
|
|
24276
23995
|
}
|
|
24277
|
-
|
|
24278
|
-
var
|
|
24279
|
-
|
|
24280
|
-
|
|
24281
|
-
|
|
24282
|
-
|
|
24283
|
-
|
|
24284
|
-
|
|
24285
|
-
{
|
|
24286
|
-
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
|
|
24291
|
-
"lgn-01a-google-maps-scrape-workflow": [
|
|
24292
|
-
{
|
|
24293
|
-
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apify-scrape.ts",
|
|
24294
|
-
role: "entrypoint",
|
|
24295
|
-
symbol: "ldsApifyScrapeWorkflow"
|
|
24296
|
-
}
|
|
24297
|
-
],
|
|
24298
|
-
"lgn-01b-apify-acquire-workflow": [
|
|
24299
|
-
{
|
|
24300
|
-
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apify-acquire.ts",
|
|
24301
|
-
role: "entrypoint",
|
|
24302
|
-
symbol: "ldsApifyAcquireWorkflow"
|
|
24303
|
-
}
|
|
24304
|
-
],
|
|
24305
|
-
"lgn-01c-apollo-import-workflow": [
|
|
24306
|
-
{
|
|
24307
|
-
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apollo-import.ts",
|
|
24308
|
-
role: "entrypoint",
|
|
24309
|
-
symbol: "lgnApolloImportWorkflow"
|
|
24310
|
-
},
|
|
24311
|
-
{
|
|
24312
|
-
path: "packages/elevasis-operations/src/sales/prospecting/__tests__/apollo-import.test.ts",
|
|
24313
|
-
role: "test"
|
|
24314
|
-
}
|
|
24315
|
-
],
|
|
24316
|
-
"lgn-03-company-qualification-workflow": [
|
|
24317
|
-
{
|
|
24318
|
-
path: "packages/elevasis-operations/src/sales/qualification/qualify/company-qualification.ts",
|
|
24319
|
-
role: "entrypoint",
|
|
24320
|
-
symbol: "ldsCompanyQualificationWorkflow"
|
|
24321
|
-
},
|
|
24322
|
-
{
|
|
24323
|
-
path: "packages/elevasis-operations/src/sales/qualification/qualify/__tests__/company-qualification.test.ts",
|
|
24324
|
-
role: "test"
|
|
24325
|
-
}
|
|
24326
|
-
],
|
|
24327
|
-
"lgn-import-workflow": [
|
|
24328
|
-
{
|
|
24329
|
-
path: "packages/elevasis-operations/src/sales/prospecting/utilities/lead-import.ts",
|
|
24330
|
-
role: "entrypoint",
|
|
24331
|
-
symbol: "leadImportWorkflow"
|
|
24332
|
-
}
|
|
24333
|
-
],
|
|
24334
|
-
"lgn-assign-to-list-workflow": [
|
|
24335
|
-
{
|
|
24336
|
-
path: "packages/elevasis-operations/src/sales/prospecting/utilities/assign-to-list.ts",
|
|
24337
|
-
role: "entrypoint",
|
|
24338
|
-
symbol: "lgnAssignToListWorkflow"
|
|
24339
|
-
}
|
|
24340
|
-
],
|
|
24341
|
-
"lgn-website-extract-compare-workflow": [
|
|
24342
|
-
{
|
|
24343
|
-
path: "packages/elevasis-operations/src/sales/prospecting/extract/website-extract-compare.ts",
|
|
24344
|
-
role: "entrypoint",
|
|
24345
|
-
symbol: "lgnWebsiteExtractCompareWorkflow"
|
|
24346
|
-
}
|
|
24347
|
-
],
|
|
24348
|
-
"lgn-data-integrity-diagnostic": [
|
|
24349
|
-
{
|
|
24350
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/data-integrity-diagnostic.ts",
|
|
24351
|
-
role: "entrypoint",
|
|
24352
|
-
symbol: "dataIntegrityDiagnosticWorkflow"
|
|
24353
|
-
}
|
|
24354
|
-
],
|
|
24355
|
-
"lgn-diagnostic-orchestrator": [
|
|
24356
|
-
{
|
|
24357
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/lds-diagnostic-orchestrator.ts",
|
|
24358
|
-
role: "entrypoint",
|
|
24359
|
-
symbol: "ldsDiagnosticOrchestratorWorkflow"
|
|
24360
|
-
}
|
|
24361
|
-
],
|
|
24362
|
-
"lgn-dtc-apollo-pipeline-diagnostic": [
|
|
24363
|
-
{
|
|
24364
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/dtc-subscription-apollo-pipeline-diagnostic.ts",
|
|
24365
|
-
role: "entrypoint",
|
|
24366
|
-
symbol: "dtcSubscriptionApolloPipelineDiagnosticWorkflow"
|
|
24367
|
-
},
|
|
24368
|
-
{
|
|
24369
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/dtc-subscription-apollo-pipeline-diagnostic.test.ts",
|
|
24370
|
-
role: "test"
|
|
24371
|
-
}
|
|
24372
|
-
],
|
|
24373
|
-
"lgn-email-discovery-boundary-diagnostic-workflow": [
|
|
24374
|
-
{
|
|
24375
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/email-discovery-boundary-diagnostic.ts",
|
|
24376
|
-
role: "entrypoint",
|
|
24377
|
-
symbol: "emailDiscoveryBoundaryDiagnosticWorkflow"
|
|
24378
|
-
}
|
|
24379
|
-
],
|
|
24380
|
-
"lgn-email-discovery-diagnostic-workflow": [
|
|
24381
|
-
{
|
|
24382
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/email-discovery-diagnostic.ts",
|
|
24383
|
-
role: "entrypoint",
|
|
24384
|
-
symbol: "emailDiscoveryDiagnosticWorkflow"
|
|
24385
|
-
}
|
|
24386
|
-
],
|
|
24387
|
-
"lgn-lead-filter-diagnostic": [
|
|
24388
|
-
{
|
|
24389
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/lead-filter-diagnostic.ts",
|
|
24390
|
-
role: "entrypoint",
|
|
24391
|
-
symbol: "leadFilterDiagnosticWorkflow"
|
|
24392
|
-
}
|
|
24393
|
-
],
|
|
24394
|
-
"lgn-pipeline-diagnostic": [
|
|
24395
|
-
{
|
|
24396
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/pipeline-diagnostic.ts",
|
|
24397
|
-
role: "entrypoint",
|
|
24398
|
-
symbol: "pipelineDiagnosticWorkflow"
|
|
24399
|
-
}
|
|
24400
|
-
],
|
|
24401
|
-
"lgn-qualification-diagnostic": [
|
|
24402
|
-
{
|
|
24403
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/qualification-diagnostic.ts",
|
|
24404
|
-
role: "entrypoint",
|
|
24405
|
-
symbol: "qualificationDiagnosticWorkflow"
|
|
24406
|
-
}
|
|
24407
|
-
],
|
|
24408
|
-
"lgn-scrape-diagnostic": [
|
|
24409
|
-
{
|
|
24410
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/scrape-diagnostic.ts",
|
|
24411
|
-
role: "entrypoint",
|
|
24412
|
-
symbol: "scrapeDiagnosticWorkflow"
|
|
24413
|
-
}
|
|
24414
|
-
],
|
|
24415
|
-
"lgn-tomba-diagnostic-workflow": [
|
|
24416
|
-
{
|
|
24417
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/tomba-diagnostic.ts",
|
|
24418
|
-
role: "entrypoint",
|
|
24419
|
-
symbol: "tombaDiagnosticWorkflow"
|
|
24420
|
-
}
|
|
24421
|
-
],
|
|
24422
|
-
"lgn-verification-diagnostic": [
|
|
24423
|
-
{
|
|
24424
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/verification-diagnostic.ts",
|
|
24425
|
-
role: "entrypoint",
|
|
24426
|
-
symbol: "verificationDiagnosticWorkflow"
|
|
24427
|
-
},
|
|
24428
|
-
{
|
|
24429
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/verification-diagnostic.test.ts",
|
|
24430
|
-
role: "test"
|
|
24431
|
-
}
|
|
24432
|
-
],
|
|
24433
|
-
"lgn-website-extract-diagnostic-workflow": [
|
|
24434
|
-
{
|
|
24435
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/website-extract-diagnostic.ts",
|
|
24436
|
-
role: "entrypoint",
|
|
24437
|
-
symbol: "websiteExtractDiagnosticWorkflow"
|
|
24438
|
-
}
|
|
24439
|
-
],
|
|
24440
|
-
"lgn-amf-discovery-diagnostic-workflow": [
|
|
24441
|
-
{
|
|
24442
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/amf-discovery-diagnostic.ts",
|
|
24443
|
-
role: "entrypoint",
|
|
24444
|
-
symbol: "amfDiscoveryDiagnosticWorkflow"
|
|
24445
|
-
}
|
|
24446
|
-
],
|
|
24447
|
-
"lgn-tomba-discovery-diagnostic-workflow": [
|
|
24448
|
-
{
|
|
24449
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/tomba-discovery-diagnostic.ts",
|
|
24450
|
-
role: "entrypoint",
|
|
24451
|
-
symbol: "tombaDiscoveryDiagnosticWorkflow"
|
|
24452
|
-
}
|
|
24453
|
-
],
|
|
24454
|
-
"anymailfinder-diagnostic-workflow": [
|
|
24455
|
-
{
|
|
24456
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/anymailfinder-diagnostic.ts",
|
|
24457
|
-
role: "entrypoint",
|
|
24458
|
-
symbol: "anymailfinderDiagnosticWorkflow"
|
|
24459
|
-
}
|
|
24460
|
-
],
|
|
24461
|
-
"instantly-diagnostic-workflow": [
|
|
24462
|
-
{
|
|
24463
|
-
path: "packages/elevasis-operations/src/diagnostics/lead-gen/instantly-diagnostic.ts",
|
|
24464
|
-
role: "entrypoint",
|
|
24465
|
-
symbol: "instantlyDiagnosticWorkflow"
|
|
24466
|
-
}
|
|
24467
|
-
],
|
|
24468
|
-
"ist-upload-contacts-workflow": [
|
|
24469
|
-
{
|
|
24470
|
-
path: "packages/elevasis-operations/src/sales/outreach/instantly/instantly-upload.ts",
|
|
24471
|
-
role: "entrypoint",
|
|
24472
|
-
symbol: "ldsInstantlyUploadWorkflow"
|
|
24473
|
-
}
|
|
24474
|
-
],
|
|
24475
|
-
"inb-01-instantly-reply-handler-workflow": [
|
|
24476
|
-
{
|
|
24477
|
-
path: "packages/elevasis-operations/src/sales/outreach/reply/instantly-reply-handler.ts",
|
|
24478
|
-
role: "entrypoint",
|
|
24479
|
-
symbol: "instantlyReplyHandlerWorkflow"
|
|
24480
|
-
}
|
|
24481
|
-
],
|
|
24482
|
-
"inb-01-send-booking-reply-workflow": [
|
|
24483
|
-
{
|
|
24484
|
-
path: "packages/elevasis-operations/src/sales/outreach/reply/send-booking-reply.ts",
|
|
24485
|
-
role: "entrypoint",
|
|
24486
|
-
symbol: "sendBookingReplyWorkflow"
|
|
24487
|
-
}
|
|
24488
|
-
],
|
|
24489
|
-
"inb-01-send-subsequent-reply-workflow": [
|
|
24490
|
-
{
|
|
24491
|
-
path: "packages/elevasis-operations/src/sales/outreach/reply/send-subsequent-reply.ts",
|
|
24492
|
-
role: "entrypoint",
|
|
24493
|
-
symbol: "sendSubsequentReplyWorkflow"
|
|
24494
|
-
}
|
|
24495
|
-
],
|
|
24496
|
-
"inb-01-booking-nudge-workflow": [
|
|
24497
|
-
{
|
|
24498
|
-
path: "packages/elevasis-operations/src/sales/outreach/reply/booking-nudge.ts",
|
|
24499
|
-
role: "entrypoint",
|
|
24500
|
-
symbol: "bookingNudgeWorkflow"
|
|
24501
|
-
},
|
|
24502
|
-
{
|
|
24503
|
-
path: "packages/elevasis-operations/src/sales/outreach/reply/booking-nudge-schema.ts",
|
|
24504
|
-
role: "schema"
|
|
24505
|
-
}
|
|
24506
|
-
],
|
|
24507
|
-
"inb-02-booking-handler-workflow": [
|
|
24508
|
-
{
|
|
24509
|
-
path: "packages/elevasis-operations/src/sales/crm/booking/booking-handler.ts",
|
|
24510
|
-
role: "entrypoint",
|
|
24511
|
-
symbol: "bookingHandlerWorkflow"
|
|
24512
|
-
}
|
|
24513
|
-
],
|
|
24514
|
-
"cal-booking-revert-workflow": [
|
|
24515
|
-
{
|
|
24516
|
-
path: "packages/elevasis-operations/src/sales/crm/booking/booking-revert.ts",
|
|
24517
|
-
role: "entrypoint",
|
|
24518
|
-
symbol: "bookingRevertWorkflow"
|
|
24519
|
-
}
|
|
24520
|
-
],
|
|
24521
|
-
"inb-02-discovery-reminder-workflow": [
|
|
24522
|
-
{
|
|
24523
|
-
path: "packages/elevasis-operations/src/sales/crm/booking/discovery-reminder.ts",
|
|
24524
|
-
role: "entrypoint",
|
|
24525
|
-
symbol: "discoveryReminderWorkflow"
|
|
24526
|
-
}
|
|
24527
|
-
],
|
|
24528
|
-
"inb-02b-organic-booking-handler-workflow": [
|
|
24529
|
-
{
|
|
24530
|
-
path: "packages/elevasis-operations/src/sales/crm/booking/organic-booking-handler.ts",
|
|
24531
|
-
role: "entrypoint",
|
|
24532
|
-
symbol: "organicBookingHandlerWorkflow"
|
|
24533
|
-
}
|
|
24534
|
-
],
|
|
24535
|
-
"inb-03-discovery-form-handler-workflow": [
|
|
24536
|
-
{
|
|
24537
|
-
path: "packages/elevasis-operations/src/sales/qualification/discovery/discovery-form-handler.ts",
|
|
24538
|
-
role: "entrypoint",
|
|
24539
|
-
symbol: "discoveryFormHandlerWorkflow"
|
|
24540
|
-
}
|
|
24541
|
-
],
|
|
24542
|
-
"discovery-form-revert-workflow": [
|
|
24543
|
-
{
|
|
24544
|
-
path: "packages/elevasis-operations/src/sales/qualification/discovery/discovery-form-revert.ts",
|
|
24545
|
-
role: "entrypoint",
|
|
24546
|
-
symbol: "discoveryFormRevertWorkflow"
|
|
24547
|
-
}
|
|
24548
|
-
],
|
|
24549
|
-
"inb-pipeline-timeout-checker-workflow": [
|
|
24550
|
-
{
|
|
24551
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-checker.ts",
|
|
24552
|
-
role: "entrypoint",
|
|
24553
|
-
symbol: "timeoutCheckerWorkflow"
|
|
24554
|
-
}
|
|
24555
|
-
],
|
|
24556
|
-
"inb-pipeline-timeout-followup-workflow": [
|
|
24557
|
-
{
|
|
24558
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
24559
|
-
role: "entrypoint",
|
|
24560
|
-
symbol: "timeoutFollowupWorkflow"
|
|
24561
|
-
}
|
|
24562
|
-
],
|
|
24563
|
-
"inb-pipeline-timeout-nurture-workflow": [
|
|
24564
|
-
{
|
|
24565
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
24566
|
-
role: "entrypoint",
|
|
24567
|
-
symbol: "timeoutNurtureWorkflow"
|
|
24568
|
-
}
|
|
24569
|
-
],
|
|
24570
|
-
"inb-pipeline-timeout-close-lost-workflow": [
|
|
24571
|
-
{
|
|
24572
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
24573
|
-
role: "entrypoint",
|
|
24574
|
-
symbol: "timeoutCloseLostWorkflow"
|
|
24575
|
-
}
|
|
24576
|
-
],
|
|
24577
|
-
"inb-pipeline-timeout-no-show-workflow": [
|
|
24578
|
-
{
|
|
24579
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
24580
|
-
role: "entrypoint",
|
|
24581
|
-
symbol: "timeoutNoShowWorkflow"
|
|
24582
|
-
}
|
|
24583
|
-
],
|
|
24584
|
-
"inb-full-cleanup-workflow": [
|
|
24585
|
-
{
|
|
24586
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/full-cleanup.ts",
|
|
24587
|
-
role: "entrypoint",
|
|
24588
|
-
symbol: "fullCleanupWorkflow"
|
|
24589
|
-
}
|
|
24590
|
-
],
|
|
24591
|
-
"inb-pipeline-unsubscribe-cleanup-workflow": [
|
|
24592
|
-
{
|
|
24593
|
-
path: "packages/elevasis-operations/src/sales/crm/pipeline/unsubscribe-cleanup.ts",
|
|
24594
|
-
role: "entrypoint",
|
|
24595
|
-
symbol: "unsubscribeCleanupWorkflow"
|
|
24596
|
-
}
|
|
24597
|
-
],
|
|
24598
|
-
"inb-integration-test": [
|
|
24599
|
-
{
|
|
24600
|
-
path: "packages/elevasis-operations/src/diagnostics/inbound/integration-test.ts",
|
|
24601
|
-
role: "entrypoint",
|
|
24602
|
-
symbol: "acqIntegrationTestWorkflow"
|
|
24603
|
-
},
|
|
24604
|
-
{
|
|
24605
|
-
path: "packages/elevasis-operations/src/diagnostics/inbound/integration-test-schema.ts",
|
|
24606
|
-
role: "schema"
|
|
24607
|
-
}
|
|
24608
|
-
],
|
|
24609
|
-
"crm-action-system-smoke-workflow": [
|
|
24610
|
-
{
|
|
24611
|
-
path: "packages/elevasis-operations/src/diagnostics/cutover/crm-action-system-smoke.ts",
|
|
24612
|
-
role: "entrypoint",
|
|
24613
|
-
symbol: "crmActionSystemSmokeWorkflow"
|
|
24614
|
-
}
|
|
24615
|
-
],
|
|
24616
|
-
"cutover-org-model-smoke-workflow": [
|
|
24617
|
-
{
|
|
24618
|
-
path: "packages/elevasis-operations/src/diagnostics/cutover/org-model-smoke.ts",
|
|
24619
|
-
role: "entrypoint",
|
|
24620
|
-
symbol: "orgModelSmokeWorkflow"
|
|
24621
|
-
}
|
|
24622
|
-
],
|
|
24623
|
-
"crm-timeout-checker-diagnostic-workflow": [
|
|
24624
|
-
{
|
|
24625
|
-
path: "packages/elevasis-operations/src/diagnostics/inbound/timeout-checker-diagnostic.ts",
|
|
24626
|
-
role: "entrypoint",
|
|
24627
|
-
symbol: "crmTimeoutCheckerDiagnosticWorkflow"
|
|
24628
|
-
}
|
|
24629
|
-
],
|
|
24630
|
-
"crm-send-reply-workflow": [
|
|
24631
|
-
{
|
|
24632
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-reply.ts",
|
|
24633
|
-
role: "entrypoint",
|
|
24634
|
-
symbol: "sendReplyWorkflow"
|
|
24635
|
-
},
|
|
24636
|
-
crmActionWorkflowSchemaCodeRef
|
|
24637
|
-
],
|
|
24638
|
-
"crm-reply-followup-workflow": [
|
|
24639
|
-
{
|
|
24640
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/crm-reply-followup.ts",
|
|
24641
|
-
role: "entrypoint",
|
|
24642
|
-
symbol: "replyFollowupWorkflow"
|
|
24643
|
-
}
|
|
24644
|
-
],
|
|
24645
|
-
"crm-send-booking-link-workflow": [
|
|
24646
|
-
{
|
|
24647
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-booking-link.ts",
|
|
24648
|
-
role: "entrypoint",
|
|
24649
|
-
symbol: "sendBookingLinkWorkflow"
|
|
24650
|
-
},
|
|
24651
|
-
crmActionWorkflowSchemaCodeRef
|
|
24652
|
-
],
|
|
24653
|
-
"crm-send-nudge-workflow": [
|
|
24654
|
-
{
|
|
24655
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-nudge.ts",
|
|
24656
|
-
role: "entrypoint",
|
|
24657
|
-
symbol: "sendNudgeWorkflow"
|
|
24658
|
-
},
|
|
24659
|
-
crmActionWorkflowSchemaCodeRef
|
|
24660
|
-
],
|
|
24661
|
-
"crm-rebook-workflow": [
|
|
24662
|
-
{
|
|
24663
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/crm-rebook.ts",
|
|
24664
|
-
role: "entrypoint",
|
|
24665
|
-
symbol: "rebookWorkflow"
|
|
24666
|
-
},
|
|
24667
|
-
crmActionWorkflowSchemaCodeRef
|
|
24668
|
-
],
|
|
24669
|
-
"move_to_closing-workflow": [
|
|
24670
|
-
{
|
|
24671
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closing.ts",
|
|
24672
|
-
role: "entrypoint",
|
|
24673
|
-
symbol: "moveToClosingWorkflow"
|
|
24674
|
-
},
|
|
24675
|
-
crmActionWorkflowSchemaCodeRef
|
|
24676
|
-
],
|
|
24677
|
-
"move_to_closed_won-workflow": [
|
|
24678
|
-
{
|
|
24679
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closed-won.ts",
|
|
24680
|
-
role: "entrypoint",
|
|
24681
|
-
symbol: "moveToClosedWonWorkflow"
|
|
24682
|
-
},
|
|
24683
|
-
crmActionWorkflowSchemaCodeRef
|
|
24684
|
-
],
|
|
24685
|
-
"move_to_closed_lost-workflow": [
|
|
24686
|
-
{
|
|
24687
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closed-lost.ts",
|
|
24688
|
-
role: "entrypoint",
|
|
24689
|
-
symbol: "moveToClosedLostWorkflow"
|
|
24690
|
-
},
|
|
24691
|
-
crmActionWorkflowSchemaCodeRef
|
|
24692
|
-
],
|
|
24693
|
-
"move_to_nurturing-workflow": [
|
|
24694
|
-
{
|
|
24695
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-nurturing.ts",
|
|
24696
|
-
role: "entrypoint",
|
|
24697
|
-
symbol: "moveToNurturingWorkflow"
|
|
24698
|
-
},
|
|
24699
|
-
crmActionWorkflowSchemaCodeRef
|
|
24700
|
-
],
|
|
24701
|
-
"mark_no_show-workflow": [
|
|
24702
|
-
{
|
|
24703
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/mark-no-show.ts",
|
|
24704
|
-
role: "entrypoint",
|
|
24705
|
-
symbol: "markNoShowWorkflow"
|
|
24706
|
-
},
|
|
24707
|
-
{
|
|
24708
|
-
path: "packages/elevasis-operations/src/sales/crm/shared/action-workflow-schemas.ts",
|
|
24709
|
-
role: "schema",
|
|
24710
|
-
symbol: "ActionWorkflowInputSchema"
|
|
24711
|
-
}
|
|
24712
|
-
],
|
|
24713
|
-
"move_to_proposal-workflow": [
|
|
24714
|
-
{
|
|
24715
|
-
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-proposal.ts",
|
|
24716
|
-
role: "entrypoint",
|
|
24717
|
-
symbol: "moveToProposalWorkflow"
|
|
24718
|
-
},
|
|
24719
|
-
{
|
|
24720
|
-
path: "packages/elevasis-operations/src/sales/crm/shared/proposal-schemas.ts",
|
|
24721
|
-
role: "schema"
|
|
24722
|
-
}
|
|
24723
|
-
]
|
|
24724
|
-
};
|
|
24725
|
-
var workflowDisplayMetadataByResourceId = {
|
|
24726
|
-
"lgn-01a-google-maps-scrape-workflow": {
|
|
24727
|
-
title: "LGN-01A Google Maps Scrape",
|
|
24728
|
-
description: "Scrape local-services businesses from Google Maps via Apify and source companies into Lead DB."
|
|
24729
|
-
},
|
|
24730
|
-
"lgn-01b-apify-acquire-workflow": {
|
|
24731
|
-
title: "LGN-01B Apify Acquire",
|
|
24732
|
-
description: "Acquire and normalize Apify scrape results into Lead DB company records."
|
|
24733
|
-
},
|
|
24734
|
-
"lgn-01c-apollo-import-workflow": {
|
|
24735
|
-
title: "LGN-01C Apollo Import",
|
|
24736
|
-
description: "Import DTC subscription companies from Apollo search results into Lead DB"
|
|
24737
|
-
},
|
|
24738
|
-
"lgn-03-company-qualification-workflow": {
|
|
24739
|
-
title: "LGN-03 Company Qualification",
|
|
24740
|
-
description: "LLM-based company qualification against ICP signals; marks companies qualified or filtered with reason."
|
|
24741
|
-
},
|
|
24742
|
-
"lgn-import-workflow": {
|
|
24743
|
-
title: "LGN Lead Import",
|
|
24744
|
-
description: "Generic import entrypoint for sourcing companies into Lead DB from external batch inputs."
|
|
24745
|
-
},
|
|
24746
|
-
"lgn-assign-to-list-workflow": {
|
|
24747
|
-
title: "LGN Assign to List",
|
|
24748
|
-
description: "Assign qualified contacts to a target lead list for export and outreach handoff."
|
|
24749
|
-
},
|
|
24750
|
-
"lgn-website-extract-compare-workflow": {
|
|
24751
|
-
title: "LGN Website Extract Compare",
|
|
24752
|
-
description: "A/B model comparison for website extraction LLM quality testing."
|
|
24753
|
-
},
|
|
24754
|
-
"lgn-04-email-discovery-workflow": {
|
|
24755
|
-
title: "LGN-04 Email Discovery",
|
|
24756
|
-
description: "Unified email discovery: Tomba email lookup with AnyMailFinder fallback for qualified company contacts."
|
|
24757
|
-
},
|
|
24758
|
-
"lgn-05-email-verification-workflow": {
|
|
24759
|
-
title: "LGN-05 Email Verification",
|
|
24760
|
-
description: "Email verification via MillionVerifier with soft-delete for invalid or disposable emails."
|
|
24761
|
-
},
|
|
24762
|
-
"lgn-02-website-extract-workflow": {
|
|
24763
|
-
title: "LGN-02 Website Extract",
|
|
24764
|
-
description: "LLM extraction from raw crawled markdown for company signals, staff, emails, and downstream contacts."
|
|
24765
|
-
},
|
|
24766
|
-
"lgn-02a-apify-website-crawl-workflow": {
|
|
24767
|
-
title: "LGN-02A Apify Website Crawl",
|
|
24768
|
-
description: "Crawl company websites via Apify and store page markdown for downstream LLM analysis."
|
|
24769
|
-
},
|
|
24770
|
-
"lgn-03b-dtc-subscription-score-workflow": {
|
|
24771
|
-
title: "LGN-03B DTC Subscription Score",
|
|
24772
|
-
description: "Score Apollo-imported brands for DTC subscription fit and mark qualified companies."
|
|
24773
|
-
},
|
|
24774
|
-
"lgn-04b-apollo-decision-maker-enrich-workflow": {
|
|
24775
|
-
title: "LGN-04B Apollo Decision Makers",
|
|
24776
|
-
description: "Enrich qualified DTC companies with prioritized Apollo decision-maker contacts."
|
|
23996
|
+
];
|
|
23997
|
+
var LEAD_GEN_ACTION_ENTRIES = defineActions(LEAD_GEN_ACTION_ENTRY_INPUTS);
|
|
23998
|
+
var CRM_ACTION_ENTRY_INPUTS = [
|
|
23999
|
+
{
|
|
24000
|
+
id: "send_reply",
|
|
24001
|
+
order: 210,
|
|
24002
|
+
label: "Send Reply",
|
|
24003
|
+
description: "Send a contextual reply for an active CRM deal.",
|
|
24004
|
+
scope: { domain: "sales" },
|
|
24005
|
+
resourceId: "crm-send-reply-workflow",
|
|
24006
|
+
affects: ["crm.deal"],
|
|
24007
|
+
invocations: [],
|
|
24008
|
+
lifecycle: "active",
|
|
24009
|
+
knowledge: []
|
|
24777
24010
|
},
|
|
24778
|
-
|
|
24779
|
-
|
|
24780
|
-
|
|
24011
|
+
{
|
|
24012
|
+
id: "send_link",
|
|
24013
|
+
order: 220,
|
|
24014
|
+
label: "Send Booking Link",
|
|
24015
|
+
description: "Send a booking link to move a deal toward a scheduled call.",
|
|
24016
|
+
scope: { domain: "sales" },
|
|
24017
|
+
resourceId: "crm-send-booking-link-workflow",
|
|
24018
|
+
affects: ["crm.deal"],
|
|
24019
|
+
invocations: [],
|
|
24020
|
+
lifecycle: "active",
|
|
24021
|
+
knowledge: []
|
|
24781
24022
|
},
|
|
24782
|
-
|
|
24783
|
-
|
|
24784
|
-
|
|
24023
|
+
{
|
|
24024
|
+
id: "send_nudge",
|
|
24025
|
+
order: 230,
|
|
24026
|
+
label: "Send Nudge",
|
|
24027
|
+
description: "Send a follow-up nudge for a stalled CRM deal.",
|
|
24028
|
+
scope: { domain: "sales" },
|
|
24029
|
+
resourceId: "crm-send-nudge-workflow",
|
|
24030
|
+
affects: ["crm.deal"],
|
|
24031
|
+
invocations: [],
|
|
24032
|
+
lifecycle: "active",
|
|
24033
|
+
knowledge: []
|
|
24785
24034
|
},
|
|
24786
|
-
|
|
24787
|
-
|
|
24788
|
-
|
|
24035
|
+
{
|
|
24036
|
+
id: "rebook",
|
|
24037
|
+
order: 240,
|
|
24038
|
+
label: "Rebook",
|
|
24039
|
+
description: "Rebook a missed or rescheduled CRM appointment.",
|
|
24040
|
+
scope: { domain: "sales" },
|
|
24041
|
+
resourceId: "crm-rebook-workflow",
|
|
24042
|
+
affects: ["crm.deal"],
|
|
24043
|
+
invocations: [],
|
|
24044
|
+
lifecycle: "active",
|
|
24045
|
+
knowledge: []
|
|
24789
24046
|
},
|
|
24790
|
-
|
|
24791
|
-
|
|
24792
|
-
|
|
24047
|
+
{
|
|
24048
|
+
id: "move_to_proposal",
|
|
24049
|
+
order: 250,
|
|
24050
|
+
label: "Move to Proposal",
|
|
24051
|
+
description: "Advance a qualified CRM deal into the proposal stage.",
|
|
24052
|
+
scope: { domain: "sales" },
|
|
24053
|
+
resourceId: "move_to_proposal-workflow",
|
|
24054
|
+
affects: ["crm.deal"],
|
|
24055
|
+
invocations: [],
|
|
24056
|
+
lifecycle: "active",
|
|
24057
|
+
knowledge: []
|
|
24793
24058
|
},
|
|
24794
|
-
|
|
24795
|
-
|
|
24796
|
-
|
|
24059
|
+
{
|
|
24060
|
+
id: "move_to_closing",
|
|
24061
|
+
order: 260,
|
|
24062
|
+
label: "Move to Closing",
|
|
24063
|
+
description: "Advance a proposal-stage CRM deal into closing.",
|
|
24064
|
+
scope: { domain: "sales" },
|
|
24065
|
+
resourceId: "move_to_closing-workflow",
|
|
24066
|
+
affects: ["crm.deal"],
|
|
24067
|
+
invocations: [],
|
|
24068
|
+
lifecycle: "active",
|
|
24069
|
+
knowledge: []
|
|
24797
24070
|
},
|
|
24798
|
-
|
|
24799
|
-
|
|
24800
|
-
|
|
24071
|
+
{
|
|
24072
|
+
id: "move_to_closed_won",
|
|
24073
|
+
order: 270,
|
|
24074
|
+
label: "Close Won",
|
|
24075
|
+
description: "Mark a CRM deal as closed won.",
|
|
24076
|
+
scope: { domain: "sales" },
|
|
24077
|
+
resourceId: "move_to_closed_won-workflow",
|
|
24078
|
+
affects: ["crm.deal"],
|
|
24079
|
+
invocations: [],
|
|
24080
|
+
lifecycle: "active",
|
|
24081
|
+
knowledge: []
|
|
24801
24082
|
},
|
|
24802
|
-
|
|
24803
|
-
|
|
24804
|
-
|
|
24805
|
-
|
|
24806
|
-
|
|
24807
|
-
|
|
24808
|
-
|
|
24809
|
-
|
|
24810
|
-
|
|
24811
|
-
|
|
24812
|
-
|
|
24813
|
-
},
|
|
24814
|
-
"lgn-tomba-diagnostic-workflow": {
|
|
24815
|
-
title: "LGN Tomba Integration Diagnostic",
|
|
24816
|
-
description: "E2E validation of Tomba integration: domain-search, email-finder, and email-verifier against a known domain."
|
|
24817
|
-
},
|
|
24818
|
-
"lgn-tomba-discovery-diagnostic-workflow": {
|
|
24819
|
-
title: "LGN Tomba Discovery Diagnostic",
|
|
24820
|
-
description: "E2E validation of Tomba discovery workflow + soft-delete logic on found contacts."
|
|
24821
|
-
},
|
|
24822
|
-
"lgn-amf-discovery-diagnostic-workflow": {
|
|
24823
|
-
title: "LGN AnyMailFinder Discovery Diagnostic",
|
|
24824
|
-
description: "E2E validation of AnyMailFinder waterfall: preserves qualification + Tomba state, verifies enrichmentData.anymailfinder shape."
|
|
24825
|
-
},
|
|
24826
|
-
"lgn-email-discovery-diagnostic-workflow": {
|
|
24827
|
-
title: "LGN Email Discovery Diagnostic",
|
|
24828
|
-
description: "E2E validation of unified email discovery (Tomba + AMF waterfall) on diagnostic batch with idempotency and phase-tracking assertions."
|
|
24829
|
-
},
|
|
24830
|
-
"lgn-email-discovery-boundary-diagnostic-workflow": {
|
|
24831
|
-
title: "LGN Email Discovery Boundary Diagnostic",
|
|
24832
|
-
description: "Regression net for Tomba \u2192 AnyMailFinder migration: verifies AMF only runs when Tomba finds no personal email."
|
|
24833
|
-
},
|
|
24834
|
-
"lgn-website-extract-diagnostic-workflow": {
|
|
24835
|
-
title: "LGN Website Extract Diagnostic",
|
|
24836
|
-
description: "Tests LLM extraction improvements: verifies staff names/titles extracted and enrichmentData.staff populated correctly."
|
|
24837
|
-
},
|
|
24838
|
-
"lgn-dtc-apollo-pipeline-diagnostic": {
|
|
24839
|
-
title: "LGN DTC Apollo Pipeline Diagnostic",
|
|
24840
|
-
description: "Demo-safe E2E test of the DTC Subscription Apollo pipeline: fixture normalization, scoring, decision-maker enrichment, qualified-lead export."
|
|
24841
|
-
},
|
|
24842
|
-
"anymailfinder-diagnostic-workflow": {
|
|
24843
|
-
title: "AnyMailFinder Integration Diagnostic",
|
|
24844
|
-
description: "Integration-credential diagnostic for AnyMailFinder API connectivity and lookup endpoint."
|
|
24845
|
-
},
|
|
24846
|
-
"instantly-diagnostic-workflow": {
|
|
24847
|
-
title: "Instantly Integration Diagnostic",
|
|
24848
|
-
description: "Integration-credential diagnostic for Instantly: campaigns list, account health, analytics, and dry-run upload."
|
|
24849
|
-
},
|
|
24850
|
-
"crm-send-reply-workflow": {
|
|
24851
|
-
title: "CRM Send Reply",
|
|
24852
|
-
description: "Send a manual reply to an interested prospect via Instantly or Resend and record the CRM activity."
|
|
24853
|
-
},
|
|
24854
|
-
"crm-reply-followup-workflow": {
|
|
24855
|
-
title: "CRM Reply Follow-up",
|
|
24856
|
-
description: "Send Day 3/5/7 scheduled follow-ups after a user-authored CRM reply in the interested stage."
|
|
24857
|
-
},
|
|
24858
|
-
"crm-send-booking-link-workflow": {
|
|
24859
|
-
title: "CRM Send Booking Link",
|
|
24860
|
-
description: "Send a Cal.com booking link to an interested prospect and advance the deal state."
|
|
24861
|
-
},
|
|
24862
|
-
"crm-send-nudge-workflow": {
|
|
24863
|
-
title: "CRM Send Nudge",
|
|
24864
|
-
description: "Send a scheduled nudge reminder to a prospect who has not yet booked after receiving a booking link."
|
|
24865
|
-
},
|
|
24866
|
-
"crm-rebook-workflow": {
|
|
24867
|
-
title: "CRM Rebook",
|
|
24868
|
-
description: "Re-send a booking link to a no-show or lapsed prospect and reset the deal state for a new booking attempt."
|
|
24869
|
-
},
|
|
24870
|
-
"move_to_proposal-workflow": {
|
|
24871
|
-
title: "CRM Move to Proposal",
|
|
24872
|
-
description: "Advance a qualified discovery deal to the proposal stage and trigger downstream proposal generation."
|
|
24873
|
-
},
|
|
24874
|
-
"move_to_closing-workflow": {
|
|
24875
|
-
title: "CRM Move to Closing",
|
|
24876
|
-
description: "Advance a proposal deal to the closing stage and record the stage transition activity."
|
|
24877
|
-
},
|
|
24878
|
-
"move_to_closed_won-workflow": {
|
|
24879
|
-
title: "CRM Close Won",
|
|
24880
|
-
description: "Mark a deal as closed-won, record the outcome, and trigger post-close onboarding steps."
|
|
24881
|
-
},
|
|
24882
|
-
"move_to_closed_lost-workflow": {
|
|
24883
|
-
title: "CRM Close Lost",
|
|
24884
|
-
description: "Mark a deal as closed-lost, record the reason, and archive the deal from the active pipeline."
|
|
24885
|
-
},
|
|
24886
|
-
"move_to_nurturing-workflow": {
|
|
24887
|
-
title: "CRM Move to Nurturing",
|
|
24888
|
-
description: "Move a stalled deal into the nurturing stage for long-term follow-up sequencing."
|
|
24889
|
-
},
|
|
24890
|
-
"mark_no_show-workflow": {
|
|
24891
|
-
title: "CRM Mark No Show",
|
|
24892
|
-
description: "Mark a booked deal as a no-show and transition it to the appropriate recovery state."
|
|
24893
|
-
},
|
|
24894
|
-
"inb-01-instantly-reply-handler-workflow": {
|
|
24895
|
-
title: "INB-01 Instantly Reply Handler",
|
|
24896
|
-
description: "Entry handler for inbound Instantly replies: classifies intent, routes to booking or follow-up branches."
|
|
24897
|
-
},
|
|
24898
|
-
"inb-01-send-booking-reply-workflow": {
|
|
24899
|
-
title: "INB-01 Send Booking Reply",
|
|
24900
|
-
description: "Send a booking-link reply to an interested Instantly lead and create or update the CRM deal."
|
|
24901
|
-
},
|
|
24902
|
-
"inb-01-send-subsequent-reply-workflow": {
|
|
24903
|
-
title: "INB-01 Send Subsequent Reply",
|
|
24904
|
-
description: "Send a follow-up reply for edge-case inbound threads that require a second outreach pass."
|
|
24905
|
-
},
|
|
24906
|
-
"inb-01-booking-nudge-workflow": {
|
|
24907
|
-
title: "INB-01 Booking Nudge",
|
|
24908
|
-
description: "Send a scheduled nudge to prospects who received a booking link but have not yet booked."
|
|
24909
|
-
},
|
|
24910
|
-
"inb-02-booking-handler-workflow": {
|
|
24911
|
-
title: "INB-02 Cal Booking Handler",
|
|
24912
|
-
description: "Handle an inbound Cal.com booking event: update deal stage, send confirmation, and schedule discovery reminder."
|
|
24913
|
-
},
|
|
24914
|
-
"cal-booking-revert-workflow": {
|
|
24915
|
-
title: "INB-02 Cal Booking Revert",
|
|
24916
|
-
description: "Revert a deal to the pre-booking state when a Cal.com booking is cancelled or rescheduled."
|
|
24917
|
-
},
|
|
24918
|
-
"inb-02-discovery-reminder-workflow": {
|
|
24919
|
-
title: "INB-02 Discovery Reminder",
|
|
24920
|
-
description: "Send a pre-discovery call reminder and attach any relevant context to the deal record."
|
|
24921
|
-
},
|
|
24922
|
-
"inb-02b-organic-booking-handler-workflow": {
|
|
24923
|
-
title: "INB-02B Organic Booking Handler",
|
|
24924
|
-
description: "Handle Cal.com bookings that originate outside the Instantly outreach funnel (website form, referral, etc.)."
|
|
24925
|
-
},
|
|
24926
|
-
"inb-03-discovery-form-handler-workflow": {
|
|
24927
|
-
title: "INB-03 Discovery Form Handler",
|
|
24928
|
-
description: "Process an inbound discovery form submission: enrich deal, score fit, and route to proposal or nurture."
|
|
24929
|
-
},
|
|
24930
|
-
"discovery-form-revert-workflow": {
|
|
24931
|
-
title: "INB-03 Discovery Form Revert",
|
|
24932
|
-
description: "Revert a deal to the pre-discovery state when a discovery form submission must be rolled back."
|
|
24933
|
-
},
|
|
24934
|
-
"inb-pipeline-timeout-checker-workflow": {
|
|
24935
|
-
title: "INB Pipeline Timeout Checker",
|
|
24936
|
-
description: "Scheduled checker that scans the active deal pipeline for stage timeouts and dispatches timeout-action workflows."
|
|
24937
|
-
},
|
|
24938
|
-
"inb-pipeline-timeout-followup-workflow": {
|
|
24939
|
-
title: "INB Pipeline Timeout: Follow-up",
|
|
24940
|
-
description: "Timeout action for deals stuck in the interested stage: send a follow-up nudge or escalate."
|
|
24941
|
-
},
|
|
24942
|
-
"inb-pipeline-timeout-nurture-workflow": {
|
|
24943
|
-
title: "INB Pipeline Timeout: Nurture",
|
|
24944
|
-
description: "Timeout action for deals that have gone cold: move to nurturing and queue long-term follow-up."
|
|
24945
|
-
},
|
|
24946
|
-
"inb-pipeline-timeout-close-lost-workflow": {
|
|
24947
|
-
title: "INB Pipeline Timeout: Close Lost",
|
|
24948
|
-
description: "Timeout action for deals that have exceeded the maximum pipeline age: auto-close as lost."
|
|
24949
|
-
},
|
|
24950
|
-
"inb-pipeline-timeout-no-show-workflow": {
|
|
24951
|
-
title: "INB Pipeline Timeout: No Show",
|
|
24952
|
-
description: "Timeout action for booked deals with no discovery form submitted: mark as no-show and trigger recovery."
|
|
24953
|
-
},
|
|
24954
|
-
"inb-full-cleanup-workflow": {
|
|
24955
|
-
title: "INB Full Cleanup",
|
|
24956
|
-
description: "Full pipeline cleanup: archive stale deals, prune orphaned activities, and reset diagnostic test data."
|
|
24957
|
-
},
|
|
24958
|
-
"inb-pipeline-unsubscribe-cleanup-workflow": {
|
|
24959
|
-
title: "INB Unsubscribe Cleanup",
|
|
24960
|
-
description: "Remove unsubscribed contacts from the active pipeline and mark their deals closed-lost."
|
|
24961
|
-
},
|
|
24962
|
-
"inb-integration-test": {
|
|
24963
|
-
title: "INB Integration Test",
|
|
24964
|
-
description: "End-to-end integration test for the inbound sales pipeline: reply handler through booking and discovery stages."
|
|
24965
|
-
},
|
|
24966
|
-
"crm-action-system-smoke-workflow": {
|
|
24967
|
-
title: "CRM Action System Smoke Test",
|
|
24968
|
-
description: "Smoke test for CRM action workflows: verifies each action can be invoked end-to-end against the dev pipeline."
|
|
24969
|
-
},
|
|
24970
|
-
"cutover-org-model-smoke-workflow": {
|
|
24971
|
-
title: "Cutover Org Model Smoke Test",
|
|
24972
|
-
description: "Post-cutover smoke test that validates OM resource descriptors, system paths, and ontology bindings are consistent."
|
|
24973
|
-
},
|
|
24974
|
-
"crm-timeout-checker-diagnostic-workflow": {
|
|
24975
|
-
title: "CRM Timeout Checker Diagnostic",
|
|
24976
|
-
description: "Diagnostic for the pipeline timeout checker: simulates stale deals and verifies correct timeout-action dispatch."
|
|
24977
|
-
}
|
|
24978
|
-
};
|
|
24979
|
-
function titleFromResourceId(resourceId) {
|
|
24980
|
-
return resourceId.replace(/-workflow$/, "").replace(/[-_]+/g, " ").replace(/\b\w/g, (character) => character.toUpperCase());
|
|
24981
|
-
}
|
|
24982
|
-
var platformWorkflowResources = platformWorkflowResourceSeeds.map(([id, systemPath2, buildActionKey], index) => {
|
|
24983
|
-
const codeRefs = platformWorkflowCodeRefs[id];
|
|
24984
|
-
const ontology = buildActionKey !== void 0 ? workflowOntologyBindingsByBuildActionKey[buildActionKey] : void 0;
|
|
24985
|
-
const contract = workflowContractsByResourceId[id];
|
|
24986
|
-
const ontologyWithContract = ontology !== void 0 || contract !== void 0 ? {
|
|
24987
|
-
...ontology ?? {},
|
|
24988
|
-
...contract ? { contract } : {}
|
|
24989
|
-
} : void 0;
|
|
24990
|
-
const displayMetadata = workflowDisplayMetadataByResourceId[id];
|
|
24991
|
-
const title = displayMetadata?.title ?? titleFromResourceId(id);
|
|
24992
|
-
return {
|
|
24993
|
-
id,
|
|
24994
|
-
order: (index + 1) * 10,
|
|
24995
|
-
kind: "workflow",
|
|
24996
|
-
systemPath: systemPath2,
|
|
24997
|
-
title,
|
|
24998
|
-
description: displayMetadata?.description ?? `Workflow resource for ${title}.`,
|
|
24999
|
-
ownerRoleId: getPlatformOwnerRoleId(systemPath2),
|
|
25000
|
-
status: "active",
|
|
25001
|
-
...codeRefs ? { codeRefs } : {},
|
|
25002
|
-
...ontologyWithContract ? { ontology: ontologyWithContract } : {}
|
|
25003
|
-
};
|
|
25004
|
-
});
|
|
25005
|
-
var platformIntegrationResources = [
|
|
25006
|
-
{
|
|
25007
|
-
id: "inb-attio-integration",
|
|
25008
|
-
order: 10,
|
|
25009
|
-
kind: "integration",
|
|
25010
|
-
systemPath: "sales.crm",
|
|
25011
|
-
status: "active",
|
|
25012
|
-
codeRefs: [
|
|
25013
|
-
{
|
|
25014
|
-
path: "packages/elevasis-operations/src/metadata.ts",
|
|
25015
|
-
role: "config",
|
|
25016
|
-
symbol: "integrations"
|
|
25017
|
-
}
|
|
25018
|
-
],
|
|
25019
|
-
provider: "attio"
|
|
25020
|
-
},
|
|
25021
|
-
{
|
|
25022
|
-
id: "inb-instantly-integration",
|
|
25023
|
-
order: 20,
|
|
25024
|
-
kind: "integration",
|
|
25025
|
-
systemPath: "sales.lead-gen",
|
|
25026
|
-
status: "active",
|
|
25027
|
-
codeRefs: [
|
|
25028
|
-
{
|
|
25029
|
-
path: "packages/elevasis-operations/src/metadata.ts",
|
|
25030
|
-
role: "config",
|
|
25031
|
-
symbol: "integrations"
|
|
25032
|
-
}
|
|
25033
|
-
],
|
|
25034
|
-
provider: "instantly"
|
|
25035
|
-
},
|
|
25036
|
-
{
|
|
25037
|
-
id: "integration-resend-elevasis",
|
|
25038
|
-
order: 30,
|
|
25039
|
-
kind: "integration",
|
|
25040
|
-
systemPath: "sales.crm",
|
|
25041
|
-
status: "active",
|
|
25042
|
-
codeRefs: [
|
|
25043
|
-
{
|
|
25044
|
-
path: "packages/elevasis-operations/src/metadata.ts",
|
|
25045
|
-
role: "config",
|
|
25046
|
-
symbol: "integrations"
|
|
25047
|
-
}
|
|
25048
|
-
],
|
|
25049
|
-
provider: "resend"
|
|
25050
|
-
},
|
|
25051
|
-
{
|
|
25052
|
-
id: "integration-apify-elevasis",
|
|
25053
|
-
order: 40,
|
|
25054
|
-
kind: "integration",
|
|
25055
|
-
systemPath: "sales.lead-gen",
|
|
25056
|
-
status: "active",
|
|
25057
|
-
codeRefs: [
|
|
25058
|
-
{
|
|
25059
|
-
path: "packages/elevasis-operations/src/metadata.ts",
|
|
25060
|
-
role: "config",
|
|
25061
|
-
symbol: "integrations"
|
|
25062
|
-
}
|
|
25063
|
-
],
|
|
25064
|
-
provider: "apify"
|
|
24083
|
+
{
|
|
24084
|
+
id: "move_to_closed_lost",
|
|
24085
|
+
order: 280,
|
|
24086
|
+
label: "Close Lost",
|
|
24087
|
+
description: "Mark a CRM deal as closed lost.",
|
|
24088
|
+
scope: { domain: "sales" },
|
|
24089
|
+
resourceId: "move_to_closed_lost-workflow",
|
|
24090
|
+
affects: ["crm.deal"],
|
|
24091
|
+
invocations: [],
|
|
24092
|
+
lifecycle: "active",
|
|
24093
|
+
knowledge: []
|
|
25065
24094
|
},
|
|
25066
24095
|
{
|
|
25067
|
-
id: "
|
|
25068
|
-
order:
|
|
25069
|
-
|
|
25070
|
-
|
|
25071
|
-
|
|
25072
|
-
|
|
25073
|
-
|
|
25074
|
-
|
|
25075
|
-
|
|
25076
|
-
|
|
25077
|
-
}
|
|
25078
|
-
],
|
|
25079
|
-
provider: "apollo"
|
|
24096
|
+
id: "move_to_nurturing",
|
|
24097
|
+
order: 290,
|
|
24098
|
+
label: "Move to Nurturing",
|
|
24099
|
+
description: "Move a CRM deal into nurturing for future follow-up.",
|
|
24100
|
+
scope: { domain: "sales" },
|
|
24101
|
+
resourceId: "move_to_nurturing-workflow",
|
|
24102
|
+
affects: ["crm.deal"],
|
|
24103
|
+
invocations: [],
|
|
24104
|
+
lifecycle: "active",
|
|
24105
|
+
knowledge: []
|
|
25080
24106
|
}
|
|
25081
24107
|
];
|
|
25082
|
-
var
|
|
25083
|
-
|
|
25084
|
-
|
|
25085
|
-
|
|
25086
|
-
|
|
25087
|
-
Object.fromEntries(
|
|
25088
|
-
[
|
|
25089
|
-
...platformWorkflowResources,
|
|
25090
|
-
...platformIntegrationResourcesWithOwners,
|
|
25091
|
-
{
|
|
25092
|
-
id: "command-center-assistant",
|
|
25093
|
-
order: 1e4,
|
|
25094
|
-
kind: "agent",
|
|
25095
|
-
systemPath: "platform.projects",
|
|
25096
|
-
ownerRoleId: "role.operator",
|
|
25097
|
-
actsAsRoleId: "role.operator",
|
|
25098
|
-
status: "active",
|
|
25099
|
-
codeRefs: [
|
|
25100
|
-
{
|
|
25101
|
-
path: "apps/api/src/resources/command-center-assistant/definition.ts",
|
|
25102
|
-
role: "entrypoint",
|
|
25103
|
-
symbol: "commandCenterAssistantDefinition"
|
|
25104
|
-
},
|
|
25105
|
-
{
|
|
25106
|
-
path: "apps/api/src/resources/index.ts",
|
|
25107
|
-
role: "config",
|
|
25108
|
-
symbol: "registerSystemResources"
|
|
25109
|
-
}
|
|
25110
|
-
],
|
|
25111
|
-
agentKind: "platform",
|
|
25112
|
-
sessionCapable: true,
|
|
25113
|
-
invocations: [
|
|
25114
|
-
{ kind: "slash-command", command: "/help" },
|
|
25115
|
-
{ kind: "slash-command", command: "/work" }
|
|
25116
|
-
]
|
|
25117
|
-
}
|
|
25118
|
-
].map((resource2) => [resource2.id, resource2])
|
|
25119
|
-
)
|
|
25120
|
-
);
|
|
25121
|
-
Object.values(platformResourceDescriptors);
|
|
25122
|
-
Object.fromEntries(
|
|
25123
|
-
Object.values(platformResourceDescriptors).flatMap(
|
|
25124
|
-
(resource2) => resource2.ontology === void 0 ? [] : [[resource2.id, resource2.ontology]]
|
|
25125
|
-
)
|
|
25126
|
-
);
|
|
24108
|
+
var CRM_ACTION_ENTRIES = defineActions(CRM_ACTION_ENTRY_INPUTS);
|
|
24109
|
+
var ELEVASIS_DEFAULT_ORGANIZATION_MODEL_ACTIONS = {
|
|
24110
|
+
...LEAD_GEN_ACTION_ENTRIES,
|
|
24111
|
+
...CRM_ACTION_ENTRIES
|
|
24112
|
+
};
|
|
25127
24113
|
|
|
25128
24114
|
// ../elevasis-core/src/organization-model/roles.ts
|
|
25129
24115
|
var platformRoles = {
|
|
@@ -25172,273 +24158,6 @@ var platformRoles = {
|
|
|
25172
24158
|
}
|
|
25173
24159
|
};
|
|
25174
24160
|
|
|
25175
|
-
// ../elevasis-core/src/organization-model/actions.ts
|
|
25176
|
-
var LEAD_GEN_ACTION_ENTRY_INPUTS = [
|
|
25177
|
-
{
|
|
25178
|
-
id: "lead-gen.company.source",
|
|
25179
|
-
order: 10,
|
|
25180
|
-
label: "Source companies",
|
|
25181
|
-
description: "Import source companies from a list provider.",
|
|
25182
|
-
scope: { domain: "sales" },
|
|
25183
|
-
resourceId: "lgn-import-workflow",
|
|
25184
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/source" }],
|
|
25185
|
-
lifecycle: "active",
|
|
25186
|
-
knowledge: []
|
|
25187
|
-
},
|
|
25188
|
-
{
|
|
25189
|
-
id: "lead-gen.company.apollo-import",
|
|
25190
|
-
order: 20,
|
|
25191
|
-
label: "Import from Apollo",
|
|
25192
|
-
description: "Pull companies and seed contact data from an Apollo search or list.",
|
|
25193
|
-
scope: { domain: "sales" },
|
|
25194
|
-
resourceId: "lgn-01c-apollo-import-workflow",
|
|
25195
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/apollo-import" }],
|
|
25196
|
-
lifecycle: "active",
|
|
25197
|
-
knowledge: []
|
|
25198
|
-
},
|
|
25199
|
-
{
|
|
25200
|
-
id: "lead-gen.contact.discover",
|
|
25201
|
-
order: 30,
|
|
25202
|
-
label: "Discover contact emails",
|
|
25203
|
-
description: "Find email addresses for contacts at qualified companies.",
|
|
25204
|
-
scope: { domain: "sales" },
|
|
25205
|
-
resourceId: "lgn-04-email-discovery-workflow",
|
|
25206
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/discover" }],
|
|
25207
|
-
lifecycle: "active",
|
|
25208
|
-
knowledge: []
|
|
25209
|
-
},
|
|
25210
|
-
{
|
|
25211
|
-
id: "lead-gen.contact.verify-email",
|
|
25212
|
-
order: 40,
|
|
25213
|
-
label: "Verify emails",
|
|
25214
|
-
description: "Check email deliverability before outreach.",
|
|
25215
|
-
scope: { domain: "sales" },
|
|
25216
|
-
resourceId: "lgn-05-email-verification-workflow",
|
|
25217
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/verify-email" }],
|
|
25218
|
-
lifecycle: "active",
|
|
25219
|
-
knowledge: []
|
|
25220
|
-
},
|
|
25221
|
-
{
|
|
25222
|
-
id: "lead-gen.company.apify-crawl",
|
|
25223
|
-
order: 50,
|
|
25224
|
-
label: "Crawl websites",
|
|
25225
|
-
description: "Crawl company websites via Apify and store raw page markdown for downstream LLM analysis.",
|
|
25226
|
-
scope: { domain: "sales" },
|
|
25227
|
-
resourceId: "lgn-02a-apify-website-crawl-workflow",
|
|
25228
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/apify-crawl" }],
|
|
25229
|
-
lifecycle: "active",
|
|
25230
|
-
knowledge: []
|
|
25231
|
-
},
|
|
25232
|
-
{
|
|
25233
|
-
id: "lead-gen.company.website-extract",
|
|
25234
|
-
order: 60,
|
|
25235
|
-
label: "Extract website signals",
|
|
25236
|
-
description: "Scrape and analyze company websites for qualification signals.",
|
|
25237
|
-
scope: { domain: "sales" },
|
|
25238
|
-
resourceId: "lgn-02-website-extract-workflow",
|
|
25239
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/website-extract" }],
|
|
25240
|
-
lifecycle: "active",
|
|
25241
|
-
knowledge: []
|
|
25242
|
-
},
|
|
25243
|
-
{
|
|
25244
|
-
id: "lead-gen.company.qualify",
|
|
25245
|
-
order: 70,
|
|
25246
|
-
label: "Qualify companies",
|
|
25247
|
-
description: "Score and filter companies against the ICP rubric.",
|
|
25248
|
-
scope: { domain: "sales" },
|
|
25249
|
-
resourceId: "lgn-03-company-qualification-workflow",
|
|
25250
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/qualify" }],
|
|
25251
|
-
lifecycle: "active",
|
|
25252
|
-
knowledge: []
|
|
25253
|
-
},
|
|
25254
|
-
{
|
|
25255
|
-
id: "lead-gen.company.dtc-subscription-qualify",
|
|
25256
|
-
order: 80,
|
|
25257
|
-
label: "Qualify DTC subscription fit",
|
|
25258
|
-
description: "Classify subscription potential and consumable-product fit for DTC brands.",
|
|
25259
|
-
scope: { domain: "sales" },
|
|
25260
|
-
resourceId: "lgn-03b-dtc-subscription-score-workflow",
|
|
25261
|
-
invocations: [
|
|
25262
|
-
{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/dtc-subscription-qualify" }
|
|
25263
|
-
],
|
|
25264
|
-
lifecycle: "active",
|
|
25265
|
-
knowledge: []
|
|
25266
|
-
},
|
|
25267
|
-
{
|
|
25268
|
-
id: "lead-gen.contact.apollo-decision-maker-enrich",
|
|
25269
|
-
order: 90,
|
|
25270
|
-
label: "Enrich decision-makers",
|
|
25271
|
-
description: "Find and enrich qualified contacts at qualified companies via Apollo.",
|
|
25272
|
-
scope: { domain: "sales" },
|
|
25273
|
-
resourceId: "lgn-04b-apollo-decision-maker-enrich-workflow",
|
|
25274
|
-
invocations: [
|
|
25275
|
-
{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/apollo-decision-maker-enrich" }
|
|
25276
|
-
],
|
|
25277
|
-
lifecycle: "active",
|
|
25278
|
-
knowledge: []
|
|
25279
|
-
},
|
|
25280
|
-
{
|
|
25281
|
-
id: "lead-gen.contact.personalize",
|
|
25282
|
-
order: 100,
|
|
25283
|
-
label: "Personalize outreach",
|
|
25284
|
-
description: "Generate personalized opening lines for each contact.",
|
|
25285
|
-
scope: { domain: "sales" },
|
|
25286
|
-
resourceId: "ist-personalization-workflow",
|
|
25287
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/contacts/personalize" }],
|
|
25288
|
-
lifecycle: "active",
|
|
25289
|
-
knowledge: []
|
|
25290
|
-
},
|
|
25291
|
-
{
|
|
25292
|
-
id: "lead-gen.review.outreach-ready",
|
|
25293
|
-
order: 110,
|
|
25294
|
-
label: "Upload to outreach",
|
|
25295
|
-
description: "Upload approved contacts to the outreach sequence after QC review.",
|
|
25296
|
-
scope: { domain: "sales" },
|
|
25297
|
-
resourceId: "ist-upload-contacts-workflow",
|
|
25298
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/review/outreach-ready" }],
|
|
25299
|
-
lifecycle: "active",
|
|
25300
|
-
knowledge: []
|
|
25301
|
-
},
|
|
25302
|
-
{
|
|
25303
|
-
id: "lead-gen.export.list",
|
|
25304
|
-
order: 120,
|
|
25305
|
-
label: "Export lead list",
|
|
25306
|
-
description: "Export approved leads as a downloadable lead list.",
|
|
25307
|
-
scope: { domain: "sales" },
|
|
25308
|
-
resourceId: "lgn-06-export-list-workflow",
|
|
25309
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/export/list" }],
|
|
25310
|
-
lifecycle: "active",
|
|
25311
|
-
knowledge: []
|
|
25312
|
-
},
|
|
25313
|
-
{
|
|
25314
|
-
id: "lead-gen.company.cleanup",
|
|
25315
|
-
order: 130,
|
|
25316
|
-
label: "Clean up companies",
|
|
25317
|
-
description: "Remove disqualified or duplicate companies from the list.",
|
|
25318
|
-
scope: { domain: "sales" },
|
|
25319
|
-
resourceId: "lgn-company-cleanup-workflow",
|
|
25320
|
-
invocations: [{ kind: "api-endpoint", method: "POST", path: "/api/prospecting/companies/cleanup" }],
|
|
25321
|
-
lifecycle: "active",
|
|
25322
|
-
knowledge: []
|
|
25323
|
-
}
|
|
25324
|
-
];
|
|
25325
|
-
var LEAD_GEN_ACTION_ENTRIES = defineActions(LEAD_GEN_ACTION_ENTRY_INPUTS);
|
|
25326
|
-
var CRM_ACTION_ENTRY_INPUTS = [
|
|
25327
|
-
{
|
|
25328
|
-
id: "send_reply",
|
|
25329
|
-
order: 210,
|
|
25330
|
-
label: "Send Reply",
|
|
25331
|
-
description: "Send a contextual reply for an active CRM deal.",
|
|
25332
|
-
scope: { domain: "sales" },
|
|
25333
|
-
resourceId: "crm-send-reply-workflow",
|
|
25334
|
-
affects: ["crm.deal"],
|
|
25335
|
-
invocations: [],
|
|
25336
|
-
lifecycle: "active",
|
|
25337
|
-
knowledge: []
|
|
25338
|
-
},
|
|
25339
|
-
{
|
|
25340
|
-
id: "send_link",
|
|
25341
|
-
order: 220,
|
|
25342
|
-
label: "Send Booking Link",
|
|
25343
|
-
description: "Send a booking link to move a deal toward a scheduled call.",
|
|
25344
|
-
scope: { domain: "sales" },
|
|
25345
|
-
resourceId: "crm-send-booking-link-workflow",
|
|
25346
|
-
affects: ["crm.deal"],
|
|
25347
|
-
invocations: [],
|
|
25348
|
-
lifecycle: "active",
|
|
25349
|
-
knowledge: []
|
|
25350
|
-
},
|
|
25351
|
-
{
|
|
25352
|
-
id: "send_nudge",
|
|
25353
|
-
order: 230,
|
|
25354
|
-
label: "Send Nudge",
|
|
25355
|
-
description: "Send a follow-up nudge for a stalled CRM deal.",
|
|
25356
|
-
scope: { domain: "sales" },
|
|
25357
|
-
resourceId: "crm-send-nudge-workflow",
|
|
25358
|
-
affects: ["crm.deal"],
|
|
25359
|
-
invocations: [],
|
|
25360
|
-
lifecycle: "active",
|
|
25361
|
-
knowledge: []
|
|
25362
|
-
},
|
|
25363
|
-
{
|
|
25364
|
-
id: "rebook",
|
|
25365
|
-
order: 240,
|
|
25366
|
-
label: "Rebook",
|
|
25367
|
-
description: "Rebook a missed or rescheduled CRM appointment.",
|
|
25368
|
-
scope: { domain: "sales" },
|
|
25369
|
-
resourceId: "crm-rebook-workflow",
|
|
25370
|
-
affects: ["crm.deal"],
|
|
25371
|
-
invocations: [],
|
|
25372
|
-
lifecycle: "active",
|
|
25373
|
-
knowledge: []
|
|
25374
|
-
},
|
|
25375
|
-
{
|
|
25376
|
-
id: "move_to_proposal",
|
|
25377
|
-
order: 250,
|
|
25378
|
-
label: "Move to Proposal",
|
|
25379
|
-
description: "Advance a qualified CRM deal into the proposal stage.",
|
|
25380
|
-
scope: { domain: "sales" },
|
|
25381
|
-
resourceId: "move_to_proposal-workflow",
|
|
25382
|
-
affects: ["crm.deal"],
|
|
25383
|
-
invocations: [],
|
|
25384
|
-
lifecycle: "active",
|
|
25385
|
-
knowledge: []
|
|
25386
|
-
},
|
|
25387
|
-
{
|
|
25388
|
-
id: "move_to_closing",
|
|
25389
|
-
order: 260,
|
|
25390
|
-
label: "Move to Closing",
|
|
25391
|
-
description: "Advance a proposal-stage CRM deal into closing.",
|
|
25392
|
-
scope: { domain: "sales" },
|
|
25393
|
-
resourceId: "move_to_closing-workflow",
|
|
25394
|
-
affects: ["crm.deal"],
|
|
25395
|
-
invocations: [],
|
|
25396
|
-
lifecycle: "active",
|
|
25397
|
-
knowledge: []
|
|
25398
|
-
},
|
|
25399
|
-
{
|
|
25400
|
-
id: "move_to_closed_won",
|
|
25401
|
-
order: 270,
|
|
25402
|
-
label: "Close Won",
|
|
25403
|
-
description: "Mark a CRM deal as closed won.",
|
|
25404
|
-
scope: { domain: "sales" },
|
|
25405
|
-
resourceId: "move_to_closed_won-workflow",
|
|
25406
|
-
affects: ["crm.deal"],
|
|
25407
|
-
invocations: [],
|
|
25408
|
-
lifecycle: "active",
|
|
25409
|
-
knowledge: []
|
|
25410
|
-
},
|
|
25411
|
-
{
|
|
25412
|
-
id: "move_to_closed_lost",
|
|
25413
|
-
order: 280,
|
|
25414
|
-
label: "Close Lost",
|
|
25415
|
-
description: "Mark a CRM deal as closed lost.",
|
|
25416
|
-
scope: { domain: "sales" },
|
|
25417
|
-
resourceId: "move_to_closed_lost-workflow",
|
|
25418
|
-
affects: ["crm.deal"],
|
|
25419
|
-
invocations: [],
|
|
25420
|
-
lifecycle: "active",
|
|
25421
|
-
knowledge: []
|
|
25422
|
-
},
|
|
25423
|
-
{
|
|
25424
|
-
id: "move_to_nurturing",
|
|
25425
|
-
order: 290,
|
|
25426
|
-
label: "Move to Nurturing",
|
|
25427
|
-
description: "Move a CRM deal into nurturing for future follow-up.",
|
|
25428
|
-
scope: { domain: "sales" },
|
|
25429
|
-
resourceId: "move_to_nurturing-workflow",
|
|
25430
|
-
affects: ["crm.deal"],
|
|
25431
|
-
invocations: [],
|
|
25432
|
-
lifecycle: "active",
|
|
25433
|
-
knowledge: []
|
|
25434
|
-
}
|
|
25435
|
-
];
|
|
25436
|
-
var CRM_ACTION_ENTRIES = defineActions(CRM_ACTION_ENTRY_INPUTS);
|
|
25437
|
-
var ELEVASIS_DEFAULT_ORGANIZATION_MODEL_ACTIONS = {
|
|
25438
|
-
...LEAD_GEN_ACTION_ENTRIES,
|
|
25439
|
-
...CRM_ACTION_ENTRIES
|
|
25440
|
-
};
|
|
25441
|
-
|
|
25442
24161
|
// ../elevasis-core/src/organization-model/systems.ts
|
|
25443
24162
|
var platformSystems = {
|
|
25444
24163
|
platform: {
|
|
@@ -25447,6 +24166,7 @@ var platformSystems = {
|
|
|
25447
24166
|
label: "Platform",
|
|
25448
24167
|
description: "Cross-cutting platform infrastructure, diagnostics, and foundational utilities.",
|
|
25449
24168
|
kind: "platform",
|
|
24169
|
+
responsibleRoleId: "role.operator",
|
|
25450
24170
|
governedByKnowledge: [],
|
|
25451
24171
|
drivesGoals: [],
|
|
25452
24172
|
lifecycle: "active",
|
|
@@ -25471,6 +24191,7 @@ var platformSystems = {
|
|
|
25471
24191
|
description: "User-submitted feature requests and bug reports.",
|
|
25472
24192
|
kind: "operational",
|
|
25473
24193
|
parentSystemId: "platform",
|
|
24194
|
+
responsibleRoleId: "role.operator",
|
|
25474
24195
|
governedByKnowledge: [],
|
|
25475
24196
|
drivesGoals: [],
|
|
25476
24197
|
lifecycle: "active",
|
|
@@ -25486,6 +24207,7 @@ var platformSystems = {
|
|
|
25486
24207
|
label: "Projects",
|
|
25487
24208
|
description: "Projects, milestones, and work execution.",
|
|
25488
24209
|
kind: "operational",
|
|
24210
|
+
responsibleRoleId: "role.operator",
|
|
25489
24211
|
governedByKnowledge: [],
|
|
25490
24212
|
drivesGoals: [],
|
|
25491
24213
|
lifecycle: "beta",
|
|
@@ -25605,6 +24327,7 @@ var platformSystems = {
|
|
|
25605
24327
|
label: "Client Management",
|
|
25606
24328
|
description: "Operational client relationships, accounts, support intake, and business context.",
|
|
25607
24329
|
kind: "operational",
|
|
24330
|
+
responsibleRoleId: "role.client-support-operator",
|
|
25608
24331
|
governedByKnowledge: [],
|
|
25609
24332
|
drivesGoals: [],
|
|
25610
24333
|
lifecycle: "active",
|
|
@@ -25674,6 +24397,7 @@ var platformSystems = {
|
|
|
25674
24397
|
label: "Sales",
|
|
25675
24398
|
description: "Revenue workflows and customer acquisition.",
|
|
25676
24399
|
kind: "operational",
|
|
24400
|
+
responsibleRoleId: "role.operator",
|
|
25677
24401
|
governedByKnowledge: [],
|
|
25678
24402
|
drivesGoals: [],
|
|
25679
24403
|
lifecycle: "active",
|
|
@@ -25690,6 +24414,7 @@ var platformSystems = {
|
|
|
25690
24414
|
description: "Prospecting, qualification, and outreach preparation.",
|
|
25691
24415
|
kind: "operational",
|
|
25692
24416
|
parentSystemId: "sales",
|
|
24417
|
+
responsibleRoleId: "role.growth-operator",
|
|
25693
24418
|
governedByKnowledge: [],
|
|
25694
24419
|
drivesGoals: [],
|
|
25695
24420
|
lifecycle: "active",
|
|
@@ -26282,6 +25007,7 @@ var platformSystems = {
|
|
|
26282
25007
|
description: "Relationship pipeline and deal management.",
|
|
26283
25008
|
kind: "operational",
|
|
26284
25009
|
parentSystemId: "sales",
|
|
25010
|
+
responsibleRoleId: "role.crm-operator",
|
|
26285
25011
|
governedByKnowledge: [],
|
|
26286
25012
|
drivesGoals: [],
|
|
26287
25013
|
lifecycle: "active",
|
|
@@ -26490,17 +25216,1570 @@ var platformSystems = {
|
|
|
26490
25216
|
label: "SEO",
|
|
26491
25217
|
description: "Search, content, and distribution workflows.",
|
|
26492
25218
|
kind: "operational",
|
|
25219
|
+
responsibleRoleId: "role.website-operator",
|
|
26493
25220
|
governedByKnowledge: [],
|
|
26494
25221
|
drivesGoals: [],
|
|
26495
25222
|
lifecycle: "beta",
|
|
26496
25223
|
ui: {
|
|
26497
|
-
path: "/seo",
|
|
25224
|
+
path: "/acquisition/seo",
|
|
26498
25225
|
surfaces: [],
|
|
26499
25226
|
icon: "search"
|
|
26500
25227
|
}
|
|
26501
25228
|
}
|
|
26502
25229
|
};
|
|
26503
25230
|
|
|
25231
|
+
// ../elevasis-core/src/organization-model/resource-routing.ts
|
|
25232
|
+
function systemOwnershipEntries(systems) {
|
|
25233
|
+
return Object.fromEntries(
|
|
25234
|
+
Object.entries(systems).map(([key, system]) => {
|
|
25235
|
+
const { apiInterface, systems: childSystems, subsystems, ...ownershipSystem } = system;
|
|
25236
|
+
return [
|
|
25237
|
+
key,
|
|
25238
|
+
{
|
|
25239
|
+
...ownershipSystem,
|
|
25240
|
+
...childSystems ? { systems: systemOwnershipEntries(childSystems) } : {},
|
|
25241
|
+
...subsystems ? { subsystems: systemOwnershipEntries(subsystems) } : {}
|
|
25242
|
+
}
|
|
25243
|
+
];
|
|
25244
|
+
})
|
|
25245
|
+
);
|
|
25246
|
+
}
|
|
25247
|
+
var platformSystemOwnershipModel = resolveOrganizationModel(
|
|
25248
|
+
{
|
|
25249
|
+
version: 1,
|
|
25250
|
+
roles: platformRoles,
|
|
25251
|
+
actions: ELEVASIS_DEFAULT_ORGANIZATION_MODEL_ACTIONS,
|
|
25252
|
+
entities: ELEVASIS_ORGANIZATION_MODEL_ENTITIES,
|
|
25253
|
+
systems: systemOwnershipEntries(platformSystems)
|
|
25254
|
+
},
|
|
25255
|
+
{ mergeDefaults: false }
|
|
25256
|
+
);
|
|
25257
|
+
function getPlatformOwnerRoleId(systemId) {
|
|
25258
|
+
return getSystem(platformSystemOwnershipModel, systemId)?.responsibleRoleId ?? "role.operator";
|
|
25259
|
+
}
|
|
25260
|
+
|
|
25261
|
+
// ../elevasis-core/src/organization-model/resources.ts
|
|
25262
|
+
var leadGenCompany = "sales.lead-gen:object/company";
|
|
25263
|
+
var leadGenContact = "sales.lead-gen:object/contact";
|
|
25264
|
+
var leadGenList = "sales.lead-gen:object/list";
|
|
25265
|
+
var leadGenCampaign = "sales.lead-gen:object/campaign";
|
|
25266
|
+
var leadGenCompanyStage = "sales.lead-gen:catalog/company-stage";
|
|
25267
|
+
var leadGenContactStage = "sales.lead-gen:catalog/contact-stage";
|
|
25268
|
+
var leadGenBuildTemplate = "sales.lead-gen:catalog/build-template";
|
|
25269
|
+
var leadGenLocalServicesTemplateStep = "sales.lead-gen:catalog/template-step.local-services";
|
|
25270
|
+
var leadGenDtcSubscriptionTemplateStep = "sales.lead-gen:catalog/template-step.dtc-subscription";
|
|
25271
|
+
var leadGenCampaignStatus = "sales.lead-gen:catalog/campaign-status";
|
|
25272
|
+
var crmDeal = "sales.crm:object/deal";
|
|
25273
|
+
var crmContact = "sales.crm:object/contact";
|
|
25274
|
+
var crmPipeline = "sales.crm:catalog/crm.pipeline";
|
|
25275
|
+
var clientSupportIssue = "client-management:object/support-issue";
|
|
25276
|
+
var clientSupportIssueSeverity = "client-management:catalog/support-issue-severity";
|
|
25277
|
+
var crmActionWorkflowSchemaCodeRef = {
|
|
25278
|
+
path: "packages/elevasis-operations/src/sales/crm/shared/action-workflow-schemas.ts",
|
|
25279
|
+
role: "schema",
|
|
25280
|
+
symbol: "ActionWorkflowInputSchema"
|
|
25281
|
+
};
|
|
25282
|
+
var platformWorkflowResourceDefinitions = {
|
|
25283
|
+
"resend-diagnostic": {
|
|
25284
|
+
systemPath: "platform"
|
|
25285
|
+
},
|
|
25286
|
+
"instantly-diagnostic": {
|
|
25287
|
+
systemPath: "sales.lead-gen"
|
|
25288
|
+
},
|
|
25289
|
+
"stripe-diagnostic": {
|
|
25290
|
+
systemPath: "platform"
|
|
25291
|
+
},
|
|
25292
|
+
"dropbox-diagnostic": {
|
|
25293
|
+
systemPath: "platform"
|
|
25294
|
+
},
|
|
25295
|
+
"signature-api-diagnostic": {
|
|
25296
|
+
systemPath: "platform"
|
|
25297
|
+
},
|
|
25298
|
+
"apify-diagnostic": {
|
|
25299
|
+
systemPath: "sales.lead-gen"
|
|
25300
|
+
},
|
|
25301
|
+
"full-diagnostic": {
|
|
25302
|
+
systemPath: "platform",
|
|
25303
|
+
contract: {
|
|
25304
|
+
input: "@repo/elevasis-core/contracts/full-diagnostic#inputSchema"
|
|
25305
|
+
}
|
|
25306
|
+
},
|
|
25307
|
+
"diagnostic-test-data": {
|
|
25308
|
+
systemPath: "platform"
|
|
25309
|
+
},
|
|
25310
|
+
"cutover-org-model-smoke-workflow": {
|
|
25311
|
+
systemPath: "platform",
|
|
25312
|
+
codeRefs: [
|
|
25313
|
+
{
|
|
25314
|
+
path: "packages/elevasis-operations/src/diagnostics/cutover/org-model-smoke.ts",
|
|
25315
|
+
role: "entrypoint",
|
|
25316
|
+
symbol: "orgModelSmokeWorkflow"
|
|
25317
|
+
}
|
|
25318
|
+
],
|
|
25319
|
+
displayMetadata: {
|
|
25320
|
+
title: "Cutover Org Model Smoke Test",
|
|
25321
|
+
description: "Post-cutover smoke test that validates OM resource descriptors, system paths, and ontology bindings are consistent."
|
|
25322
|
+
}
|
|
25323
|
+
},
|
|
25324
|
+
"crm-action-system-smoke-workflow": {
|
|
25325
|
+
systemPath: "sales.crm",
|
|
25326
|
+
codeRefs: [
|
|
25327
|
+
{
|
|
25328
|
+
path: "packages/elevasis-operations/src/diagnostics/cutover/crm-action-system-smoke.ts",
|
|
25329
|
+
role: "entrypoint",
|
|
25330
|
+
symbol: "crmActionSystemSmokeWorkflow"
|
|
25331
|
+
}
|
|
25332
|
+
],
|
|
25333
|
+
displayMetadata: {
|
|
25334
|
+
title: "CRM Action System Smoke Test",
|
|
25335
|
+
description: "Smoke test for CRM action workflows: verifies each action can be invoked end-to-end against the dev pipeline."
|
|
25336
|
+
}
|
|
25337
|
+
},
|
|
25338
|
+
"anymailfinder-diagnostic-workflow": {
|
|
25339
|
+
systemPath: "sales.lead-gen",
|
|
25340
|
+
codeRefs: [
|
|
25341
|
+
{
|
|
25342
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/anymailfinder-diagnostic.ts",
|
|
25343
|
+
role: "entrypoint",
|
|
25344
|
+
symbol: "anymailfinderDiagnosticWorkflow"
|
|
25345
|
+
}
|
|
25346
|
+
],
|
|
25347
|
+
displayMetadata: {
|
|
25348
|
+
title: "AnyMailFinder Integration Diagnostic",
|
|
25349
|
+
description: "Integration-credential diagnostic for AnyMailFinder API connectivity and lookup endpoint."
|
|
25350
|
+
}
|
|
25351
|
+
},
|
|
25352
|
+
"lgn-dtc-apollo-pipeline-diagnostic": {
|
|
25353
|
+
systemPath: "sales.lead-gen",
|
|
25354
|
+
codeRefs: [
|
|
25355
|
+
{
|
|
25356
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/dtc-subscription-apollo-pipeline-diagnostic.ts",
|
|
25357
|
+
role: "entrypoint",
|
|
25358
|
+
symbol: "dtcSubscriptionApolloPipelineDiagnosticWorkflow"
|
|
25359
|
+
},
|
|
25360
|
+
{
|
|
25361
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/dtc-subscription-apollo-pipeline-diagnostic.test.ts",
|
|
25362
|
+
role: "test"
|
|
25363
|
+
}
|
|
25364
|
+
],
|
|
25365
|
+
displayMetadata: {
|
|
25366
|
+
title: "LGN DTC Apollo Pipeline Diagnostic",
|
|
25367
|
+
description: "Demo-safe E2E test of the DTC Subscription Apollo pipeline: fixture normalization, scoring, decision-maker enrichment, qualified-lead export."
|
|
25368
|
+
}
|
|
25369
|
+
},
|
|
25370
|
+
"lgn-email-discovery-boundary-diagnostic-workflow": {
|
|
25371
|
+
systemPath: "sales.lead-gen",
|
|
25372
|
+
codeRefs: [
|
|
25373
|
+
{
|
|
25374
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/email-discovery-boundary-diagnostic.ts",
|
|
25375
|
+
role: "entrypoint",
|
|
25376
|
+
symbol: "emailDiscoveryBoundaryDiagnosticWorkflow"
|
|
25377
|
+
}
|
|
25378
|
+
],
|
|
25379
|
+
displayMetadata: {
|
|
25380
|
+
title: "LGN Email Discovery Boundary Diagnostic",
|
|
25381
|
+
description: "Regression net for Tomba \u2192 AnyMailFinder migration: verifies AMF only runs when Tomba finds no personal email."
|
|
25382
|
+
}
|
|
25383
|
+
},
|
|
25384
|
+
"lgn-data-integrity-diagnostic": {
|
|
25385
|
+
systemPath: "sales.lead-gen",
|
|
25386
|
+
codeRefs: [
|
|
25387
|
+
{
|
|
25388
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/data-integrity-diagnostic.ts",
|
|
25389
|
+
role: "entrypoint",
|
|
25390
|
+
symbol: "dataIntegrityDiagnosticWorkflow"
|
|
25391
|
+
}
|
|
25392
|
+
],
|
|
25393
|
+
displayMetadata: {
|
|
25394
|
+
title: "LGN Data Integrity Diagnostic",
|
|
25395
|
+
description: "Validates enrichmentData JSONB shape and domain dedup constraints across lead-gen companies."
|
|
25396
|
+
}
|
|
25397
|
+
},
|
|
25398
|
+
"lgn-email-discovery-diagnostic-workflow": {
|
|
25399
|
+
systemPath: "sales.lead-gen",
|
|
25400
|
+
codeRefs: [
|
|
25401
|
+
{
|
|
25402
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/email-discovery-diagnostic.ts",
|
|
25403
|
+
role: "entrypoint",
|
|
25404
|
+
symbol: "emailDiscoveryDiagnosticWorkflow"
|
|
25405
|
+
}
|
|
25406
|
+
],
|
|
25407
|
+
displayMetadata: {
|
|
25408
|
+
title: "LGN Email Discovery Diagnostic",
|
|
25409
|
+
description: "E2E validation of unified email discovery (Tomba + AMF waterfall) on diagnostic batch with idempotency and phase-tracking assertions."
|
|
25410
|
+
}
|
|
25411
|
+
},
|
|
25412
|
+
"instantly-diagnostic-workflow": {
|
|
25413
|
+
systemPath: "sales.lead-gen",
|
|
25414
|
+
codeRefs: [
|
|
25415
|
+
{
|
|
25416
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/instantly-diagnostic.ts",
|
|
25417
|
+
role: "entrypoint",
|
|
25418
|
+
symbol: "instantlyDiagnosticWorkflow"
|
|
25419
|
+
}
|
|
25420
|
+
],
|
|
25421
|
+
displayMetadata: {
|
|
25422
|
+
title: "Instantly Integration Diagnostic",
|
|
25423
|
+
description: "Integration-credential diagnostic for Instantly: campaigns list, account health, analytics, and dry-run upload."
|
|
25424
|
+
}
|
|
25425
|
+
},
|
|
25426
|
+
"lgn-diagnostic-orchestrator": {
|
|
25427
|
+
systemPath: "sales.lead-gen",
|
|
25428
|
+
codeRefs: [
|
|
25429
|
+
{
|
|
25430
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/lds-diagnostic-orchestrator.ts",
|
|
25431
|
+
role: "entrypoint",
|
|
25432
|
+
symbol: "ldsDiagnosticOrchestratorWorkflow"
|
|
25433
|
+
}
|
|
25434
|
+
],
|
|
25435
|
+
displayMetadata: {
|
|
25436
|
+
title: "LGN Diagnostic Orchestrator",
|
|
25437
|
+
description: "Meta-workflow that resets diagnostic data and runs internal + external lead-gen diagnostics sequentially with pass/fail summary."
|
|
25438
|
+
}
|
|
25439
|
+
},
|
|
25440
|
+
"lgn-lead-filter-diagnostic": {
|
|
25441
|
+
systemPath: "sales.lead-gen",
|
|
25442
|
+
codeRefs: [
|
|
25443
|
+
{
|
|
25444
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/lead-filter-diagnostic.ts",
|
|
25445
|
+
role: "entrypoint",
|
|
25446
|
+
symbol: "leadFilterDiagnosticWorkflow"
|
|
25447
|
+
}
|
|
25448
|
+
],
|
|
25449
|
+
displayMetadata: {
|
|
25450
|
+
title: "LGN Lead Filter Diagnostic",
|
|
25451
|
+
description: "Regression test for tool-dispatcher filters: verifies listCompanies/listContacts honor batchId, segment, and qualification filters."
|
|
25452
|
+
}
|
|
25453
|
+
},
|
|
25454
|
+
"lgn-pipeline-diagnostic": {
|
|
25455
|
+
systemPath: "sales.lead-gen",
|
|
25456
|
+
codeRefs: [
|
|
25457
|
+
{
|
|
25458
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/pipeline-diagnostic.ts",
|
|
25459
|
+
role: "entrypoint",
|
|
25460
|
+
symbol: "pipelineDiagnosticWorkflow"
|
|
25461
|
+
}
|
|
25462
|
+
],
|
|
25463
|
+
displayMetadata: {
|
|
25464
|
+
title: "LGN Pipeline E2E Diagnostic",
|
|
25465
|
+
description: "Full E2E smoke test of the 7-stage lead-gen pipeline: verify, cleanup, qualify, personalize, upload, processing-state assertions."
|
|
25466
|
+
}
|
|
25467
|
+
},
|
|
25468
|
+
"lgn-qualification-diagnostic": {
|
|
25469
|
+
systemPath: "sales.lead-gen",
|
|
25470
|
+
codeRefs: [
|
|
25471
|
+
{
|
|
25472
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/qualification-diagnostic.ts",
|
|
25473
|
+
role: "entrypoint",
|
|
25474
|
+
symbol: "qualificationDiagnosticWorkflow"
|
|
25475
|
+
}
|
|
25476
|
+
],
|
|
25477
|
+
displayMetadata: {
|
|
25478
|
+
title: "LGN Qualification Diagnostic",
|
|
25479
|
+
description: "Isolated LLM qualification smoke test: creates a test contact, runs LLM qualification, verifies DB write, cleans up."
|
|
25480
|
+
}
|
|
25481
|
+
},
|
|
25482
|
+
"lgn-scrape-diagnostic": {
|
|
25483
|
+
systemPath: "sales.lead-gen",
|
|
25484
|
+
codeRefs: [
|
|
25485
|
+
{
|
|
25486
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/scrape-diagnostic.ts",
|
|
25487
|
+
role: "entrypoint",
|
|
25488
|
+
symbol: "scrapeDiagnosticWorkflow"
|
|
25489
|
+
}
|
|
25490
|
+
],
|
|
25491
|
+
displayMetadata: {
|
|
25492
|
+
title: "LGN Scrape Diagnostic",
|
|
25493
|
+
description: "Validates Google Maps scraper pipeline by scraping a single business via Apify and verifying company record creation."
|
|
25494
|
+
}
|
|
25495
|
+
},
|
|
25496
|
+
"lgn-tomba-diagnostic-workflow": {
|
|
25497
|
+
systemPath: "sales.lead-gen",
|
|
25498
|
+
codeRefs: [
|
|
25499
|
+
{
|
|
25500
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/tomba-diagnostic.ts",
|
|
25501
|
+
role: "entrypoint",
|
|
25502
|
+
symbol: "tombaDiagnosticWorkflow"
|
|
25503
|
+
}
|
|
25504
|
+
],
|
|
25505
|
+
displayMetadata: {
|
|
25506
|
+
title: "LGN Tomba Integration Diagnostic",
|
|
25507
|
+
description: "E2E validation of Tomba integration: domain-search, email-finder, and email-verifier against a known domain."
|
|
25508
|
+
}
|
|
25509
|
+
},
|
|
25510
|
+
"lgn-verification-diagnostic": {
|
|
25511
|
+
systemPath: "sales.lead-gen",
|
|
25512
|
+
codeRefs: [
|
|
25513
|
+
{
|
|
25514
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/verification-diagnostic.ts",
|
|
25515
|
+
role: "entrypoint",
|
|
25516
|
+
symbol: "verificationDiagnosticWorkflow"
|
|
25517
|
+
},
|
|
25518
|
+
{
|
|
25519
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/verification-diagnostic.test.ts",
|
|
25520
|
+
role: "test"
|
|
25521
|
+
}
|
|
25522
|
+
],
|
|
25523
|
+
displayMetadata: {
|
|
25524
|
+
title: "LGN Verification Diagnostic",
|
|
25525
|
+
description: "Smoke test for Tomba email verification with soft-delete decision logic."
|
|
25526
|
+
}
|
|
25527
|
+
},
|
|
25528
|
+
"lgn-website-extract-diagnostic-workflow": {
|
|
25529
|
+
systemPath: "sales.lead-gen",
|
|
25530
|
+
codeRefs: [
|
|
25531
|
+
{
|
|
25532
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/website-extract-diagnostic.ts",
|
|
25533
|
+
role: "entrypoint",
|
|
25534
|
+
symbol: "websiteExtractDiagnosticWorkflow"
|
|
25535
|
+
}
|
|
25536
|
+
],
|
|
25537
|
+
displayMetadata: {
|
|
25538
|
+
title: "LGN Website Extract Diagnostic",
|
|
25539
|
+
description: "Tests LLM extraction improvements: verifies staff names/titles extracted and enrichmentData.staff populated correctly."
|
|
25540
|
+
}
|
|
25541
|
+
},
|
|
25542
|
+
"lgn-amf-discovery-diagnostic-workflow": {
|
|
25543
|
+
systemPath: "sales.lead-gen",
|
|
25544
|
+
codeRefs: [
|
|
25545
|
+
{
|
|
25546
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/amf-discovery-diagnostic.ts",
|
|
25547
|
+
role: "entrypoint",
|
|
25548
|
+
symbol: "amfDiscoveryDiagnosticWorkflow"
|
|
25549
|
+
}
|
|
25550
|
+
],
|
|
25551
|
+
displayMetadata: {
|
|
25552
|
+
title: "LGN AnyMailFinder Discovery Diagnostic",
|
|
25553
|
+
description: "E2E validation of AnyMailFinder waterfall: preserves qualification + Tomba state, verifies enrichmentData.anymailfinder shape."
|
|
25554
|
+
}
|
|
25555
|
+
},
|
|
25556
|
+
"lgn-tomba-discovery-diagnostic-workflow": {
|
|
25557
|
+
systemPath: "sales.lead-gen",
|
|
25558
|
+
codeRefs: [
|
|
25559
|
+
{
|
|
25560
|
+
path: "packages/elevasis-operations/src/diagnostics/lead-gen/tomba-discovery-diagnostic.ts",
|
|
25561
|
+
role: "entrypoint",
|
|
25562
|
+
symbol: "tombaDiscoveryDiagnosticWorkflow"
|
|
25563
|
+
}
|
|
25564
|
+
],
|
|
25565
|
+
displayMetadata: {
|
|
25566
|
+
title: "LGN Tomba Discovery Diagnostic",
|
|
25567
|
+
description: "E2E validation of Tomba discovery workflow + soft-delete logic on found contacts."
|
|
25568
|
+
}
|
|
25569
|
+
},
|
|
25570
|
+
"resend-unsubscribe-diagnostic-workflow": {
|
|
25571
|
+
systemPath: "platform"
|
|
25572
|
+
},
|
|
25573
|
+
"instantly-thread-diagnostic-workflow": {
|
|
25574
|
+
systemPath: "sales.lead-gen"
|
|
25575
|
+
},
|
|
25576
|
+
"instantly-thread-link-backfill-workflow": {
|
|
25577
|
+
systemPath: "sales.lead-gen"
|
|
25578
|
+
},
|
|
25579
|
+
"instantly-reply-cleanup-workflow": {
|
|
25580
|
+
systemPath: "sales.lead-gen"
|
|
25581
|
+
},
|
|
25582
|
+
"inb-integration-test": {
|
|
25583
|
+
systemPath: "sales.crm",
|
|
25584
|
+
contract: {
|
|
25585
|
+
input: "@repo/elevasis-core/contracts/integration-test#inputSchema"
|
|
25586
|
+
},
|
|
25587
|
+
codeRefs: [
|
|
25588
|
+
{
|
|
25589
|
+
path: "packages/elevasis-operations/src/diagnostics/inbound/integration-test.ts",
|
|
25590
|
+
role: "entrypoint",
|
|
25591
|
+
symbol: "acqIntegrationTestWorkflow"
|
|
25592
|
+
},
|
|
25593
|
+
{
|
|
25594
|
+
path: "packages/elevasis-operations/src/diagnostics/inbound/integration-test-schema.ts",
|
|
25595
|
+
role: "schema"
|
|
25596
|
+
}
|
|
25597
|
+
],
|
|
25598
|
+
displayMetadata: {
|
|
25599
|
+
title: "INB Integration Test",
|
|
25600
|
+
description: "End-to-end integration test for the inbound sales pipeline: reply handler through booking and discovery stages."
|
|
25601
|
+
}
|
|
25602
|
+
},
|
|
25603
|
+
"organic-booking-diagnostic-workflow": {
|
|
25604
|
+
systemPath: "sales.crm"
|
|
25605
|
+
},
|
|
25606
|
+
"organic-booking-cleanup-workflow": {
|
|
25607
|
+
systemPath: "sales.crm"
|
|
25608
|
+
},
|
|
25609
|
+
"crm-timeout-checker-diagnostic-workflow": {
|
|
25610
|
+
systemPath: "sales.crm",
|
|
25611
|
+
codeRefs: [
|
|
25612
|
+
{
|
|
25613
|
+
path: "packages/elevasis-operations/src/diagnostics/inbound/timeout-checker-diagnostic.ts",
|
|
25614
|
+
role: "entrypoint",
|
|
25615
|
+
symbol: "crmTimeoutCheckerDiagnosticWorkflow"
|
|
25616
|
+
}
|
|
25617
|
+
],
|
|
25618
|
+
displayMetadata: {
|
|
25619
|
+
title: "CRM Timeout Checker Diagnostic",
|
|
25620
|
+
description: "Diagnostic for the pipeline timeout checker: simulates stale deals and verifies correct timeout-action dispatch."
|
|
25621
|
+
}
|
|
25622
|
+
},
|
|
25623
|
+
"ist-toolkit-diagnostic-workflow": {
|
|
25624
|
+
systemPath: "sales.lead-gen"
|
|
25625
|
+
},
|
|
25626
|
+
"ist-toolkit-diagnostic-orchestrator": {
|
|
25627
|
+
systemPath: "sales.lead-gen"
|
|
25628
|
+
},
|
|
25629
|
+
"ist-cross-batch-prompting-diagnostic-workflow": {
|
|
25630
|
+
systemPath: "sales.lead-gen"
|
|
25631
|
+
},
|
|
25632
|
+
"llm-diagnostic": {
|
|
25633
|
+
systemPath: "platform"
|
|
25634
|
+
},
|
|
25635
|
+
"execution-diagnostic": {
|
|
25636
|
+
systemPath: "platform"
|
|
25637
|
+
},
|
|
25638
|
+
"scheduler-diagnostic": {
|
|
25639
|
+
systemPath: "platform"
|
|
25640
|
+
},
|
|
25641
|
+
"storage-diagnostic": {
|
|
25642
|
+
systemPath: "platform"
|
|
25643
|
+
},
|
|
25644
|
+
"lead-diagnostic": {
|
|
25645
|
+
systemPath: "platform"
|
|
25646
|
+
},
|
|
25647
|
+
"email-diagnostic": {
|
|
25648
|
+
systemPath: "platform"
|
|
25649
|
+
},
|
|
25650
|
+
"approval-diagnostic": {
|
|
25651
|
+
systemPath: "platform"
|
|
25652
|
+
},
|
|
25653
|
+
"pdf-diagnostic": {
|
|
25654
|
+
systemPath: "platform"
|
|
25655
|
+
},
|
|
25656
|
+
"notification-diagnostic": {
|
|
25657
|
+
systemPath: "platform"
|
|
25658
|
+
},
|
|
25659
|
+
"notification-sequence-diagnostic": {
|
|
25660
|
+
systemPath: "platform"
|
|
25661
|
+
},
|
|
25662
|
+
echo: {
|
|
25663
|
+
systemPath: "platform",
|
|
25664
|
+
codeRefs: [
|
|
25665
|
+
{
|
|
25666
|
+
path: "packages/elevasis-operations/src/diagnostics/platform/echo-workflow.ts",
|
|
25667
|
+
role: "entrypoint",
|
|
25668
|
+
symbol: "echoWorkflow"
|
|
25669
|
+
}
|
|
25670
|
+
]
|
|
25671
|
+
},
|
|
25672
|
+
"migration-smoke": {
|
|
25673
|
+
systemPath: "platform"
|
|
25674
|
+
},
|
|
25675
|
+
"inb-01-instantly-reply-handler-workflow": {
|
|
25676
|
+
systemPath: "sales.crm",
|
|
25677
|
+
codeRefs: [
|
|
25678
|
+
{
|
|
25679
|
+
path: "packages/elevasis-operations/src/sales/outreach/reply/instantly-reply-handler.ts",
|
|
25680
|
+
role: "entrypoint",
|
|
25681
|
+
symbol: "instantlyReplyHandlerWorkflow"
|
|
25682
|
+
}
|
|
25683
|
+
],
|
|
25684
|
+
displayMetadata: {
|
|
25685
|
+
title: "INB-01 Instantly Reply Handler",
|
|
25686
|
+
description: "Entry handler for inbound Instantly replies: classifies intent, routes to booking or follow-up branches."
|
|
25687
|
+
}
|
|
25688
|
+
},
|
|
25689
|
+
"inb-01-booking-nudge-workflow": {
|
|
25690
|
+
systemPath: "sales.crm",
|
|
25691
|
+
contract: {
|
|
25692
|
+
input: "@repo/elevasis-core/contracts/booking-nudge#inputSchema"
|
|
25693
|
+
},
|
|
25694
|
+
codeRefs: [
|
|
25695
|
+
{
|
|
25696
|
+
path: "packages/elevasis-operations/src/sales/outreach/reply/booking-nudge.ts",
|
|
25697
|
+
role: "entrypoint",
|
|
25698
|
+
symbol: "bookingNudgeWorkflow"
|
|
25699
|
+
},
|
|
25700
|
+
{
|
|
25701
|
+
path: "packages/elevasis-operations/src/sales/outreach/reply/booking-nudge-schema.ts",
|
|
25702
|
+
role: "schema"
|
|
25703
|
+
}
|
|
25704
|
+
],
|
|
25705
|
+
displayMetadata: {
|
|
25706
|
+
title: "INB-01 Booking Nudge",
|
|
25707
|
+
description: "Send a scheduled nudge to prospects who received a booking link but have not yet booked."
|
|
25708
|
+
}
|
|
25709
|
+
},
|
|
25710
|
+
"inb-01-send-booking-reply-workflow": {
|
|
25711
|
+
systemPath: "sales.crm",
|
|
25712
|
+
codeRefs: [
|
|
25713
|
+
{
|
|
25714
|
+
path: "packages/elevasis-operations/src/sales/outreach/reply/send-booking-reply.ts",
|
|
25715
|
+
role: "entrypoint",
|
|
25716
|
+
symbol: "sendBookingReplyWorkflow"
|
|
25717
|
+
}
|
|
25718
|
+
],
|
|
25719
|
+
displayMetadata: {
|
|
25720
|
+
title: "INB-01 Send Booking Reply",
|
|
25721
|
+
description: "Send a booking-link reply to an interested Instantly lead and create or update the CRM deal."
|
|
25722
|
+
}
|
|
25723
|
+
},
|
|
25724
|
+
"inb-01-send-subsequent-reply-workflow": {
|
|
25725
|
+
systemPath: "sales.crm",
|
|
25726
|
+
codeRefs: [
|
|
25727
|
+
{
|
|
25728
|
+
path: "packages/elevasis-operations/src/sales/outreach/reply/send-subsequent-reply.ts",
|
|
25729
|
+
role: "entrypoint",
|
|
25730
|
+
symbol: "sendSubsequentReplyWorkflow"
|
|
25731
|
+
}
|
|
25732
|
+
],
|
|
25733
|
+
displayMetadata: {
|
|
25734
|
+
title: "INB-01 Send Subsequent Reply",
|
|
25735
|
+
description: "Send a follow-up reply for edge-case inbound threads that require a second outreach pass."
|
|
25736
|
+
}
|
|
25737
|
+
},
|
|
25738
|
+
"inb-02-discovery-reminder-workflow": {
|
|
25739
|
+
systemPath: "sales.crm",
|
|
25740
|
+
codeRefs: [
|
|
25741
|
+
{
|
|
25742
|
+
path: "packages/elevasis-operations/src/sales/crm/booking/discovery-reminder.ts",
|
|
25743
|
+
role: "entrypoint",
|
|
25744
|
+
symbol: "discoveryReminderWorkflow"
|
|
25745
|
+
}
|
|
25746
|
+
],
|
|
25747
|
+
displayMetadata: {
|
|
25748
|
+
title: "INB-02 Discovery Reminder",
|
|
25749
|
+
description: "Send a pre-discovery call reminder and attach any relevant context to the deal record."
|
|
25750
|
+
}
|
|
25751
|
+
},
|
|
25752
|
+
"cal-booking-revert-workflow": {
|
|
25753
|
+
systemPath: "sales.crm",
|
|
25754
|
+
codeRefs: [
|
|
25755
|
+
{
|
|
25756
|
+
path: "packages/elevasis-operations/src/sales/crm/booking/booking-revert.ts",
|
|
25757
|
+
role: "entrypoint",
|
|
25758
|
+
symbol: "bookingRevertWorkflow"
|
|
25759
|
+
}
|
|
25760
|
+
],
|
|
25761
|
+
displayMetadata: {
|
|
25762
|
+
title: "INB-02 Cal Booking Revert",
|
|
25763
|
+
description: "Revert a deal to the pre-booking state when a Cal.com booking is cancelled or rescheduled."
|
|
25764
|
+
}
|
|
25765
|
+
},
|
|
25766
|
+
"inb-02-booking-handler-workflow": {
|
|
25767
|
+
systemPath: "sales.crm",
|
|
25768
|
+
codeRefs: [
|
|
25769
|
+
{
|
|
25770
|
+
path: "packages/elevasis-operations/src/sales/crm/booking/booking-handler.ts",
|
|
25771
|
+
role: "entrypoint",
|
|
25772
|
+
symbol: "bookingHandlerWorkflow"
|
|
25773
|
+
}
|
|
25774
|
+
],
|
|
25775
|
+
displayMetadata: {
|
|
25776
|
+
title: "INB-02 Cal Booking Handler",
|
|
25777
|
+
description: "Handle an inbound Cal.com booking event: update deal stage, send confirmation, and schedule discovery reminder."
|
|
25778
|
+
}
|
|
25779
|
+
},
|
|
25780
|
+
"inb-02b-organic-booking-handler-workflow": {
|
|
25781
|
+
systemPath: "sales.crm",
|
|
25782
|
+
codeRefs: [
|
|
25783
|
+
{
|
|
25784
|
+
path: "packages/elevasis-operations/src/sales/crm/booking/organic-booking-handler.ts",
|
|
25785
|
+
role: "entrypoint",
|
|
25786
|
+
symbol: "organicBookingHandlerWorkflow"
|
|
25787
|
+
}
|
|
25788
|
+
],
|
|
25789
|
+
displayMetadata: {
|
|
25790
|
+
title: "INB-02B Organic Booking Handler",
|
|
25791
|
+
description: "Handle Cal.com bookings that originate outside the Instantly outreach funnel (website form, referral, etc.)."
|
|
25792
|
+
}
|
|
25793
|
+
},
|
|
25794
|
+
"inb-03-discovery-form-handler-workflow": {
|
|
25795
|
+
systemPath: "sales.crm",
|
|
25796
|
+
codeRefs: [
|
|
25797
|
+
{
|
|
25798
|
+
path: "packages/elevasis-operations/src/sales/qualification/discovery/discovery-form-handler.ts",
|
|
25799
|
+
role: "entrypoint",
|
|
25800
|
+
symbol: "discoveryFormHandlerWorkflow"
|
|
25801
|
+
}
|
|
25802
|
+
],
|
|
25803
|
+
displayMetadata: {
|
|
25804
|
+
title: "INB-03 Discovery Form Handler",
|
|
25805
|
+
description: "Process an inbound discovery form submission: enrich deal, score fit, and route to proposal or nurture."
|
|
25806
|
+
}
|
|
25807
|
+
},
|
|
25808
|
+
"discovery-form-revert-workflow": {
|
|
25809
|
+
systemPath: "sales.crm",
|
|
25810
|
+
codeRefs: [
|
|
25811
|
+
{
|
|
25812
|
+
path: "packages/elevasis-operations/src/sales/qualification/discovery/discovery-form-revert.ts",
|
|
25813
|
+
role: "entrypoint",
|
|
25814
|
+
symbol: "discoveryFormRevertWorkflow"
|
|
25815
|
+
}
|
|
25816
|
+
],
|
|
25817
|
+
displayMetadata: {
|
|
25818
|
+
title: "INB-03 Discovery Form Revert",
|
|
25819
|
+
description: "Revert a deal to the pre-discovery state when a discovery form submission must be rolled back."
|
|
25820
|
+
}
|
|
25821
|
+
},
|
|
25822
|
+
"inb-pipeline-timeout-nurture-workflow": {
|
|
25823
|
+
systemPath: "sales.crm",
|
|
25824
|
+
codeRefs: [
|
|
25825
|
+
{
|
|
25826
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
25827
|
+
role: "entrypoint",
|
|
25828
|
+
symbol: "timeoutNurtureWorkflow"
|
|
25829
|
+
}
|
|
25830
|
+
],
|
|
25831
|
+
displayMetadata: {
|
|
25832
|
+
title: "INB Pipeline Timeout: Nurture",
|
|
25833
|
+
description: "Timeout action for deals that have gone cold: move to nurturing and queue long-term follow-up."
|
|
25834
|
+
}
|
|
25835
|
+
},
|
|
25836
|
+
"inb-pipeline-timeout-close-lost-workflow": {
|
|
25837
|
+
systemPath: "sales.crm",
|
|
25838
|
+
codeRefs: [
|
|
25839
|
+
{
|
|
25840
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
25841
|
+
role: "entrypoint",
|
|
25842
|
+
symbol: "timeoutCloseLostWorkflow"
|
|
25843
|
+
}
|
|
25844
|
+
],
|
|
25845
|
+
displayMetadata: {
|
|
25846
|
+
title: "INB Pipeline Timeout: Close Lost",
|
|
25847
|
+
description: "Timeout action for deals that have exceeded the maximum pipeline age: auto-close as lost."
|
|
25848
|
+
}
|
|
25849
|
+
},
|
|
25850
|
+
"inb-pipeline-timeout-no-show-workflow": {
|
|
25851
|
+
systemPath: "sales.crm",
|
|
25852
|
+
codeRefs: [
|
|
25853
|
+
{
|
|
25854
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
25855
|
+
role: "entrypoint",
|
|
25856
|
+
symbol: "timeoutNoShowWorkflow"
|
|
25857
|
+
}
|
|
25858
|
+
],
|
|
25859
|
+
displayMetadata: {
|
|
25860
|
+
title: "INB Pipeline Timeout: No Show",
|
|
25861
|
+
description: "Timeout action for booked deals with no discovery form submitted: mark as no-show and trigger recovery."
|
|
25862
|
+
}
|
|
25863
|
+
},
|
|
25864
|
+
"inb-pipeline-timeout-followup-workflow": {
|
|
25865
|
+
systemPath: "sales.crm",
|
|
25866
|
+
codeRefs: [
|
|
25867
|
+
{
|
|
25868
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-actions.ts",
|
|
25869
|
+
role: "entrypoint",
|
|
25870
|
+
symbol: "timeoutFollowupWorkflow"
|
|
25871
|
+
}
|
|
25872
|
+
],
|
|
25873
|
+
displayMetadata: {
|
|
25874
|
+
title: "INB Pipeline Timeout: Follow-up",
|
|
25875
|
+
description: "Timeout action for deals stuck in the interested stage: send a follow-up nudge or escalate."
|
|
25876
|
+
}
|
|
25877
|
+
},
|
|
25878
|
+
"inb-pipeline-timeout-checker-workflow": {
|
|
25879
|
+
systemPath: "sales.crm",
|
|
25880
|
+
codeRefs: [
|
|
25881
|
+
{
|
|
25882
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/timeout-checker.ts",
|
|
25883
|
+
role: "entrypoint",
|
|
25884
|
+
symbol: "timeoutCheckerWorkflow"
|
|
25885
|
+
}
|
|
25886
|
+
],
|
|
25887
|
+
displayMetadata: {
|
|
25888
|
+
title: "INB Pipeline Timeout Checker",
|
|
25889
|
+
description: "Scheduled checker that scans the active deal pipeline for stage timeouts and dispatches timeout-action workflows."
|
|
25890
|
+
}
|
|
25891
|
+
},
|
|
25892
|
+
"inb-pipeline-unsubscribe-cleanup-workflow": {
|
|
25893
|
+
systemPath: "sales.crm",
|
|
25894
|
+
codeRefs: [
|
|
25895
|
+
{
|
|
25896
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/unsubscribe-cleanup.ts",
|
|
25897
|
+
role: "entrypoint",
|
|
25898
|
+
symbol: "unsubscribeCleanupWorkflow"
|
|
25899
|
+
}
|
|
25900
|
+
],
|
|
25901
|
+
displayMetadata: {
|
|
25902
|
+
title: "INB Unsubscribe Cleanup",
|
|
25903
|
+
description: "Remove unsubscribed contacts from the active pipeline and mark their deals closed-lost."
|
|
25904
|
+
}
|
|
25905
|
+
},
|
|
25906
|
+
"inb-full-cleanup-workflow": {
|
|
25907
|
+
systemPath: "sales.crm",
|
|
25908
|
+
codeRefs: [
|
|
25909
|
+
{
|
|
25910
|
+
path: "packages/elevasis-operations/src/sales/crm/pipeline/full-cleanup.ts",
|
|
25911
|
+
role: "entrypoint",
|
|
25912
|
+
symbol: "fullCleanupWorkflow"
|
|
25913
|
+
}
|
|
25914
|
+
],
|
|
25915
|
+
displayMetadata: {
|
|
25916
|
+
title: "INB Full Cleanup",
|
|
25917
|
+
description: "Full pipeline cleanup: archive stale deals, prune orphaned activities, and reset diagnostic test data."
|
|
25918
|
+
}
|
|
25919
|
+
},
|
|
25920
|
+
"lgn-01a-google-maps-scrape-workflow": {
|
|
25921
|
+
systemPath: "sales.lead-gen",
|
|
25922
|
+
ontology: {
|
|
25923
|
+
actions: ["sales.lead-gen:action/company.source"],
|
|
25924
|
+
primaryAction: "sales.lead-gen:action/company.source",
|
|
25925
|
+
writes: [leadGenCompany],
|
|
25926
|
+
usesCatalogs: [leadGenBuildTemplate, leadGenLocalServicesTemplateStep]
|
|
25927
|
+
},
|
|
25928
|
+
codeRefs: [
|
|
25929
|
+
{
|
|
25930
|
+
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apify-scrape.ts",
|
|
25931
|
+
role: "entrypoint",
|
|
25932
|
+
symbol: "ldsApifyScrapeWorkflow"
|
|
25933
|
+
}
|
|
25934
|
+
],
|
|
25935
|
+
displayMetadata: {
|
|
25936
|
+
title: "LGN-01A Google Maps Scrape",
|
|
25937
|
+
description: "Scrape local-services businesses from Google Maps via Apify and source companies into Lead DB."
|
|
25938
|
+
}
|
|
25939
|
+
},
|
|
25940
|
+
"lgn-01b-apify-acquire-workflow": {
|
|
25941
|
+
systemPath: "sales.lead-gen",
|
|
25942
|
+
ontology: {
|
|
25943
|
+
actions: ["sales.lead-gen:action/company.source"],
|
|
25944
|
+
primaryAction: "sales.lead-gen:action/company.source",
|
|
25945
|
+
writes: [leadGenCompany],
|
|
25946
|
+
usesCatalogs: [leadGenBuildTemplate, leadGenLocalServicesTemplateStep]
|
|
25947
|
+
},
|
|
25948
|
+
codeRefs: [
|
|
25949
|
+
{
|
|
25950
|
+
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apify-acquire.ts",
|
|
25951
|
+
role: "entrypoint",
|
|
25952
|
+
symbol: "ldsApifyAcquireWorkflow"
|
|
25953
|
+
}
|
|
25954
|
+
],
|
|
25955
|
+
displayMetadata: {
|
|
25956
|
+
title: "LGN-01B Apify Acquire",
|
|
25957
|
+
description: "Acquire and normalize Apify scrape results into Lead DB company records."
|
|
25958
|
+
}
|
|
25959
|
+
},
|
|
25960
|
+
"lgn-01c-apollo-import-workflow": {
|
|
25961
|
+
systemPath: "sales.lead-gen",
|
|
25962
|
+
ontology: {
|
|
25963
|
+
actions: ["sales.lead-gen:action/company.source"],
|
|
25964
|
+
primaryAction: "sales.lead-gen:action/company.source",
|
|
25965
|
+
writes: [leadGenCompany, leadGenContact],
|
|
25966
|
+
usesCatalogs: [leadGenBuildTemplate, leadGenDtcSubscriptionTemplateStep]
|
|
25967
|
+
},
|
|
25968
|
+
contract: {
|
|
25969
|
+
input: "@repo/elevasis-core/contracts/apollo-import#inputSchema"
|
|
25970
|
+
},
|
|
25971
|
+
codeRefs: [
|
|
25972
|
+
{
|
|
25973
|
+
path: "packages/elevasis-operations/src/sales/prospecting/scrape/apollo-import.ts",
|
|
25974
|
+
role: "entrypoint",
|
|
25975
|
+
symbol: "lgnApolloImportWorkflow"
|
|
25976
|
+
},
|
|
25977
|
+
{
|
|
25978
|
+
path: "packages/elevasis-operations/src/sales/prospecting/__tests__/apollo-import.test.ts",
|
|
25979
|
+
role: "test"
|
|
25980
|
+
}
|
|
25981
|
+
],
|
|
25982
|
+
displayMetadata: {
|
|
25983
|
+
title: "LGN-01C Apollo Import",
|
|
25984
|
+
description: "Import DTC subscription companies from Apollo search results into Lead DB"
|
|
25985
|
+
}
|
|
25986
|
+
},
|
|
25987
|
+
"lgn-02a-apify-website-crawl-workflow": {
|
|
25988
|
+
systemPath: "sales.lead-gen",
|
|
25989
|
+
ontology: {
|
|
25990
|
+
actions: ["sales.lead-gen:action/company.website-extract"],
|
|
25991
|
+
primaryAction: "sales.lead-gen:action/company.website-extract",
|
|
25992
|
+
reads: [leadGenCompany],
|
|
25993
|
+
writes: [leadGenCompany]
|
|
25994
|
+
},
|
|
25995
|
+
contract: {
|
|
25996
|
+
input: "@repo/elevasis-core/contracts/apify-website-crawl#apifyWebsiteCrawlInputSchema"
|
|
25997
|
+
},
|
|
25998
|
+
displayMetadata: {
|
|
25999
|
+
title: "LGN-02A Apify Website Crawl",
|
|
26000
|
+
description: "Crawl company websites via Apify and store page markdown for downstream LLM analysis."
|
|
26001
|
+
}
|
|
26002
|
+
},
|
|
26003
|
+
"lgn-02-website-extract-workflow": {
|
|
26004
|
+
systemPath: "sales.lead-gen",
|
|
26005
|
+
ontology: {
|
|
26006
|
+
actions: ["sales.lead-gen:action/company.website-extract"],
|
|
26007
|
+
primaryAction: "sales.lead-gen:action/company.website-extract",
|
|
26008
|
+
reads: [leadGenCompany],
|
|
26009
|
+
writes: [leadGenCompany, leadGenContact]
|
|
26010
|
+
},
|
|
26011
|
+
contract: {
|
|
26012
|
+
input: "@repo/elevasis-core/contracts/website-extract#websiteExtractInputSchema"
|
|
26013
|
+
},
|
|
26014
|
+
displayMetadata: {
|
|
26015
|
+
title: "LGN-02 Website Extract",
|
|
26016
|
+
description: "LLM extraction from raw crawled markdown for company signals, staff, emails, and downstream contacts."
|
|
26017
|
+
}
|
|
26018
|
+
},
|
|
26019
|
+
"lgn-website-extract-compare-workflow": {
|
|
26020
|
+
systemPath: "sales.lead-gen",
|
|
26021
|
+
codeRefs: [
|
|
26022
|
+
{
|
|
26023
|
+
path: "packages/elevasis-operations/src/sales/prospecting/extract/website-extract-compare.ts",
|
|
26024
|
+
role: "entrypoint",
|
|
26025
|
+
symbol: "lgnWebsiteExtractCompareWorkflow"
|
|
26026
|
+
}
|
|
26027
|
+
],
|
|
26028
|
+
displayMetadata: {
|
|
26029
|
+
title: "LGN Website Extract Compare",
|
|
26030
|
+
description: "A/B model comparison for website extraction LLM quality testing."
|
|
26031
|
+
}
|
|
26032
|
+
},
|
|
26033
|
+
"lgn-03-company-qualification-workflow": {
|
|
26034
|
+
systemPath: "sales.lead-gen",
|
|
26035
|
+
ontology: {
|
|
26036
|
+
actions: ["sales.lead-gen:action/company.qualify"],
|
|
26037
|
+
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
26038
|
+
reads: [leadGenCompany],
|
|
26039
|
+
writes: [leadGenCompany],
|
|
26040
|
+
usesCatalogs: [leadGenCompanyStage],
|
|
26041
|
+
emits: ["sales.lead-gen:event/company.qualified"]
|
|
26042
|
+
},
|
|
26043
|
+
codeRefs: [
|
|
26044
|
+
{
|
|
26045
|
+
path: "packages/elevasis-operations/src/sales/qualification/qualify/company-qualification.ts",
|
|
26046
|
+
role: "entrypoint",
|
|
26047
|
+
symbol: "ldsCompanyQualificationWorkflow"
|
|
26048
|
+
},
|
|
26049
|
+
{
|
|
26050
|
+
path: "packages/elevasis-operations/src/sales/qualification/qualify/__tests__/company-qualification.test.ts",
|
|
26051
|
+
role: "test"
|
|
26052
|
+
}
|
|
26053
|
+
],
|
|
26054
|
+
displayMetadata: {
|
|
26055
|
+
title: "LGN-03 Company Qualification",
|
|
26056
|
+
description: "LLM-based company qualification against ICP signals; marks companies qualified or filtered with reason."
|
|
26057
|
+
}
|
|
26058
|
+
},
|
|
26059
|
+
"lgn-03b-dtc-subscription-score-workflow": {
|
|
26060
|
+
systemPath: "sales.lead-gen",
|
|
26061
|
+
ontology: {
|
|
26062
|
+
actions: ["sales.lead-gen:action/company.qualify"],
|
|
26063
|
+
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
26064
|
+
reads: [leadGenCompany],
|
|
26065
|
+
writes: [leadGenCompany],
|
|
26066
|
+
usesCatalogs: [leadGenCompanyStage, leadGenDtcSubscriptionTemplateStep],
|
|
26067
|
+
emits: ["sales.lead-gen:event/company.qualified"]
|
|
26068
|
+
},
|
|
26069
|
+
contract: {
|
|
26070
|
+
input: "@repo/elevasis-core/contracts/dtc-subscription-score#dtcSubscriptionScoreInputSchema",
|
|
26071
|
+
output: "@repo/elevasis-core/contracts/dtc-subscription-score#outputSchema"
|
|
26072
|
+
},
|
|
26073
|
+
displayMetadata: {
|
|
26074
|
+
title: "LGN-03B DTC Subscription Score",
|
|
26075
|
+
description: "Score Apollo-imported brands for DTC subscription fit and mark qualified companies."
|
|
26076
|
+
}
|
|
26077
|
+
},
|
|
26078
|
+
"lgn-04-email-discovery-workflow": {
|
|
26079
|
+
systemPath: "sales.lead-gen",
|
|
26080
|
+
ontology: {
|
|
26081
|
+
actions: ["sales.lead-gen:action/contact.discover"],
|
|
26082
|
+
primaryAction: "sales.lead-gen:action/contact.discover",
|
|
26083
|
+
reads: [leadGenCompany],
|
|
26084
|
+
writes: [leadGenContact],
|
|
26085
|
+
usesCatalogs: [leadGenContactStage]
|
|
26086
|
+
},
|
|
26087
|
+
contract: {
|
|
26088
|
+
input: "@repo/elevasis-core/contracts/email-discovery#emailDiscoveryInputSchema"
|
|
26089
|
+
},
|
|
26090
|
+
displayMetadata: {
|
|
26091
|
+
title: "LGN-04 Email Discovery",
|
|
26092
|
+
description: "Unified email discovery: Tomba email lookup with AnyMailFinder fallback for qualified company contacts."
|
|
26093
|
+
}
|
|
26094
|
+
},
|
|
26095
|
+
"lgn-04b-apollo-decision-maker-enrich-workflow": {
|
|
26096
|
+
systemPath: "sales.lead-gen",
|
|
26097
|
+
ontology: {
|
|
26098
|
+
actions: ["sales.lead-gen:action/contact.discover"],
|
|
26099
|
+
primaryAction: "sales.lead-gen:action/contact.discover",
|
|
26100
|
+
reads: [leadGenCompany],
|
|
26101
|
+
writes: [leadGenContact],
|
|
26102
|
+
usesCatalogs: [leadGenContactStage]
|
|
26103
|
+
},
|
|
26104
|
+
contract: {
|
|
26105
|
+
input: "@repo/elevasis-core/contracts/apollo-decision-makers#apolloDecisionMakerEnrichInputSchema"
|
|
26106
|
+
},
|
|
26107
|
+
displayMetadata: {
|
|
26108
|
+
title: "LGN-04B Apollo Decision Makers",
|
|
26109
|
+
description: "Enrich qualified DTC companies with prioritized Apollo decision-maker contacts."
|
|
26110
|
+
}
|
|
26111
|
+
},
|
|
26112
|
+
"lgn-05-email-verification-workflow": {
|
|
26113
|
+
systemPath: "sales.lead-gen",
|
|
26114
|
+
ontology: {
|
|
26115
|
+
actions: ["sales.lead-gen:action/contact.verify-email"],
|
|
26116
|
+
primaryAction: "sales.lead-gen:action/contact.verify-email",
|
|
26117
|
+
reads: [leadGenContact],
|
|
26118
|
+
writes: [leadGenContact],
|
|
26119
|
+
usesCatalogs: [leadGenContactStage],
|
|
26120
|
+
emits: ["sales.lead-gen:event/contact.verified"]
|
|
26121
|
+
},
|
|
26122
|
+
contract: {
|
|
26123
|
+
input: "@repo/elevasis-core/contracts/email-verification#emailVerificationInputSchema"
|
|
26124
|
+
},
|
|
26125
|
+
displayMetadata: {
|
|
26126
|
+
title: "LGN-05 Email Verification",
|
|
26127
|
+
description: "Email verification via MillionVerifier with soft-delete for invalid or disposable emails."
|
|
26128
|
+
}
|
|
26129
|
+
},
|
|
26130
|
+
"lgn-06-export-list-workflow": {
|
|
26131
|
+
systemPath: "sales.lead-gen",
|
|
26132
|
+
ontology: {
|
|
26133
|
+
actions: ["sales.lead-gen:action/export.list"],
|
|
26134
|
+
primaryAction: "sales.lead-gen:action/export.list",
|
|
26135
|
+
reads: [leadGenCompany, leadGenContact, leadGenList],
|
|
26136
|
+
writes: [leadGenList],
|
|
26137
|
+
usesCatalogs: [
|
|
26138
|
+
leadGenBuildTemplate,
|
|
26139
|
+
leadGenLocalServicesTemplateStep,
|
|
26140
|
+
leadGenDtcSubscriptionTemplateStep,
|
|
26141
|
+
leadGenCompanyStage,
|
|
26142
|
+
leadGenContactStage,
|
|
26143
|
+
crmPipeline
|
|
26144
|
+
],
|
|
26145
|
+
emits: ["sales.lead-gen:event/list.exported"]
|
|
26146
|
+
},
|
|
26147
|
+
contract: {
|
|
26148
|
+
input: "@repo/elevasis-core/contracts/export-list#approvedLeadListExportInputSchema"
|
|
26149
|
+
},
|
|
26150
|
+
displayMetadata: {
|
|
26151
|
+
title: "LGN-06 Approved Lead List Export",
|
|
26152
|
+
description: "Build and finalize an export-ready approved lead list for qualified DTC subscription prospects."
|
|
26153
|
+
}
|
|
26154
|
+
},
|
|
26155
|
+
"lgn-import-workflow": {
|
|
26156
|
+
systemPath: "sales.lead-gen",
|
|
26157
|
+
ontology: {
|
|
26158
|
+
actions: ["sales.lead-gen:action/company.source"],
|
|
26159
|
+
primaryAction: "sales.lead-gen:action/company.source",
|
|
26160
|
+
writes: [leadGenCompany],
|
|
26161
|
+
usesCatalogs: [leadGenBuildTemplate, leadGenLocalServicesTemplateStep]
|
|
26162
|
+
},
|
|
26163
|
+
codeRefs: [
|
|
26164
|
+
{
|
|
26165
|
+
path: "packages/elevasis-operations/src/sales/prospecting/utilities/lead-import.ts",
|
|
26166
|
+
role: "entrypoint",
|
|
26167
|
+
symbol: "leadImportWorkflow"
|
|
26168
|
+
}
|
|
26169
|
+
],
|
|
26170
|
+
displayMetadata: {
|
|
26171
|
+
title: "LGN Lead Import",
|
|
26172
|
+
description: "Generic import entrypoint for sourcing companies into Lead DB from external batch inputs."
|
|
26173
|
+
}
|
|
26174
|
+
},
|
|
26175
|
+
"lgn-company-cleanup-workflow": {
|
|
26176
|
+
systemPath: "sales.lead-gen",
|
|
26177
|
+
ontology: {
|
|
26178
|
+
actions: ["sales.lead-gen:action/company.qualify"],
|
|
26179
|
+
primaryAction: "sales.lead-gen:action/company.qualify",
|
|
26180
|
+
reads: [leadGenCompany],
|
|
26181
|
+
writes: [leadGenCompany],
|
|
26182
|
+
usesCatalogs: [leadGenCompanyStage]
|
|
26183
|
+
},
|
|
26184
|
+
contract: {
|
|
26185
|
+
input: "@repo/elevasis-core/contracts/company-cleanup#companyCleanupInputSchema"
|
|
26186
|
+
},
|
|
26187
|
+
displayMetadata: {
|
|
26188
|
+
title: "LGN Company Cleanup",
|
|
26189
|
+
description: "Classify companies via LLM and delete irrelevant companies from Lead DB."
|
|
26190
|
+
}
|
|
26191
|
+
},
|
|
26192
|
+
"lgn-assign-to-list-workflow": {
|
|
26193
|
+
systemPath: "sales.lead-gen",
|
|
26194
|
+
codeRefs: [
|
|
26195
|
+
{
|
|
26196
|
+
path: "packages/elevasis-operations/src/sales/prospecting/utilities/assign-to-list.ts",
|
|
26197
|
+
role: "entrypoint",
|
|
26198
|
+
symbol: "lgnAssignToListWorkflow"
|
|
26199
|
+
}
|
|
26200
|
+
],
|
|
26201
|
+
displayMetadata: {
|
|
26202
|
+
title: "LGN Assign to List",
|
|
26203
|
+
description: "Assign qualified contacts to a target lead list for export and outreach handoff."
|
|
26204
|
+
}
|
|
26205
|
+
},
|
|
26206
|
+
"ist-upload-contacts-workflow": {
|
|
26207
|
+
systemPath: "sales.lead-gen",
|
|
26208
|
+
ontology: {
|
|
26209
|
+
actions: ["sales.lead-gen:action/export.list"],
|
|
26210
|
+
primaryAction: "sales.lead-gen:action/export.list",
|
|
26211
|
+
reads: [leadGenContact, leadGenList],
|
|
26212
|
+
writes: [leadGenList],
|
|
26213
|
+
usesCatalogs: [leadGenBuildTemplate],
|
|
26214
|
+
emits: ["sales.lead-gen:event/list.exported"]
|
|
26215
|
+
},
|
|
26216
|
+
codeRefs: [
|
|
26217
|
+
{
|
|
26218
|
+
path: "packages/elevasis-operations/src/sales/outreach/instantly/instantly-upload.ts",
|
|
26219
|
+
role: "entrypoint",
|
|
26220
|
+
symbol: "ldsInstantlyUploadWorkflow"
|
|
26221
|
+
}
|
|
26222
|
+
]
|
|
26223
|
+
},
|
|
26224
|
+
"ist-campaign-create-workflow": {
|
|
26225
|
+
systemPath: "sales.lead-gen",
|
|
26226
|
+
ontology: {
|
|
26227
|
+
actions: ["sales.lead-gen:action/campaign.create"],
|
|
26228
|
+
primaryAction: "sales.lead-gen:action/campaign.create",
|
|
26229
|
+
writes: [leadGenCampaign],
|
|
26230
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26231
|
+
}
|
|
26232
|
+
},
|
|
26233
|
+
"ist-analytics-workflow": {
|
|
26234
|
+
systemPath: "sales.lead-gen",
|
|
26235
|
+
ontology: {
|
|
26236
|
+
actions: ["sales.lead-gen:action/campaign.analyze"],
|
|
26237
|
+
primaryAction: "sales.lead-gen:action/campaign.analyze",
|
|
26238
|
+
reads: [leadGenCampaign],
|
|
26239
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26240
|
+
}
|
|
26241
|
+
},
|
|
26242
|
+
"ist-ab-suggest-workflow": {
|
|
26243
|
+
systemPath: "sales.lead-gen",
|
|
26244
|
+
ontology: {
|
|
26245
|
+
actions: ["sales.lead-gen:action/campaign.optimize"],
|
|
26246
|
+
primaryAction: "sales.lead-gen:action/campaign.optimize",
|
|
26247
|
+
reads: [leadGenCampaign],
|
|
26248
|
+
writes: [leadGenCampaign],
|
|
26249
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26250
|
+
}
|
|
26251
|
+
},
|
|
26252
|
+
"ist-personalization-workflow": {
|
|
26253
|
+
systemPath: "sales.lead-gen",
|
|
26254
|
+
ontology: {
|
|
26255
|
+
actions: ["sales.lead-gen:action/contact.personalize"],
|
|
26256
|
+
primaryAction: "sales.lead-gen:action/contact.personalize",
|
|
26257
|
+
reads: [leadGenContact],
|
|
26258
|
+
writes: [leadGenContact],
|
|
26259
|
+
usesCatalogs: [leadGenContactStage]
|
|
26260
|
+
},
|
|
26261
|
+
contract: {
|
|
26262
|
+
input: "@repo/elevasis-core/contracts/instantly-personalization#inputSchema"
|
|
26263
|
+
}
|
|
26264
|
+
},
|
|
26265
|
+
"ist-campaign-review-workflow": {
|
|
26266
|
+
systemPath: "sales.lead-gen",
|
|
26267
|
+
ontology: {
|
|
26268
|
+
actions: ["sales.lead-gen:action/campaign.analyze"],
|
|
26269
|
+
primaryAction: "sales.lead-gen:action/campaign.analyze",
|
|
26270
|
+
reads: [leadGenCampaign],
|
|
26271
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26272
|
+
}
|
|
26273
|
+
},
|
|
26274
|
+
"ist-cleanup-workflow": {
|
|
26275
|
+
systemPath: "sales.lead-gen",
|
|
26276
|
+
ontology: {
|
|
26277
|
+
actions: ["sales.lead-gen:action/campaign.delete"],
|
|
26278
|
+
primaryAction: "sales.lead-gen:action/campaign.delete",
|
|
26279
|
+
reads: [leadGenCampaign],
|
|
26280
|
+
writes: [leadGenCampaign],
|
|
26281
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26282
|
+
}
|
|
26283
|
+
},
|
|
26284
|
+
"ist-campaign-list-workflow": {
|
|
26285
|
+
systemPath: "sales.lead-gen",
|
|
26286
|
+
ontology: {
|
|
26287
|
+
actions: ["sales.lead-gen:action/campaign.sync-list"],
|
|
26288
|
+
primaryAction: "sales.lead-gen:action/campaign.sync-list",
|
|
26289
|
+
reads: [leadGenCampaign, leadGenContact],
|
|
26290
|
+
writes: [leadGenList],
|
|
26291
|
+
usesCatalogs: [leadGenBuildTemplate, leadGenCampaignStatus]
|
|
26292
|
+
}
|
|
26293
|
+
},
|
|
26294
|
+
"ist-campaign-delete-workflow": {
|
|
26295
|
+
systemPath: "sales.lead-gen",
|
|
26296
|
+
ontology: {
|
|
26297
|
+
actions: ["sales.lead-gen:action/campaign.delete"],
|
|
26298
|
+
primaryAction: "sales.lead-gen:action/campaign.delete",
|
|
26299
|
+
reads: [leadGenCampaign],
|
|
26300
|
+
writes: [leadGenCampaign],
|
|
26301
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26302
|
+
}
|
|
26303
|
+
},
|
|
26304
|
+
"ist-account-inventory-workflow": {
|
|
26305
|
+
systemPath: "sales.lead-gen",
|
|
26306
|
+
ontology: {
|
|
26307
|
+
actions: ["sales.lead-gen:action/campaign.analyze"],
|
|
26308
|
+
primaryAction: "sales.lead-gen:action/campaign.analyze",
|
|
26309
|
+
reads: [leadGenCampaign],
|
|
26310
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26311
|
+
}
|
|
26312
|
+
},
|
|
26313
|
+
"ist-campaign-pause-workflow": {
|
|
26314
|
+
systemPath: "sales.lead-gen",
|
|
26315
|
+
ontology: {
|
|
26316
|
+
actions: ["sales.lead-gen:action/campaign.pause"],
|
|
26317
|
+
primaryAction: "sales.lead-gen:action/campaign.pause",
|
|
26318
|
+
reads: [leadGenCampaign],
|
|
26319
|
+
writes: [leadGenCampaign],
|
|
26320
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26321
|
+
}
|
|
26322
|
+
},
|
|
26323
|
+
"ist-campaign-activate-workflow": {
|
|
26324
|
+
systemPath: "sales.lead-gen",
|
|
26325
|
+
ontology: {
|
|
26326
|
+
actions: ["sales.lead-gen:action/campaign.activate"],
|
|
26327
|
+
primaryAction: "sales.lead-gen:action/campaign.activate",
|
|
26328
|
+
reads: [leadGenCampaign],
|
|
26329
|
+
writes: [leadGenCampaign],
|
|
26330
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26331
|
+
}
|
|
26332
|
+
},
|
|
26333
|
+
"ist-campaign-update-accounts-workflow": {
|
|
26334
|
+
systemPath: "sales.lead-gen",
|
|
26335
|
+
ontology: {
|
|
26336
|
+
actions: ["sales.lead-gen:action/campaign.update"],
|
|
26337
|
+
primaryAction: "sales.lead-gen:action/campaign.update",
|
|
26338
|
+
reads: [leadGenCampaign],
|
|
26339
|
+
writes: [leadGenCampaign],
|
|
26340
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26341
|
+
}
|
|
26342
|
+
},
|
|
26343
|
+
"ist-update-lead-variables-workflow": {
|
|
26344
|
+
systemPath: "sales.lead-gen",
|
|
26345
|
+
ontology: {
|
|
26346
|
+
actions: ["sales.lead-gen:action/campaign.update"],
|
|
26347
|
+
primaryAction: "sales.lead-gen:action/campaign.update",
|
|
26348
|
+
reads: [leadGenCampaign],
|
|
26349
|
+
writes: [leadGenCampaign],
|
|
26350
|
+
usesCatalogs: [leadGenCampaignStatus]
|
|
26351
|
+
}
|
|
26352
|
+
},
|
|
26353
|
+
"mnt-reddit-monitor-workflow": {
|
|
26354
|
+
systemPath: "sales.lead-gen"
|
|
26355
|
+
},
|
|
26356
|
+
"mnt-reddit-scan-workflow": {
|
|
26357
|
+
systemPath: "sales.lead-gen"
|
|
26358
|
+
},
|
|
26359
|
+
"mnt-linkedin-monitor-workflow": {
|
|
26360
|
+
systemPath: "sales.lead-gen"
|
|
26361
|
+
},
|
|
26362
|
+
"website-form-intake-handler-workflow": {
|
|
26363
|
+
systemPath: "seo"
|
|
26364
|
+
},
|
|
26365
|
+
"grsi-change-request-workflow": {
|
|
26366
|
+
systemPath: "client-management"
|
|
26367
|
+
},
|
|
26368
|
+
"iss-submission-workflow": {
|
|
26369
|
+
systemPath: "client-management",
|
|
26370
|
+
ontology: {
|
|
26371
|
+
actions: ["client-management:action/support-issue.review"],
|
|
26372
|
+
primaryAction: "client-management:action/support-issue.review",
|
|
26373
|
+
writes: [clientSupportIssue],
|
|
26374
|
+
usesCatalogs: [clientSupportIssueSeverity],
|
|
26375
|
+
emits: ["client-management:event/support-issue.submitted"]
|
|
26376
|
+
}
|
|
26377
|
+
},
|
|
26378
|
+
"youtube-research-workflow": {
|
|
26379
|
+
systemPath: "platform"
|
|
26380
|
+
},
|
|
26381
|
+
"send-email-workflow": {
|
|
26382
|
+
systemPath: "platform"
|
|
26383
|
+
},
|
|
26384
|
+
"platform-status": {
|
|
26385
|
+
systemPath: "platform"
|
|
26386
|
+
},
|
|
26387
|
+
"deal-browse": {
|
|
26388
|
+
systemPath: "sales.crm"
|
|
26389
|
+
},
|
|
26390
|
+
"crm-send-reply-workflow": {
|
|
26391
|
+
systemPath: "sales.crm",
|
|
26392
|
+
ontology: {
|
|
26393
|
+
actions: ["sales.crm:action/deal.send-reply"],
|
|
26394
|
+
primaryAction: "sales.crm:action/deal.send-reply",
|
|
26395
|
+
reads: [crmDeal, crmContact],
|
|
26396
|
+
writes: [crmDeal]
|
|
26397
|
+
},
|
|
26398
|
+
codeRefs: [
|
|
26399
|
+
{
|
|
26400
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-reply.ts",
|
|
26401
|
+
role: "entrypoint",
|
|
26402
|
+
symbol: "sendReplyWorkflow"
|
|
26403
|
+
},
|
|
26404
|
+
crmActionWorkflowSchemaCodeRef
|
|
26405
|
+
],
|
|
26406
|
+
displayMetadata: {
|
|
26407
|
+
title: "CRM Send Reply",
|
|
26408
|
+
description: "Send a manual reply to an interested prospect via Instantly or Resend and record the CRM activity."
|
|
26409
|
+
}
|
|
26410
|
+
},
|
|
26411
|
+
"crm-reply-followup-workflow": {
|
|
26412
|
+
systemPath: "sales.crm",
|
|
26413
|
+
ontology: {
|
|
26414
|
+
actions: ["sales.crm:action/deal.send-reply"],
|
|
26415
|
+
primaryAction: "sales.crm:action/deal.send-reply",
|
|
26416
|
+
reads: [crmDeal, crmContact],
|
|
26417
|
+
writes: [crmDeal]
|
|
26418
|
+
},
|
|
26419
|
+
codeRefs: [
|
|
26420
|
+
{
|
|
26421
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/crm-reply-followup.ts",
|
|
26422
|
+
role: "entrypoint",
|
|
26423
|
+
symbol: "replyFollowupWorkflow"
|
|
26424
|
+
}
|
|
26425
|
+
],
|
|
26426
|
+
displayMetadata: {
|
|
26427
|
+
title: "CRM Reply Follow-up",
|
|
26428
|
+
description: "Send Day 3/5/7 scheduled follow-ups after a user-authored CRM reply in the interested stage."
|
|
26429
|
+
}
|
|
26430
|
+
},
|
|
26431
|
+
"crm-send-booking-link-workflow": {
|
|
26432
|
+
systemPath: "sales.crm",
|
|
26433
|
+
ontology: {
|
|
26434
|
+
actions: ["sales.crm:action/deal.send-booking-link"],
|
|
26435
|
+
primaryAction: "sales.crm:action/deal.send-booking-link",
|
|
26436
|
+
reads: [crmDeal, crmContact],
|
|
26437
|
+
writes: [crmDeal]
|
|
26438
|
+
},
|
|
26439
|
+
codeRefs: [
|
|
26440
|
+
{
|
|
26441
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-booking-link.ts",
|
|
26442
|
+
role: "entrypoint",
|
|
26443
|
+
symbol: "sendBookingLinkWorkflow"
|
|
26444
|
+
},
|
|
26445
|
+
crmActionWorkflowSchemaCodeRef
|
|
26446
|
+
],
|
|
26447
|
+
displayMetadata: {
|
|
26448
|
+
title: "CRM Send Booking Link",
|
|
26449
|
+
description: "Send a Cal.com booking link to an interested prospect and advance the deal state."
|
|
26450
|
+
}
|
|
26451
|
+
},
|
|
26452
|
+
"crm-send-nudge-workflow": {
|
|
26453
|
+
systemPath: "sales.crm",
|
|
26454
|
+
ontology: {
|
|
26455
|
+
actions: ["sales.crm:action/deal.send-nudge"],
|
|
26456
|
+
primaryAction: "sales.crm:action/deal.send-nudge",
|
|
26457
|
+
reads: [crmDeal, crmContact],
|
|
26458
|
+
writes: [crmDeal]
|
|
26459
|
+
},
|
|
26460
|
+
codeRefs: [
|
|
26461
|
+
{
|
|
26462
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/crm-send-nudge.ts",
|
|
26463
|
+
role: "entrypoint",
|
|
26464
|
+
symbol: "sendNudgeWorkflow"
|
|
26465
|
+
},
|
|
26466
|
+
crmActionWorkflowSchemaCodeRef
|
|
26467
|
+
],
|
|
26468
|
+
displayMetadata: {
|
|
26469
|
+
title: "CRM Send Nudge",
|
|
26470
|
+
description: "Send a scheduled nudge reminder to a prospect who has not yet booked after receiving a booking link."
|
|
26471
|
+
}
|
|
26472
|
+
},
|
|
26473
|
+
"crm-rebook-workflow": {
|
|
26474
|
+
systemPath: "sales.crm",
|
|
26475
|
+
ontology: {
|
|
26476
|
+
actions: ["sales.crm:action/deal.rebook"],
|
|
26477
|
+
primaryAction: "sales.crm:action/deal.rebook",
|
|
26478
|
+
reads: [crmDeal, crmContact],
|
|
26479
|
+
writes: [crmDeal]
|
|
26480
|
+
},
|
|
26481
|
+
codeRefs: [
|
|
26482
|
+
{
|
|
26483
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/crm-rebook.ts",
|
|
26484
|
+
role: "entrypoint",
|
|
26485
|
+
symbol: "rebookWorkflow"
|
|
26486
|
+
},
|
|
26487
|
+
crmActionWorkflowSchemaCodeRef
|
|
26488
|
+
],
|
|
26489
|
+
displayMetadata: {
|
|
26490
|
+
title: "CRM Rebook",
|
|
26491
|
+
description: "Re-send a booking link to a no-show or lapsed prospect and reset the deal state for a new booking attempt."
|
|
26492
|
+
}
|
|
26493
|
+
},
|
|
26494
|
+
"move_to_proposal-workflow": {
|
|
26495
|
+
systemPath: "sales.crm",
|
|
26496
|
+
ontology: {
|
|
26497
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26498
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26499
|
+
reads: [crmDeal],
|
|
26500
|
+
writes: [crmDeal],
|
|
26501
|
+
usesCatalogs: [crmPipeline],
|
|
26502
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26503
|
+
},
|
|
26504
|
+
codeRefs: [
|
|
26505
|
+
{
|
|
26506
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-proposal.ts",
|
|
26507
|
+
role: "entrypoint",
|
|
26508
|
+
symbol: "moveToProposalWorkflow"
|
|
26509
|
+
}
|
|
26510
|
+
],
|
|
26511
|
+
displayMetadata: {
|
|
26512
|
+
title: "CRM Move to Proposal",
|
|
26513
|
+
description: "Advance a qualified discovery deal to the proposal stage and trigger downstream proposal generation."
|
|
26514
|
+
}
|
|
26515
|
+
},
|
|
26516
|
+
"move_to_closing-workflow": {
|
|
26517
|
+
systemPath: "sales.crm",
|
|
26518
|
+
ontology: {
|
|
26519
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26520
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26521
|
+
reads: [crmDeal],
|
|
26522
|
+
writes: [crmDeal],
|
|
26523
|
+
usesCatalogs: [crmPipeline],
|
|
26524
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26525
|
+
},
|
|
26526
|
+
codeRefs: [
|
|
26527
|
+
{
|
|
26528
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closing.ts",
|
|
26529
|
+
role: "entrypoint",
|
|
26530
|
+
symbol: "moveToClosingWorkflow"
|
|
26531
|
+
},
|
|
26532
|
+
crmActionWorkflowSchemaCodeRef
|
|
26533
|
+
],
|
|
26534
|
+
displayMetadata: {
|
|
26535
|
+
title: "CRM Move to Closing",
|
|
26536
|
+
description: "Advance a proposal deal to the closing stage and record the stage transition activity."
|
|
26537
|
+
}
|
|
26538
|
+
},
|
|
26539
|
+
"move_to_closed_won-workflow": {
|
|
26540
|
+
systemPath: "sales.crm",
|
|
26541
|
+
ontology: {
|
|
26542
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26543
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26544
|
+
reads: [crmDeal],
|
|
26545
|
+
writes: [crmDeal],
|
|
26546
|
+
usesCatalogs: [crmPipeline],
|
|
26547
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26548
|
+
},
|
|
26549
|
+
codeRefs: [
|
|
26550
|
+
{
|
|
26551
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closed-won.ts",
|
|
26552
|
+
role: "entrypoint",
|
|
26553
|
+
symbol: "moveToClosedWonWorkflow"
|
|
26554
|
+
},
|
|
26555
|
+
crmActionWorkflowSchemaCodeRef
|
|
26556
|
+
],
|
|
26557
|
+
displayMetadata: {
|
|
26558
|
+
title: "CRM Close Won",
|
|
26559
|
+
description: "Mark a deal as closed-won, record the outcome, and trigger post-close onboarding steps."
|
|
26560
|
+
}
|
|
26561
|
+
},
|
|
26562
|
+
"move_to_closed_lost-workflow": {
|
|
26563
|
+
systemPath: "sales.crm",
|
|
26564
|
+
ontology: {
|
|
26565
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26566
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26567
|
+
reads: [crmDeal],
|
|
26568
|
+
writes: [crmDeal],
|
|
26569
|
+
usesCatalogs: [crmPipeline],
|
|
26570
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26571
|
+
},
|
|
26572
|
+
codeRefs: [
|
|
26573
|
+
{
|
|
26574
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-closed-lost.ts",
|
|
26575
|
+
role: "entrypoint",
|
|
26576
|
+
symbol: "moveToClosedLostWorkflow"
|
|
26577
|
+
},
|
|
26578
|
+
crmActionWorkflowSchemaCodeRef
|
|
26579
|
+
],
|
|
26580
|
+
displayMetadata: {
|
|
26581
|
+
title: "CRM Close Lost",
|
|
26582
|
+
description: "Mark a deal as closed-lost, record the reason, and archive the deal from the active pipeline."
|
|
26583
|
+
}
|
|
26584
|
+
},
|
|
26585
|
+
"move_to_nurturing-workflow": {
|
|
26586
|
+
systemPath: "sales.crm",
|
|
26587
|
+
ontology: {
|
|
26588
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26589
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26590
|
+
reads: [crmDeal],
|
|
26591
|
+
writes: [crmDeal],
|
|
26592
|
+
usesCatalogs: [crmPipeline],
|
|
26593
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26594
|
+
},
|
|
26595
|
+
codeRefs: [
|
|
26596
|
+
{
|
|
26597
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/move-to-nurturing.ts",
|
|
26598
|
+
role: "entrypoint",
|
|
26599
|
+
symbol: "moveToNurturingWorkflow"
|
|
26600
|
+
},
|
|
26601
|
+
crmActionWorkflowSchemaCodeRef
|
|
26602
|
+
],
|
|
26603
|
+
displayMetadata: {
|
|
26604
|
+
title: "CRM Move to Nurturing",
|
|
26605
|
+
description: "Move a stalled deal into the nurturing stage for long-term follow-up sequencing."
|
|
26606
|
+
}
|
|
26607
|
+
},
|
|
26608
|
+
"mark_no_show-workflow": {
|
|
26609
|
+
systemPath: "sales.crm",
|
|
26610
|
+
ontology: {
|
|
26611
|
+
actions: ["sales.crm:action/deal.update-stage"],
|
|
26612
|
+
primaryAction: "sales.crm:action/deal.update-stage",
|
|
26613
|
+
reads: [crmDeal],
|
|
26614
|
+
writes: [crmDeal],
|
|
26615
|
+
usesCatalogs: [crmPipeline],
|
|
26616
|
+
emits: ["sales.crm:event/deal.stage-changed"]
|
|
26617
|
+
},
|
|
26618
|
+
codeRefs: [
|
|
26619
|
+
{
|
|
26620
|
+
path: "packages/elevasis-operations/src/sales/crm/actions/mark-no-show.ts",
|
|
26621
|
+
role: "entrypoint",
|
|
26622
|
+
symbol: "markNoShowWorkflow"
|
|
26623
|
+
},
|
|
26624
|
+
{
|
|
26625
|
+
path: "packages/elevasis-operations/src/sales/crm/shared/action-workflow-schemas.ts",
|
|
26626
|
+
role: "schema",
|
|
26627
|
+
symbol: "ActionWorkflowInputSchema"
|
|
26628
|
+
}
|
|
26629
|
+
],
|
|
26630
|
+
displayMetadata: {
|
|
26631
|
+
title: "CRM Mark No Show",
|
|
26632
|
+
description: "Mark a booked deal as a no-show and transition it to the appropriate recovery state."
|
|
26633
|
+
}
|
|
26634
|
+
}
|
|
26635
|
+
};
|
|
26636
|
+
function titleFromResourceId(resourceId) {
|
|
26637
|
+
return resourceId.replace(/-workflow$/, "").replace(/[-_]+/g, " ").replace(/\b\w/g, (character) => character.toUpperCase());
|
|
26638
|
+
}
|
|
26639
|
+
var platformWorkflowResources = Object.entries(platformWorkflowResourceDefinitions).map(
|
|
26640
|
+
([id, { systemPath: systemPath2, ontology, contract, codeRefs, displayMetadata }], index) => {
|
|
26641
|
+
const ontologyWithContract = ontology !== void 0 || contract !== void 0 ? {
|
|
26642
|
+
...ontology ?? {},
|
|
26643
|
+
...contract ? { contract } : {}
|
|
26644
|
+
} : void 0;
|
|
26645
|
+
const title = displayMetadata?.title ?? titleFromResourceId(id);
|
|
26646
|
+
return {
|
|
26647
|
+
id,
|
|
26648
|
+
order: (index + 1) * 10,
|
|
26649
|
+
kind: "workflow",
|
|
26650
|
+
systemPath: systemPath2,
|
|
26651
|
+
title,
|
|
26652
|
+
description: displayMetadata?.description ?? `Workflow resource for ${title}.`,
|
|
26653
|
+
ownerRoleId: getPlatformOwnerRoleId(systemPath2),
|
|
26654
|
+
status: "active",
|
|
26655
|
+
...codeRefs ? { codeRefs } : {},
|
|
26656
|
+
...ontologyWithContract ? { ontology: ontologyWithContract } : {}
|
|
26657
|
+
};
|
|
26658
|
+
}
|
|
26659
|
+
);
|
|
26660
|
+
var platformIntegrationResources = [
|
|
26661
|
+
{
|
|
26662
|
+
id: "inb-attio-integration",
|
|
26663
|
+
order: 10,
|
|
26664
|
+
kind: "integration",
|
|
26665
|
+
systemPath: "sales.crm",
|
|
26666
|
+
status: "active",
|
|
26667
|
+
codeRefs: [
|
|
26668
|
+
{
|
|
26669
|
+
path: "packages/elevasis-operations/src/metadata.ts",
|
|
26670
|
+
role: "config",
|
|
26671
|
+
symbol: "integrations"
|
|
26672
|
+
}
|
|
26673
|
+
],
|
|
26674
|
+
provider: "attio"
|
|
26675
|
+
},
|
|
26676
|
+
{
|
|
26677
|
+
id: "inb-instantly-integration",
|
|
26678
|
+
order: 20,
|
|
26679
|
+
kind: "integration",
|
|
26680
|
+
systemPath: "sales.lead-gen",
|
|
26681
|
+
status: "active",
|
|
26682
|
+
codeRefs: [
|
|
26683
|
+
{
|
|
26684
|
+
path: "packages/elevasis-operations/src/metadata.ts",
|
|
26685
|
+
role: "config",
|
|
26686
|
+
symbol: "integrations"
|
|
26687
|
+
}
|
|
26688
|
+
],
|
|
26689
|
+
provider: "instantly"
|
|
26690
|
+
},
|
|
26691
|
+
{
|
|
26692
|
+
id: "integration-resend-elevasis",
|
|
26693
|
+
order: 30,
|
|
26694
|
+
kind: "integration",
|
|
26695
|
+
systemPath: "sales.crm",
|
|
26696
|
+
status: "active",
|
|
26697
|
+
codeRefs: [
|
|
26698
|
+
{
|
|
26699
|
+
path: "packages/elevasis-operations/src/metadata.ts",
|
|
26700
|
+
role: "config",
|
|
26701
|
+
symbol: "integrations"
|
|
26702
|
+
}
|
|
26703
|
+
],
|
|
26704
|
+
provider: "resend"
|
|
26705
|
+
},
|
|
26706
|
+
{
|
|
26707
|
+
id: "integration-apify-elevasis",
|
|
26708
|
+
order: 40,
|
|
26709
|
+
kind: "integration",
|
|
26710
|
+
systemPath: "sales.lead-gen",
|
|
26711
|
+
status: "active",
|
|
26712
|
+
codeRefs: [
|
|
26713
|
+
{
|
|
26714
|
+
path: "packages/elevasis-operations/src/metadata.ts",
|
|
26715
|
+
role: "config",
|
|
26716
|
+
symbol: "integrations"
|
|
26717
|
+
}
|
|
26718
|
+
],
|
|
26719
|
+
provider: "apify"
|
|
26720
|
+
},
|
|
26721
|
+
{
|
|
26722
|
+
id: "integration-apollo-elevasis",
|
|
26723
|
+
order: 50,
|
|
26724
|
+
kind: "integration",
|
|
26725
|
+
systemPath: "sales.lead-gen",
|
|
26726
|
+
status: "active",
|
|
26727
|
+
codeRefs: [
|
|
26728
|
+
{
|
|
26729
|
+
path: "packages/elevasis-operations/src/metadata.ts",
|
|
26730
|
+
role: "config",
|
|
26731
|
+
symbol: "integrations"
|
|
26732
|
+
}
|
|
26733
|
+
],
|
|
26734
|
+
provider: "apollo"
|
|
26735
|
+
}
|
|
26736
|
+
];
|
|
26737
|
+
var platformIntegrationResourcesWithOwners = platformIntegrationResources.map((resource2) => ({
|
|
26738
|
+
...resource2,
|
|
26739
|
+
ownerRoleId: getPlatformOwnerRoleId(resource2.systemPath)
|
|
26740
|
+
}));
|
|
26741
|
+
var platformResourceDescriptors = defineResources(
|
|
26742
|
+
Object.fromEntries(
|
|
26743
|
+
[
|
|
26744
|
+
...platformWorkflowResources,
|
|
26745
|
+
...platformIntegrationResourcesWithOwners,
|
|
26746
|
+
{
|
|
26747
|
+
id: "command-center-assistant",
|
|
26748
|
+
order: 1e4,
|
|
26749
|
+
kind: "agent",
|
|
26750
|
+
systemPath: "platform.projects",
|
|
26751
|
+
ownerRoleId: "role.operator",
|
|
26752
|
+
actsAsRoleId: "role.operator",
|
|
26753
|
+
status: "active",
|
|
26754
|
+
codeRefs: [
|
|
26755
|
+
{
|
|
26756
|
+
path: "apps/api/src/resources/command-center-assistant/definition.ts",
|
|
26757
|
+
role: "entrypoint",
|
|
26758
|
+
symbol: "commandCenterAssistantDefinition"
|
|
26759
|
+
},
|
|
26760
|
+
{
|
|
26761
|
+
path: "apps/api/src/resources/index.ts",
|
|
26762
|
+
role: "config",
|
|
26763
|
+
symbol: "registerSystemResources"
|
|
26764
|
+
}
|
|
26765
|
+
],
|
|
26766
|
+
agentKind: "platform",
|
|
26767
|
+
sessionCapable: true,
|
|
26768
|
+
invocations: [
|
|
26769
|
+
{ kind: "slash-command", command: "/help" },
|
|
26770
|
+
{ kind: "slash-command", command: "/work" }
|
|
26771
|
+
]
|
|
26772
|
+
}
|
|
26773
|
+
].map((resource2) => [resource2.id, resource2])
|
|
26774
|
+
)
|
|
26775
|
+
);
|
|
26776
|
+
Object.values(platformResourceDescriptors);
|
|
26777
|
+
Object.fromEntries(
|
|
26778
|
+
Object.values(platformResourceDescriptors).flatMap(
|
|
26779
|
+
(resource2) => resource2.ontology === void 0 ? [] : [[resource2.id, resource2.ontology]]
|
|
26780
|
+
)
|
|
26781
|
+
);
|
|
26782
|
+
|
|
26504
26783
|
// ../elevasis-core/src/organization-model/topology.ts
|
|
26505
26784
|
function resource(resourceId) {
|
|
26506
26785
|
const descriptor = platformResourceDescriptors[resourceId];
|
|
@@ -26674,29 +26953,6 @@ var platformTopology = defineTopology(
|
|
|
26674
26953
|
);
|
|
26675
26954
|
|
|
26676
26955
|
// ../elevasis-core/src/organization-model/assembly.ts
|
|
26677
|
-
function assignResponsibleRoles(systems) {
|
|
26678
|
-
function roleFor(systemId) {
|
|
26679
|
-
if (systemId === "sales.lead-gen") return "role.growth-operator";
|
|
26680
|
-
if (systemId === "sales.crm") return "role.crm-operator";
|
|
26681
|
-
if (systemId === "seo") return "role.website-operator";
|
|
26682
|
-
if (systemId === "client-management") return "role.client-support-operator";
|
|
26683
|
-
return "role.operator";
|
|
26684
|
-
}
|
|
26685
|
-
function applyToMap(map, prefix = "") {
|
|
26686
|
-
return Object.fromEntries(
|
|
26687
|
-
Object.entries(map).map(([key, system]) => [
|
|
26688
|
-
key,
|
|
26689
|
-
{
|
|
26690
|
-
...system,
|
|
26691
|
-
responsibleRoleId: roleFor(prefix ? `${prefix}.${key}` : key),
|
|
26692
|
-
...system.systems ? { systems: applyToMap(system.systems, prefix ? `${prefix}.${key}` : key) } : {},
|
|
26693
|
-
...system.subsystems ? { subsystems: applyToMap(system.subsystems, prefix ? `${prefix}.${key}` : key) } : {}
|
|
26694
|
-
}
|
|
26695
|
-
])
|
|
26696
|
-
);
|
|
26697
|
-
}
|
|
26698
|
-
return applyToMap(systems);
|
|
26699
|
-
}
|
|
26700
26956
|
var canonicalOrganizationModel = resolveOrganizationModel(
|
|
26701
26957
|
{
|
|
26702
26958
|
version: 1,
|
|
@@ -26720,7 +26976,7 @@ var canonicalOrganizationModel = resolveOrganizationModel(
|
|
|
26720
26976
|
navigation: platformNavigation,
|
|
26721
26977
|
identity: platformIdentity,
|
|
26722
26978
|
roles: platformRoles,
|
|
26723
|
-
systems:
|
|
26979
|
+
systems: platformSystems,
|
|
26724
26980
|
actions: ELEVASIS_DEFAULT_ORGANIZATION_MODEL_ACTIONS,
|
|
26725
26981
|
entities: ELEVASIS_ORGANIZATION_MODEL_ENTITIES,
|
|
26726
26982
|
resources: platformResourceDescriptors,
|
|
@@ -43862,12 +44118,6 @@ function SessionDetailsSidebar({
|
|
|
43862
44118
|
setIsDeleting(false);
|
|
43863
44119
|
}
|
|
43864
44120
|
};
|
|
43865
|
-
const handleArchive = () => {
|
|
43866
|
-
console.log("Archive session:", session.sessionId);
|
|
43867
|
-
};
|
|
43868
|
-
const handleExport = () => {
|
|
43869
|
-
console.log("Export session:", session.sessionId);
|
|
43870
|
-
};
|
|
43871
44121
|
const handleSaveInstructions = async () => {
|
|
43872
44122
|
setIsSavingInstructions(true);
|
|
43873
44123
|
try {
|
|
@@ -44045,38 +44295,7 @@ function SessionDetailsSidebar({
|
|
|
44045
44295
|
] })
|
|
44046
44296
|
] })
|
|
44047
44297
|
] });
|
|
44048
|
-
})()
|
|
44049
|
-
/* @__PURE__ */ jsx(Divider, {}),
|
|
44050
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
44051
|
-
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", fw: 600, tt: "uppercase", mb: 8, children: "Actions" }),
|
|
44052
|
-
/* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
|
|
44053
|
-
/* @__PURE__ */ jsxs(
|
|
44054
|
-
Button,
|
|
44055
|
-
{
|
|
44056
|
-
size: "sm",
|
|
44057
|
-
variant: "light",
|
|
44058
|
-
leftSection: /* @__PURE__ */ jsx(IconArchive, { size: 16 }),
|
|
44059
|
-
onClick: handleArchive,
|
|
44060
|
-
fullWidth: true,
|
|
44061
|
-
children: [
|
|
44062
|
-
session.isEnded ? "Reopen" : "End",
|
|
44063
|
-
" Session"
|
|
44064
|
-
]
|
|
44065
|
-
}
|
|
44066
|
-
),
|
|
44067
|
-
/* @__PURE__ */ jsx(
|
|
44068
|
-
Button,
|
|
44069
|
-
{
|
|
44070
|
-
size: "sm",
|
|
44071
|
-
variant: "light",
|
|
44072
|
-
leftSection: /* @__PURE__ */ jsx(IconDownload, { size: 16 }),
|
|
44073
|
-
onClick: handleExport,
|
|
44074
|
-
fullWidth: true,
|
|
44075
|
-
children: "Export Session"
|
|
44076
|
-
}
|
|
44077
|
-
)
|
|
44078
|
-
] })
|
|
44079
|
-
] })
|
|
44298
|
+
})()
|
|
44080
44299
|
] }) }),
|
|
44081
44300
|
/* @__PURE__ */ jsx("div", { style: { borderTop: "1px solid var(--color-border)", padding: "var(--mantine-spacing-md)" }, children: /* @__PURE__ */ jsx(
|
|
44082
44301
|
Button,
|
|
@@ -49676,7 +49895,7 @@ function TrailingCopySlot({ command, label, showCopy, favorite, hovered }) {
|
|
|
49676
49895
|
var indexPromise = null;
|
|
49677
49896
|
function loadSearchIndex() {
|
|
49678
49897
|
if (!indexPromise) {
|
|
49679
|
-
indexPromise = import('./knowledge-search-index-
|
|
49898
|
+
indexPromise = import('./knowledge-search-index-MHOBQTT3.js').then(
|
|
49680
49899
|
(mod) => buildSearchIndex(mod.default ?? mod)
|
|
49681
49900
|
);
|
|
49682
49901
|
}
|