@elevasis/sdk 1.17.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +587 -175
- package/dist/index.d.ts +555 -83
- package/dist/index.js +1219 -66
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.js +34 -1
- package/dist/test-utils/index.d.ts +128 -81
- package/dist/test-utils/index.js +2007 -668
- package/dist/types/worker/index.d.ts +3 -2
- package/dist/worker/index.js +1507 -2
- package/package.json +2 -2
- package/reference/claude-config/registries/graph-skills.json +4 -0
- package/reference/claude-config/rules/package-taxonomy.md +33 -0
- package/reference/claude-config/rules/vibe.md +23 -0
- package/reference/claude-config/skills/knowledge/SKILL.md +46 -13
- package/reference/claude-config/skills/project/SKILL.md +21 -0
- package/reference/claude-config/skills/tutorial/SKILL.md +13 -3
- package/reference/claude-config/skills/tutorial/technical.md +6 -8
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -0
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -0
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -0
- package/reference/scaffold/reference/contracts.md +89 -69
- package/reference/scaffold/reference/feature-registry.md +1 -1
- package/reference/spine/spine-primer.md +99 -0
package/dist/node/index.d.ts
CHANGED
|
@@ -9,12 +9,15 @@ interface KnowledgeCodegenNode {
|
|
|
9
9
|
links: {
|
|
10
10
|
nodeId: string;
|
|
11
11
|
}[];
|
|
12
|
+
skills: string[];
|
|
13
|
+
domain?: string;
|
|
12
14
|
ownerIds: string[];
|
|
13
15
|
updatedAt: string;
|
|
14
16
|
}
|
|
15
17
|
interface GenerateKnowledgeNodesOptions {
|
|
16
18
|
sourceDir: string;
|
|
17
19
|
outputPath: string;
|
|
20
|
+
graphSkillsOutputPath?: string;
|
|
18
21
|
typeImportPath?: string;
|
|
19
22
|
exportedName?: string;
|
|
20
23
|
sourceLabel?: string;
|
package/dist/node/index.js
CHANGED
|
@@ -79,10 +79,35 @@ function readKnowledgeNodeMdx(filePath) {
|
|
|
79
79
|
icon: optionalString(frontmatter, "icon", filePath),
|
|
80
80
|
body,
|
|
81
81
|
links: optionalStringArray(frontmatter, "links", filePath).map((nodeId) => ({ nodeId })),
|
|
82
|
+
skills: optionalStringArray(frontmatter, "skills", filePath),
|
|
83
|
+
domain: optionalString(frontmatter, "domain", filePath),
|
|
82
84
|
ownerIds: optionalStringArray(frontmatter, "ownerIds", filePath),
|
|
83
85
|
updatedAt: assertString(frontmatter, "updatedAt", filePath)
|
|
84
86
|
};
|
|
85
87
|
}
|
|
88
|
+
function generateGraphSkillsRegistry(nodes) {
|
|
89
|
+
const domains = {};
|
|
90
|
+
for (const node of nodes) {
|
|
91
|
+
if (!node.domain) continue;
|
|
92
|
+
const domain = domains[node.domain] ?? { skills: [], nodes: [] };
|
|
93
|
+
const skills = [...new Set(node.skills)].sort((a, b) => a.localeCompare(b));
|
|
94
|
+
domain.nodes.push({
|
|
95
|
+
id: node.id,
|
|
96
|
+
title: node.title,
|
|
97
|
+
kind: node.kind,
|
|
98
|
+
skills
|
|
99
|
+
});
|
|
100
|
+
domain.skills = [.../* @__PURE__ */ new Set([...domain.skills, ...skills])].sort((a, b) => a.localeCompare(b));
|
|
101
|
+
domains[node.domain] = domain;
|
|
102
|
+
}
|
|
103
|
+
for (const domain of Object.values(domains)) {
|
|
104
|
+
domain.nodes.sort((a, b) => a.id.localeCompare(b.id));
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
generatedBy: "generate-knowledge-nodes",
|
|
108
|
+
domains: Object.fromEntries(Object.entries(domains).sort(([a], [b]) => a.localeCompare(b)))
|
|
109
|
+
};
|
|
110
|
+
}
|
|
86
111
|
function generateKnowledgeNodesTs(options) {
|
|
87
112
|
const exportedName = options.exportedName ?? "mdxKnowledgeNodes";
|
|
88
113
|
const typeImport = options.typeImportPath ? [`import type { OrgKnowledgeNode } from '${options.typeImportPath}'`, ""] : [];
|
|
@@ -118,6 +143,15 @@ function generateKnowledgeNodes(options) {
|
|
|
118
143
|
}),
|
|
119
144
|
"utf8"
|
|
120
145
|
);
|
|
146
|
+
if (options.graphSkillsOutputPath) {
|
|
147
|
+
mkdirSync(dirname(options.graphSkillsOutputPath), { recursive: true });
|
|
148
|
+
writeFileSync(
|
|
149
|
+
options.graphSkillsOutputPath,
|
|
150
|
+
`${JSON.stringify(generateGraphSkillsRegistry(nodes), null, 2)}
|
|
151
|
+
`,
|
|
152
|
+
"utf8"
|
|
153
|
+
);
|
|
154
|
+
}
|
|
121
155
|
return { nodes, outputPath: options.outputPath };
|
|
122
156
|
}
|
|
123
157
|
var ALLOWED_COMPONENTS = /* @__PURE__ */ new Set(["Card", "Cards", "Step", "Steps", "Callout", "Tab", "Tabs"]);
|
|
@@ -181,7 +215,6 @@ var FACTORY_BLOCK = [
|
|
|
181
215
|
" * to be { Fragment, jsx, jsxs } from react/jsx-runtime.",
|
|
182
216
|
" */",
|
|
183
217
|
"function makeKnowledgeComponent(fnBody: string): ComponentType<KnowledgeBodyProps> {",
|
|
184
|
-
" // eslint-disable-next-line @typescript-eslint/no-implied-eval",
|
|
185
218
|
" const factory = new Function(fnBody) as (runtime: MDXRuntime) => { default: ComponentType }",
|
|
186
219
|
" return function KnowledgeBody(props: KnowledgeBodyProps) {",
|
|
187
220
|
" const runtime = { Fragment, jsx, jsxs, ...props } as unknown as MDXRuntime",
|
|
@@ -965,7 +965,7 @@ type Database = {
|
|
|
965
965
|
name: string;
|
|
966
966
|
num_employees: number | null;
|
|
967
967
|
organization_id: string;
|
|
968
|
-
|
|
968
|
+
processing_state: Json;
|
|
969
969
|
qualification_rubric_key: string | null;
|
|
970
970
|
qualification_score: number | null;
|
|
971
971
|
qualification_signals: Json | null;
|
|
@@ -991,7 +991,7 @@ type Database = {
|
|
|
991
991
|
name: string;
|
|
992
992
|
num_employees?: number | null;
|
|
993
993
|
organization_id: string;
|
|
994
|
-
|
|
994
|
+
processing_state?: Json;
|
|
995
995
|
qualification_rubric_key?: string | null;
|
|
996
996
|
qualification_score?: number | null;
|
|
997
997
|
qualification_signals?: Json | null;
|
|
@@ -1017,7 +1017,7 @@ type Database = {
|
|
|
1017
1017
|
name?: string;
|
|
1018
1018
|
num_employees?: number | null;
|
|
1019
1019
|
organization_id?: string;
|
|
1020
|
-
|
|
1020
|
+
processing_state?: Json;
|
|
1021
1021
|
qualification_rubric_key?: string | null;
|
|
1022
1022
|
qualification_score?: number | null;
|
|
1023
1023
|
qualification_signals?: Json | null;
|
|
@@ -1056,7 +1056,7 @@ type Database = {
|
|
|
1056
1056
|
nurture: boolean;
|
|
1057
1057
|
opening_line: string | null;
|
|
1058
1058
|
organization_id: string;
|
|
1059
|
-
|
|
1059
|
+
processing_state: Json;
|
|
1060
1060
|
qualification_rubric_key: string | null;
|
|
1061
1061
|
qualification_score: number | null;
|
|
1062
1062
|
qualification_signals: Json | null;
|
|
@@ -1084,7 +1084,7 @@ type Database = {
|
|
|
1084
1084
|
nurture?: boolean;
|
|
1085
1085
|
opening_line?: string | null;
|
|
1086
1086
|
organization_id: string;
|
|
1087
|
-
|
|
1087
|
+
processing_state?: Json;
|
|
1088
1088
|
qualification_rubric_key?: string | null;
|
|
1089
1089
|
qualification_score?: number | null;
|
|
1090
1090
|
qualification_signals?: Json | null;
|
|
@@ -1112,7 +1112,7 @@ type Database = {
|
|
|
1112
1112
|
nurture?: boolean;
|
|
1113
1113
|
opening_line?: string | null;
|
|
1114
1114
|
organization_id?: string;
|
|
1115
|
-
|
|
1115
|
+
processing_state?: Json;
|
|
1116
1116
|
qualification_rubric_key?: string | null;
|
|
1117
1117
|
qualification_score?: number | null;
|
|
1118
1118
|
qualification_signals?: Json | null;
|
|
@@ -1508,7 +1508,6 @@ type Database = {
|
|
|
1508
1508
|
id: string;
|
|
1509
1509
|
list_id: string;
|
|
1510
1510
|
pipeline_key: string;
|
|
1511
|
-
processing_state: Json;
|
|
1512
1511
|
source_execution_id: string | null;
|
|
1513
1512
|
source_input_hash: string | null;
|
|
1514
1513
|
source_resource_id: string | null;
|
|
@@ -1523,7 +1522,6 @@ type Database = {
|
|
|
1523
1522
|
id?: string;
|
|
1524
1523
|
list_id: string;
|
|
1525
1524
|
pipeline_key?: string;
|
|
1526
|
-
processing_state?: Json;
|
|
1527
1525
|
source_execution_id?: string | null;
|
|
1528
1526
|
source_input_hash?: string | null;
|
|
1529
1527
|
source_resource_id?: string | null;
|
|
@@ -1538,7 +1536,6 @@ type Database = {
|
|
|
1538
1536
|
id?: string;
|
|
1539
1537
|
list_id?: string;
|
|
1540
1538
|
pipeline_key?: string;
|
|
1541
|
-
processing_state?: Json;
|
|
1542
1539
|
source_execution_id?: string | null;
|
|
1543
1540
|
source_input_hash?: string | null;
|
|
1544
1541
|
source_resource_id?: string | null;
|
|
@@ -1617,7 +1614,6 @@ type Database = {
|
|
|
1617
1614
|
id: string;
|
|
1618
1615
|
list_id: string;
|
|
1619
1616
|
pipeline_key: string;
|
|
1620
|
-
processing_state: Json;
|
|
1621
1617
|
source_execution_id: string | null;
|
|
1622
1618
|
source_input_hash: string | null;
|
|
1623
1619
|
source_resource_id: string | null;
|
|
@@ -1632,7 +1628,6 @@ type Database = {
|
|
|
1632
1628
|
id?: string;
|
|
1633
1629
|
list_id: string;
|
|
1634
1630
|
pipeline_key?: string;
|
|
1635
|
-
processing_state?: Json;
|
|
1636
1631
|
source_execution_id?: string | null;
|
|
1637
1632
|
source_input_hash?: string | null;
|
|
1638
1633
|
source_resource_id?: string | null;
|
|
@@ -1647,7 +1642,6 @@ type Database = {
|
|
|
1647
1642
|
id?: string;
|
|
1648
1643
|
list_id?: string;
|
|
1649
1644
|
pipeline_key?: string;
|
|
1650
|
-
processing_state?: Json;
|
|
1651
1645
|
source_execution_id?: string | null;
|
|
1652
1646
|
source_input_hash?: string | null;
|
|
1653
1647
|
source_resource_id?: string | null;
|
|
@@ -3799,7 +3793,43 @@ type Database = {
|
|
|
3799
3793
|
};
|
|
3800
3794
|
};
|
|
3801
3795
|
|
|
3796
|
+
/** One entry in the lead-gen stage catalog. */
|
|
3797
|
+
interface LeadGenStageCatalogEntry {
|
|
3798
|
+
/** Matches the status key written into processing_state jsonb (e.g. 'scraped'). */
|
|
3799
|
+
key: string;
|
|
3800
|
+
/** Human-readable label for UI display. */
|
|
3801
|
+
label: string;
|
|
3802
|
+
/** Short description of what this stage represents. */
|
|
3803
|
+
description: string;
|
|
3804
|
+
/** Canonical pipeline order for UI sorting. Lower = earlier in the funnel. */
|
|
3805
|
+
order: number;
|
|
3806
|
+
/** Which entity's processing_state jsonb carries this stage status. */
|
|
3807
|
+
entity: 'company' | 'contact';
|
|
3808
|
+
}
|
|
3809
|
+
/**
|
|
3810
|
+
* Canonical lead-gen processing stage catalog.
|
|
3811
|
+
* Keys are the stage names written by workflow steps into processing_state jsonb.
|
|
3812
|
+
*
|
|
3813
|
+
* Ordered roughly by pipeline progression (prospecting → outreach → qualification).
|
|
3814
|
+
*/
|
|
3815
|
+
declare const LEAD_GEN_STAGE_CATALOG: Record<string, LeadGenStageCatalogEntry>;
|
|
3816
|
+
|
|
3817
|
+
declare const ProcessingStageStatusSchema: z.ZodEnum<{
|
|
3818
|
+
error: "error";
|
|
3819
|
+
success: "success";
|
|
3820
|
+
no_result: "no_result";
|
|
3821
|
+
skipped: "skipped";
|
|
3822
|
+
}>;
|
|
3802
3823
|
declare const DealSchemas: {
|
|
3824
|
+
CrmStageKey: z.ZodEnum<{
|
|
3825
|
+
[x: string]: string;
|
|
3826
|
+
}>;
|
|
3827
|
+
CrmStateKey: z.ZodEnum<{
|
|
3828
|
+
[x: string]: string;
|
|
3829
|
+
}>;
|
|
3830
|
+
DealStage: z.ZodEnum<{
|
|
3831
|
+
[x: string]: string;
|
|
3832
|
+
}>;
|
|
3803
3833
|
DealIdParams: z.ZodObject<{
|
|
3804
3834
|
dealId: z.ZodString;
|
|
3805
3835
|
}, z.core.$strip>;
|
|
@@ -3809,12 +3839,7 @@ declare const DealSchemas: {
|
|
|
3809
3839
|
}, z.core.$strip>;
|
|
3810
3840
|
ListDealsQuery: z.ZodObject<{
|
|
3811
3841
|
stage: z.ZodOptional<z.ZodEnum<{
|
|
3812
|
-
|
|
3813
|
-
closed_won: "closed_won";
|
|
3814
|
-
closed_lost: "closed_lost";
|
|
3815
|
-
interested: "interested";
|
|
3816
|
-
proposal: "proposal";
|
|
3817
|
-
closing: "closing";
|
|
3842
|
+
[x: string]: string;
|
|
3818
3843
|
}>>;
|
|
3819
3844
|
search: z.ZodOptional<z.ZodString>;
|
|
3820
3845
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
@@ -3849,14 +3874,20 @@ declare const DealSchemas: {
|
|
|
3849
3874
|
assigneeUserId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3850
3875
|
}, z.core.$strict>;
|
|
3851
3876
|
TransitionItemRequest: z.ZodObject<{
|
|
3852
|
-
pipelineKey: z.
|
|
3853
|
-
stageKey: z.
|
|
3854
|
-
|
|
3877
|
+
pipelineKey: z.ZodLiteral<string>;
|
|
3878
|
+
stageKey: z.ZodEnum<{
|
|
3879
|
+
[x: string]: string;
|
|
3880
|
+
}>;
|
|
3881
|
+
stateKey: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
3882
|
+
[x: string]: string;
|
|
3883
|
+
}>>>;
|
|
3855
3884
|
reason: z.ZodOptional<z.ZodString>;
|
|
3856
3885
|
expectedUpdatedAt: z.ZodOptional<z.ZodString>;
|
|
3857
3886
|
}, z.core.$strict>;
|
|
3858
3887
|
TransitionDealStateRequest: z.ZodObject<{
|
|
3859
|
-
stateKey: z.
|
|
3888
|
+
stateKey: z.ZodEnum<{
|
|
3889
|
+
[x: string]: string;
|
|
3890
|
+
}>;
|
|
3860
3891
|
reason: z.ZodOptional<z.ZodString>;
|
|
3861
3892
|
expectedUpdatedAt: z.ZodOptional<z.ZodString>;
|
|
3862
3893
|
}, z.core.$strict>;
|
|
@@ -3935,7 +3966,15 @@ declare const DealSchemas: {
|
|
|
3935
3966
|
title: z.ZodNullable<z.ZodString>;
|
|
3936
3967
|
headline: z.ZodNullable<z.ZodString>;
|
|
3937
3968
|
linkedin_url: z.ZodNullable<z.ZodString>;
|
|
3938
|
-
|
|
3969
|
+
processing_state: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3970
|
+
status: z.ZodEnum<{
|
|
3971
|
+
error: "error";
|
|
3972
|
+
success: "success";
|
|
3973
|
+
no_result: "no_result";
|
|
3974
|
+
skipped: "skipped";
|
|
3975
|
+
}>;
|
|
3976
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
3977
|
+
}, z.core.$loose>>>;
|
|
3939
3978
|
enrichment_data: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3940
3979
|
company: z.ZodNullable<z.ZodObject<{
|
|
3941
3980
|
id: z.ZodString;
|
|
@@ -4049,7 +4088,15 @@ declare const DealSchemas: {
|
|
|
4049
4088
|
title: z.ZodNullable<z.ZodString>;
|
|
4050
4089
|
headline: z.ZodNullable<z.ZodString>;
|
|
4051
4090
|
linkedin_url: z.ZodNullable<z.ZodString>;
|
|
4052
|
-
|
|
4091
|
+
processing_state: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
4092
|
+
status: z.ZodEnum<{
|
|
4093
|
+
error: "error";
|
|
4094
|
+
success: "success";
|
|
4095
|
+
no_result: "no_result";
|
|
4096
|
+
skipped: "skipped";
|
|
4097
|
+
}>;
|
|
4098
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
4099
|
+
}, z.core.$loose>>>;
|
|
4053
4100
|
enrichment_data: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
4054
4101
|
company: z.ZodNullable<z.ZodObject<{
|
|
4055
4102
|
id: z.ZodString;
|
|
@@ -4147,57 +4194,21 @@ declare const PipelineStageSchema: z.ZodObject<{
|
|
|
4147
4194
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
4148
4195
|
order: z.ZodOptional<z.ZodNumber>;
|
|
4149
4196
|
}, z.core.$strip>;
|
|
4150
|
-
/**
|
|
4151
|
-
* Terminal row-level status for one lead-gen processing stage.
|
|
4152
|
-
* Missing key still means not attempted; legacy boolean `true` is normalized
|
|
4153
|
-
* to `success` by the API reader during rollout.
|
|
4154
|
-
*/
|
|
4155
|
-
declare const ProcessingStageStatusSchema: z.ZodEnum<{
|
|
4156
|
-
error: "error";
|
|
4157
|
-
success: "success";
|
|
4158
|
-
no_result: "no_result";
|
|
4159
|
-
skipped: "skipped";
|
|
4160
|
-
}>;
|
|
4161
4197
|
type PipelineStage = z.infer<typeof PipelineStageSchema>;
|
|
4162
4198
|
type ProcessingStageStatus = z.infer<typeof ProcessingStageStatusSchema>;
|
|
4163
4199
|
|
|
4164
4200
|
/** Raw database row type for acq_deals table */
|
|
4165
4201
|
type AcqDealRow = Database['public']['Tables']['acq_deals']['Row'];
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
acquired: boolean;
|
|
4171
|
-
enrichment: {
|
|
4172
|
-
[source: string]: {
|
|
4173
|
-
status: 'pending' | 'complete' | 'failed' | 'skipped';
|
|
4174
|
-
completedAt?: string;
|
|
4175
|
-
error?: string;
|
|
4176
|
-
};
|
|
4177
|
-
};
|
|
4178
|
-
}
|
|
4179
|
-
/**
|
|
4180
|
-
* Tracks pipeline status for a contact across all processing stages.
|
|
4181
|
-
*/
|
|
4182
|
-
interface ContactPipelineStatus {
|
|
4183
|
-
enrichment: {
|
|
4184
|
-
[source: string]: {
|
|
4185
|
-
status: 'pending' | 'complete' | 'failed' | 'skipped';
|
|
4186
|
-
completedAt?: string;
|
|
4187
|
-
error?: string;
|
|
4188
|
-
};
|
|
4189
|
-
};
|
|
4190
|
-
personalization: {
|
|
4191
|
-
status: 'pending' | 'complete' | 'failed' | 'skipped';
|
|
4192
|
-
completedAt?: string;
|
|
4193
|
-
};
|
|
4194
|
-
outreach: {
|
|
4195
|
-
status: 'pending' | 'sent' | 'replied' | 'bounced' | 'opted-out';
|
|
4196
|
-
sentAt?: string;
|
|
4197
|
-
channel?: string;
|
|
4198
|
-
campaignId?: string;
|
|
4199
|
-
};
|
|
4202
|
+
type LeadGenStageKey = (typeof LEAD_GEN_STAGE_CATALOG)[keyof typeof LEAD_GEN_STAGE_CATALOG]['key'];
|
|
4203
|
+
interface ProcessingStateEntry {
|
|
4204
|
+
status: ProcessingStageStatus;
|
|
4205
|
+
data?: unknown;
|
|
4200
4206
|
}
|
|
4207
|
+
type ProcessingState = Partial<Record<LeadGenStageKey, ProcessingStateEntry>>;
|
|
4208
|
+
type CompanyProcessingState = ProcessingState;
|
|
4209
|
+
type ContactProcessingState = ProcessingState;
|
|
4210
|
+
/** @deprecated Use `processingState`. Retained only as a compile-time/read-shape bridge for external tenants. */
|
|
4211
|
+
type LegacyPipelineStatus = unknown;
|
|
4201
4212
|
/**
|
|
4202
4213
|
* Enrichment data collected for a company from various sources.
|
|
4203
4214
|
*/
|
|
@@ -4350,7 +4361,9 @@ interface AcqCompany {
|
|
|
4350
4361
|
category: string | null;
|
|
4351
4362
|
categoryPain: string | null;
|
|
4352
4363
|
segment: string | null;
|
|
4353
|
-
|
|
4364
|
+
processingState: CompanyProcessingState | null;
|
|
4365
|
+
/** @deprecated Use `processingState`. This legacy DB column has been removed; responses return null. */
|
|
4366
|
+
pipelineStatus?: LegacyPipelineStatus | null;
|
|
4354
4367
|
enrichmentData: CompanyEnrichmentData | null;
|
|
4355
4368
|
source: string | null;
|
|
4356
4369
|
batchId: string | null;
|
|
@@ -4385,7 +4398,9 @@ interface AcqContact {
|
|
|
4385
4398
|
openingLine: string | null;
|
|
4386
4399
|
source: string | null;
|
|
4387
4400
|
sourceId: string | null;
|
|
4388
|
-
|
|
4401
|
+
processingState: ContactProcessingState | null;
|
|
4402
|
+
/** @deprecated Use `processingState`. This legacy DB column has been removed; responses return null. */
|
|
4403
|
+
pipelineStatus?: LegacyPipelineStatus | null;
|
|
4389
4404
|
enrichmentData: ContactEnrichmentData | null;
|
|
4390
4405
|
/** Attio Person record ID - set when contact responds and is added to CRM */
|
|
4391
4406
|
attioPersonId: string | null;
|
|
@@ -4412,7 +4427,7 @@ interface DealContact {
|
|
|
4412
4427
|
title: string | null;
|
|
4413
4428
|
headline: string | null;
|
|
4414
4429
|
linkedin_url: string | null;
|
|
4415
|
-
|
|
4430
|
+
processing_state: Record<string, unknown> | null;
|
|
4416
4431
|
enrichment_data: Record<string, unknown> | null;
|
|
4417
4432
|
company: {
|
|
4418
4433
|
id: string;
|
|
@@ -4501,6 +4516,8 @@ interface CreateCompanyParams {
|
|
|
4501
4516
|
source?: string;
|
|
4502
4517
|
batchId?: string;
|
|
4503
4518
|
verticalResearch?: string;
|
|
4519
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4520
|
+
pipelineStatus?: unknown;
|
|
4504
4521
|
}
|
|
4505
4522
|
interface UpdateCompanyParams {
|
|
4506
4523
|
name?: string;
|
|
@@ -4513,7 +4530,9 @@ interface UpdateCompanyParams {
|
|
|
4513
4530
|
locationState?: string;
|
|
4514
4531
|
category?: string;
|
|
4515
4532
|
segment?: string;
|
|
4516
|
-
|
|
4533
|
+
processingState?: ProcessingState;
|
|
4534
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4535
|
+
pipelineStatus?: unknown;
|
|
4517
4536
|
enrichmentData?: Record<string, unknown>;
|
|
4518
4537
|
source?: string;
|
|
4519
4538
|
batchId?: string;
|
|
@@ -4521,7 +4540,7 @@ interface UpdateCompanyParams {
|
|
|
4521
4540
|
verticalResearch?: string | null;
|
|
4522
4541
|
/** Track A: flat qualification score column (null until a scoring rubric is defined) */
|
|
4523
4542
|
qualificationScore?: number | null;
|
|
4524
|
-
/** Track A: flat qualification signals jsonb
|
|
4543
|
+
/** Track A: flat qualification signals jsonb */
|
|
4525
4544
|
qualificationSignals?: Record<string, unknown> | null;
|
|
4526
4545
|
/** Track A: key identifying the rubric used for qualification */
|
|
4527
4546
|
qualificationRubricKey?: string | null;
|
|
@@ -4534,13 +4553,15 @@ interface CompanyFilters {
|
|
|
4534
4553
|
website?: string;
|
|
4535
4554
|
segment?: string;
|
|
4536
4555
|
category?: string;
|
|
4537
|
-
|
|
4538
|
-
/**
|
|
4539
|
-
|
|
4556
|
+
processingState?: ProcessingState;
|
|
4557
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4558
|
+
pipelineStatus?: unknown;
|
|
4559
|
+
/** Exclude companies whose processing state contains this value (PostgREST NOT contains) */
|
|
4560
|
+
processingStateNot?: ProcessingState;
|
|
4540
4561
|
batchId?: string;
|
|
4541
4562
|
status?: 'active' | 'invalid';
|
|
4542
4563
|
includeAll?: boolean;
|
|
4543
|
-
excludeColumns?: Array<'enrichmentData' | '
|
|
4564
|
+
excludeColumns?: Array<'enrichmentData' | 'processingState'>;
|
|
4544
4565
|
limit?: number;
|
|
4545
4566
|
}
|
|
4546
4567
|
interface CreateContactParams {
|
|
@@ -4554,6 +4575,8 @@ interface CreateContactParams {
|
|
|
4554
4575
|
source?: string;
|
|
4555
4576
|
sourceId?: string;
|
|
4556
4577
|
batchId?: string;
|
|
4578
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4579
|
+
pipelineStatus?: unknown;
|
|
4557
4580
|
}
|
|
4558
4581
|
interface UpdateContactParams {
|
|
4559
4582
|
companyId?: string;
|
|
@@ -4565,7 +4588,9 @@ interface UpdateContactParams {
|
|
|
4565
4588
|
headline?: string;
|
|
4566
4589
|
filterReason?: string;
|
|
4567
4590
|
openingLine?: string;
|
|
4568
|
-
|
|
4591
|
+
processingState?: ProcessingState;
|
|
4592
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4593
|
+
pipelineStatus?: unknown;
|
|
4569
4594
|
enrichmentData?: Record<string, unknown>;
|
|
4570
4595
|
status?: 'active' | 'invalid';
|
|
4571
4596
|
}
|
|
@@ -4574,7 +4599,9 @@ interface ContactFilters {
|
|
|
4574
4599
|
listId?: string;
|
|
4575
4600
|
search?: string;
|
|
4576
4601
|
openingLineIsNull?: boolean;
|
|
4577
|
-
|
|
4602
|
+
processingState?: ProcessingState;
|
|
4603
|
+
/** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
|
|
4604
|
+
pipelineStatus?: unknown;
|
|
4578
4605
|
batchId?: string;
|
|
4579
4606
|
contactStatus?: 'active' | 'invalid';
|
|
4580
4607
|
}
|
|
@@ -4832,6 +4859,18 @@ interface UpdateContactStageParams {
|
|
|
4832
4859
|
status?: ProcessingStageStatus;
|
|
4833
4860
|
executionId?: string;
|
|
4834
4861
|
}
|
|
4862
|
+
interface ListPendingCompanyIdsParams {
|
|
4863
|
+
organizationId: string;
|
|
4864
|
+
listId: string;
|
|
4865
|
+
stageKey: string;
|
|
4866
|
+
limit?: number;
|
|
4867
|
+
}
|
|
4868
|
+
interface ListPendingContactIdsParams {
|
|
4869
|
+
organizationId: string;
|
|
4870
|
+
listId: string;
|
|
4871
|
+
stageKey: string;
|
|
4872
|
+
limit?: number;
|
|
4873
|
+
}
|
|
4835
4874
|
interface AddCompaniesToListParams {
|
|
4836
4875
|
organizationId: string;
|
|
4837
4876
|
listId: string;
|
|
@@ -4869,7 +4908,7 @@ interface BulkImportCompanyEntry {
|
|
|
4869
4908
|
category?: string;
|
|
4870
4909
|
source?: string;
|
|
4871
4910
|
enrichmentData?: Record<string, unknown>;
|
|
4872
|
-
|
|
4911
|
+
processingState?: ProcessingState;
|
|
4873
4912
|
}
|
|
4874
4913
|
interface BulkImportCompaniesParams {
|
|
4875
4914
|
organizationId: string;
|
|
@@ -7835,6 +7874,14 @@ type ListToolMap = {
|
|
|
7835
7874
|
params: Omit<UpdateContactStageParams, 'organizationId'>;
|
|
7836
7875
|
result: void;
|
|
7837
7876
|
};
|
|
7877
|
+
listPendingCompanyIds: {
|
|
7878
|
+
params: Omit<ListPendingCompanyIdsParams, 'organizationId'>;
|
|
7879
|
+
result: string[];
|
|
7880
|
+
};
|
|
7881
|
+
listPendingContactIds: {
|
|
7882
|
+
params: Omit<ListPendingContactIdsParams, 'organizationId'>;
|
|
7883
|
+
result: string[];
|
|
7884
|
+
};
|
|
7838
7885
|
};
|
|
7839
7886
|
type PdfToolMap = {
|
|
7840
7887
|
render: {
|