lancer-shared 1.2.188 → 1.2.189

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.
@@ -269,7 +269,7 @@ export declare const campaignSchema: z.ZodObject<{
269
269
  sleepStartAtHour: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
270
270
  sleepEndAtHour: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
271
271
  sleepTimezone: z.ZodNullable<z.ZodString>;
272
- leadCounts: z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "viewed", "replied", "won"]>, z.ZodNumber>>;
272
+ leadCounts: z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "dailyLimitReached", "viewed", "replied", "won"]>, z.ZodNumber>>;
273
273
  expenses: z.ZodObject<{
274
274
  biddingAmount: z.ZodDefault<z.ZodNumber>;
275
275
  boostingAmount: z.ZodDefault<z.ZodNumber>;
@@ -324,6 +324,19 @@ export declare const campaignSchema: z.ZodObject<{
324
324
  }>>;
325
325
  organizationProfileId: z.ZodNullable<z.ZodString>;
326
326
  lastSyncedProposalsAt: z.ZodNullable<z.ZodNumber>;
327
+ limits: z.ZodObject<{
328
+ maxDailyProposalsSent: z.ZodNumber;
329
+ enabled: z.ZodBoolean;
330
+ windowAnchorAt: z.ZodNullable<z.ZodNumber>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ maxDailyProposalsSent: number;
333
+ enabled: boolean;
334
+ windowAnchorAt: number | null;
335
+ }, {
336
+ maxDailyProposalsSent: number;
337
+ enabled: boolean;
338
+ windowAnchorAt: number | null;
339
+ }>;
327
340
  }, "strip", z.ZodTypeAny, {
328
341
  id: string;
329
342
  name: string;
@@ -395,7 +408,7 @@ export declare const campaignSchema: z.ZodObject<{
395
408
  sleepStartAtHour: number | null;
396
409
  sleepEndAtHour: number | null;
397
410
  sleepTimezone: string | null;
398
- leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null;
411
+ leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null;
399
412
  expenses: {
400
413
  biddingAmount: number;
401
414
  boostingAmount: number;
@@ -419,6 +432,11 @@ export declare const campaignSchema: z.ZodObject<{
419
432
  } | null;
420
433
  organizationProfileId: string | null;
421
434
  lastSyncedProposalsAt: number | null;
435
+ limits: {
436
+ maxDailyProposalsSent: number;
437
+ enabled: boolean;
438
+ windowAnchorAt: number | null;
439
+ };
422
440
  status?: "active" | "draft" | "paused" | "error" | undefined;
423
441
  }, {
424
442
  id: string;
@@ -484,7 +502,7 @@ export declare const campaignSchema: z.ZodObject<{
484
502
  biddingHourlyRatePercentage: number | null;
485
503
  bidWithWarning: "bid" | "skip";
486
504
  sleepTimezone: string | null;
487
- leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null;
505
+ leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null;
488
506
  expenses: {
489
507
  biddingAmount?: number | undefined;
490
508
  boostingAmount?: number | undefined;
@@ -508,6 +526,11 @@ export declare const campaignSchema: z.ZodObject<{
508
526
  } | null;
509
527
  organizationProfileId: string | null;
510
528
  lastSyncedProposalsAt: number | null;
529
+ limits: {
530
+ maxDailyProposalsSent: number;
531
+ enabled: boolean;
532
+ windowAnchorAt: number | null;
533
+ };
511
534
  status?: "active" | "draft" | "paused" | "error" | undefined;
512
535
  boostingEnabled?: boolean | null | undefined;
513
536
  maximumBoost?: number | null | undefined;
@@ -785,7 +808,7 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
785
808
  sleepStartAtHour: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
786
809
  sleepEndAtHour: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
787
810
  sleepTimezone: z.ZodNullable<z.ZodString>;
788
- leadCounts: z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "viewed", "replied", "won"]>, z.ZodNumber>>;
811
+ leadCounts: z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "dailyLimitReached", "viewed", "replied", "won"]>, z.ZodNumber>>;
789
812
  expenses: z.ZodObject<{
790
813
  biddingAmount: z.ZodDefault<z.ZodNumber>;
791
814
  boostingAmount: z.ZodDefault<z.ZodNumber>;
@@ -840,6 +863,19 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
840
863
  }>>;
841
864
  organizationProfileId: z.ZodNullable<z.ZodString>;
842
865
  lastSyncedProposalsAt: z.ZodNullable<z.ZodNumber>;
866
+ limits: z.ZodObject<{
867
+ maxDailyProposalsSent: z.ZodNumber;
868
+ enabled: z.ZodBoolean;
869
+ windowAnchorAt: z.ZodNullable<z.ZodNumber>;
870
+ }, "strip", z.ZodTypeAny, {
871
+ maxDailyProposalsSent: number;
872
+ enabled: boolean;
873
+ windowAnchorAt: number | null;
874
+ }, {
875
+ maxDailyProposalsSent: number;
876
+ enabled: boolean;
877
+ windowAnchorAt: number | null;
878
+ }>;
843
879
  }, "id" | "createdAt" | "updatedAt" | "bidConfig">, "strip", z.ZodTypeAny, {
844
880
  name: string;
845
881
  filters: {
@@ -908,7 +944,7 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
908
944
  sleepStartAtHour: number | null;
909
945
  sleepEndAtHour: number | null;
910
946
  sleepTimezone: string | null;
911
- leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null;
947
+ leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null;
912
948
  expenses: {
913
949
  biddingAmount: number;
914
950
  boostingAmount: number;
@@ -926,6 +962,11 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
926
962
  } | null;
927
963
  organizationProfileId: string | null;
928
964
  lastSyncedProposalsAt: number | null;
965
+ limits: {
966
+ maxDailyProposalsSent: number;
967
+ enabled: boolean;
968
+ windowAnchorAt: number | null;
969
+ };
929
970
  status?: "active" | "draft" | "paused" | "error" | undefined;
930
971
  }, {
931
972
  name: string;
@@ -988,7 +1029,7 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
988
1029
  biddingHourlyRatePercentage: number | null;
989
1030
  bidWithWarning: "bid" | "skip";
990
1031
  sleepTimezone: string | null;
991
- leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null;
1032
+ leadCounts: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null;
992
1033
  expenses: {
993
1034
  biddingAmount?: number | undefined;
994
1035
  boostingAmount?: number | undefined;
@@ -1006,6 +1047,11 @@ export declare const createCampaignSchema: z.ZodObject<Omit<{
1006
1047
  } | null;
1007
1048
  organizationProfileId: string | null;
1008
1049
  lastSyncedProposalsAt: number | null;
1050
+ limits: {
1051
+ maxDailyProposalsSent: number;
1052
+ enabled: boolean;
1053
+ windowAnchorAt: number | null;
1054
+ };
1009
1055
  status?: "active" | "draft" | "paused" | "error" | undefined;
1010
1056
  boostingEnabled?: boolean | null | undefined;
1011
1057
  maximumBoost?: number | null | undefined;
@@ -1263,7 +1309,7 @@ export declare const updateCampaignSchema: z.ZodObject<{
1263
1309
  sleepStartAtHour: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1264
1310
  sleepEndAtHour: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1265
1311
  sleepTimezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1266
- leadCounts: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "viewed", "replied", "won"]>, z.ZodNumber>>>;
1312
+ leadCounts: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodEnum<["leads", "contacted", "insufficientConnects", "doesNotMeetCriteria", "syncedInAnotherCampaign", "dailyLimitReached", "viewed", "replied", "won"]>, z.ZodNumber>>>;
1267
1313
  expenses: z.ZodOptional<z.ZodObject<{
1268
1314
  biddingAmount: z.ZodDefault<z.ZodNumber>;
1269
1315
  boostingAmount: z.ZodDefault<z.ZodNumber>;
@@ -1317,6 +1363,19 @@ export declare const updateCampaignSchema: z.ZodObject<{
1317
1363
  }>>>;
1318
1364
  organizationProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1319
1365
  lastSyncedProposalsAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1366
+ limits: z.ZodOptional<z.ZodObject<{
1367
+ maxDailyProposalsSent: z.ZodNumber;
1368
+ enabled: z.ZodBoolean;
1369
+ windowAnchorAt: z.ZodNullable<z.ZodNumber>;
1370
+ }, "strip", z.ZodTypeAny, {
1371
+ maxDailyProposalsSent: number;
1372
+ enabled: boolean;
1373
+ windowAnchorAt: number | null;
1374
+ }, {
1375
+ maxDailyProposalsSent: number;
1376
+ enabled: boolean;
1377
+ windowAnchorAt: number | null;
1378
+ }>>;
1320
1379
  }, "strip", z.ZodTypeAny, {
1321
1380
  status?: "active" | "draft" | "paused" | "error" | undefined;
1322
1381
  id?: string | undefined;
@@ -1387,7 +1446,7 @@ export declare const updateCampaignSchema: z.ZodObject<{
1387
1446
  sleepStartAtHour?: number | null | undefined;
1388
1447
  sleepEndAtHour?: number | null | undefined;
1389
1448
  sleepTimezone?: string | null | undefined;
1390
- leadCounts?: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null | undefined;
1449
+ leadCounts?: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null | undefined;
1391
1450
  expenses?: {
1392
1451
  biddingAmount: number;
1393
1452
  boostingAmount: number;
@@ -1411,6 +1470,11 @@ export declare const updateCampaignSchema: z.ZodObject<{
1411
1470
  } | null | undefined;
1412
1471
  organizationProfileId?: string | null | undefined;
1413
1472
  lastSyncedProposalsAt?: number | null | undefined;
1473
+ limits?: {
1474
+ maxDailyProposalsSent: number;
1475
+ enabled: boolean;
1476
+ windowAnchorAt: number | null;
1477
+ } | undefined;
1414
1478
  }, {
1415
1479
  status?: "active" | "draft" | "paused" | "error" | undefined;
1416
1480
  id?: string | undefined;
@@ -1481,7 +1545,7 @@ export declare const updateCampaignSchema: z.ZodObject<{
1481
1545
  sleepStartAtHour?: number | null | undefined;
1482
1546
  sleepEndAtHour?: number | null | undefined;
1483
1547
  sleepTimezone?: string | null | undefined;
1484
- leadCounts?: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "viewed" | "replied" | "won", number>> | null | undefined;
1548
+ leadCounts?: Partial<Record<"leads" | "contacted" | "insufficientConnects" | "doesNotMeetCriteria" | "syncedInAnotherCampaign" | "dailyLimitReached" | "viewed" | "replied" | "won", number>> | null | undefined;
1485
1549
  expenses?: {
1486
1550
  biddingAmount?: number | undefined;
1487
1551
  boostingAmount?: number | undefined;
@@ -1505,6 +1569,11 @@ export declare const updateCampaignSchema: z.ZodObject<{
1505
1569
  } | null | undefined;
1506
1570
  organizationProfileId?: string | null | undefined;
1507
1571
  lastSyncedProposalsAt?: number | null | undefined;
1572
+ limits?: {
1573
+ maxDailyProposalsSent: number;
1574
+ enabled: boolean;
1575
+ windowAnchorAt: number | null;
1576
+ } | undefined;
1508
1577
  }>;
1509
1578
  export type BiddingHourlyRateStrategy = z.infer<typeof biddingHourlyRateStrategyEnum>;
1510
1579
  export interface Campaign extends z.infer<typeof campaignSchema> {
@@ -4,3 +4,4 @@ export * from './campaign-analytics';
4
4
  export * from './campaign-chat-bot';
5
5
  export * from './campaign-expenses';
6
6
  export * from './campaign-insights';
7
+ export * from './sequence';
@@ -0,0 +1,6 @@
1
+ export interface BidNodeData {
2
+ label: string;
3
+ onSubmit: () => void;
4
+ onDelete: () => void;
5
+ [key: string]: unknown;
6
+ }
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { NodeType } from './node-types';
3
+ declare const fallbackEnum: z.ZodEnum<["noBoostBid", "ignore"]>;
4
+ export type Fallback = z.infer<typeof fallbackEnum>;
5
+ export declare const boostFormSchema: z.ZodObject<{
6
+ minPlace: z.ZodNumber;
7
+ maxConnects: z.ZodNumber;
8
+ fallback: z.ZodEnum<["noBoostBid", "ignore"]>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ minPlace: number;
11
+ maxConnects: number;
12
+ fallback: "noBoostBid" | "ignore";
13
+ }, {
14
+ minPlace: number;
15
+ maxConnects: number;
16
+ fallback: "noBoostBid" | "ignore";
17
+ }>;
18
+ export type BoostFormData = z.infer<typeof boostFormSchema>;
19
+ export interface BoostNodeData {
20
+ label: string;
21
+ onSubmit: (formData: BoostFormData) => void;
22
+ onDelete: () => void;
23
+ allowedNodes: NodeType[];
24
+ [key: string]: unknown;
25
+ }
26
+ export {};
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ import { clientSizeEnum } from '../../job';
3
+ import { NodeType } from './node-types';
4
+ export type ClientSize = z.infer<typeof clientSizeEnum>;
5
+ export declare const createClientSizeFormSchema: (existingSizes: ClientSize[]) => z.ZodEffects<z.ZodObject<{
6
+ sizes: z.ZodArray<z.ZodEnum<["Individual client", "Small company (2-9 people)", "Mid-sized company (10-99 people)", "Large company (100-1,000 people)", "Large company (1,000+ people)", "Unspecified"]>, "many">;
7
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
10
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
11
+ }, {
12
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
13
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
14
+ }>, {
15
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
16
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
17
+ }, {
18
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
19
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
20
+ }>;
21
+ export declare const addFromClientSizeNodeFormSchema: z.ZodEffects<z.ZodObject<{
22
+ sizes: z.ZodArray<z.ZodEnum<["Individual client", "Small company (2-9 people)", "Mid-sized company (10-99 people)", "Large company (100-1,000 people)", "Large company (1,000+ people)", "Unspecified"]>, "many">;
23
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
26
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
27
+ }, {
28
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
29
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
30
+ }>, {
31
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
32
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
33
+ }, {
34
+ sizes: ("Unspecified" | "Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)")[];
35
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
36
+ }>;
37
+ export type AddFromClientSizeNodeFormData = z.infer<typeof addFromClientSizeNodeFormSchema>;
38
+ export interface ClientSizeNodeData {
39
+ label: string;
40
+ onSubmit: (formData: AddFromClientSizeNodeFormData) => void;
41
+ onDelete: () => void;
42
+ existingSizes: ClientSize[];
43
+ allowedNodes: NodeType[];
44
+ [key: string]: unknown;
45
+ }
@@ -0,0 +1,45 @@
1
+ import { clientSizeEnum } from 'lancer-shared';
2
+ import z from 'zod';
3
+ import { NodeType } from './node-types';
4
+ export type ClientSize = z.infer<typeof clientSizeEnum>;
5
+ export declare const createClientSizeFormSchema: (existingSizes: ClientSize[]) => z.ZodEffects<z.ZodObject<{
6
+ sizes: z.ZodArray<z.ZodEnum<["Individual client", "Small company (2-9 people)", "Mid-sized company (10-99 people)", "Large company (100-1,000 people)", "Large company (1,000+ people)", "Unspecified"]>, "many">;
7
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode"]>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
10
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
11
+ }, {
12
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
13
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
14
+ }>, {
15
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
16
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
17
+ }, {
18
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
19
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
20
+ }>;
21
+ export declare const addFromClientSizeNodeFormSchema: z.ZodEffects<z.ZodObject<{
22
+ sizes: z.ZodArray<z.ZodEnum<["Individual client", "Small company (2-9 people)", "Mid-sized company (10-99 people)", "Large company (100-1,000 people)", "Large company (1,000+ people)", "Unspecified"]>, "many">;
23
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode"]>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
26
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
27
+ }, {
28
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
29
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
30
+ }>, {
31
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
32
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
33
+ }, {
34
+ sizes: ("Individual client" | "Small company (2-9 people)" | "Mid-sized company (10-99 people)" | "Large company (100-1,000 people)" | "Large company (1,000+ people)" | "Unspecified")[];
35
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
36
+ }>;
37
+ export type AddFromClientSizeNodeFormData = z.infer<typeof addFromClientSizeNodeFormSchema>;
38
+ export interface ClientSizeNodeData {
39
+ label: string;
40
+ onSubmit: (formData: AddFromClientSizeNodeFormData) => void;
41
+ onDelete: () => void;
42
+ existingSizes: ClientSize[];
43
+ allowedNodes: NodeType[];
44
+ [key: string]: unknown;
45
+ }
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ import { NodeType } from './node-types';
3
+ export declare const INFINITY = 99999999999;
4
+ export declare const createClientSpentFormSchema: (existingRanges: {
5
+ from: number;
6
+ to: number;
7
+ }[]) => z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
8
+ from: z.ZodNumber;
9
+ to: z.ZodNumber;
10
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ from: number;
13
+ to: number;
14
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
15
+ }, {
16
+ from: number;
17
+ to: number;
18
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
19
+ }>, {
20
+ from: number;
21
+ to: number;
22
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
23
+ }, {
24
+ from: number;
25
+ to: number;
26
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
27
+ }>, {
28
+ from: number;
29
+ to: number;
30
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
31
+ }, {
32
+ from: number;
33
+ to: number;
34
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
35
+ }>, {
36
+ from: number;
37
+ to: number;
38
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
39
+ }, {
40
+ from: number;
41
+ to: number;
42
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
43
+ }>;
44
+ export declare const addFromClientSpentNodeFormSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
45
+ from: z.ZodNumber;
46
+ to: z.ZodNumber;
47
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ from: number;
50
+ to: number;
51
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
52
+ }, {
53
+ from: number;
54
+ to: number;
55
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
56
+ }>, {
57
+ from: number;
58
+ to: number;
59
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
60
+ }, {
61
+ from: number;
62
+ to: number;
63
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
64
+ }>, {
65
+ from: number;
66
+ to: number;
67
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
68
+ }, {
69
+ from: number;
70
+ to: number;
71
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
72
+ }>, {
73
+ from: number;
74
+ to: number;
75
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
76
+ }, {
77
+ from: number;
78
+ to: number;
79
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
80
+ }>;
81
+ export type AddFromClientSpentNodeFormData = z.infer<typeof addFromClientSpentNodeFormSchema>;
82
+ export interface ClientSpentNodeData {
83
+ label: string;
84
+ onSubmit: (formData: AddFromClientSpentNodeFormData) => void;
85
+ onDelete: () => void;
86
+ existingRanges: {
87
+ from: number;
88
+ to: number;
89
+ }[];
90
+ allowedNodes: NodeType[];
91
+ [key: string]: unknown;
92
+ }
@@ -0,0 +1,20 @@
1
+ import { ClientSize } from './client-size-node';
2
+ export interface SuitabilityEdgeData {
3
+ from: number;
4
+ to: number;
5
+ }
6
+ export interface ClientAvgHourlyRateEdgeData {
7
+ from: number;
8
+ to: number;
9
+ }
10
+ export interface ClientHireRateEdgeData {
11
+ from: number;
12
+ to: number;
13
+ }
14
+ export interface ClientSizeEdgeData {
15
+ sizes: ClientSize[];
16
+ }
17
+ export interface ClientSpentEdgeData {
18
+ from: number;
19
+ to: number;
20
+ }
@@ -0,0 +1,91 @@
1
+ import { z } from 'zod';
2
+ import { NodeType } from './node-types';
3
+ export declare const createClientHireRateFormSchema: (existingRanges: {
4
+ from: number;
5
+ to: number;
6
+ }[]) => z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
7
+ from: z.ZodNumber;
8
+ to: z.ZodNumber;
9
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ from: number;
12
+ to: number;
13
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
14
+ }, {
15
+ from: number;
16
+ to: number;
17
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
18
+ }>, {
19
+ from: number;
20
+ to: number;
21
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
22
+ }, {
23
+ from: number;
24
+ to: number;
25
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
26
+ }>, {
27
+ from: number;
28
+ to: number;
29
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
30
+ }, {
31
+ from: number;
32
+ to: number;
33
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
34
+ }>, {
35
+ from: number;
36
+ to: number;
37
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
38
+ }, {
39
+ from: number;
40
+ to: number;
41
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
42
+ }>;
43
+ export declare const addFromClientHireRateNodeFormSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
44
+ from: z.ZodNumber;
45
+ to: z.ZodNumber;
46
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode", "clientSpentNode"]>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ from: number;
49
+ to: number;
50
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
51
+ }, {
52
+ from: number;
53
+ to: number;
54
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
55
+ }>, {
56
+ from: number;
57
+ to: number;
58
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
59
+ }, {
60
+ from: number;
61
+ to: number;
62
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
63
+ }>, {
64
+ from: number;
65
+ to: number;
66
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
67
+ }, {
68
+ from: number;
69
+ to: number;
70
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
71
+ }>, {
72
+ from: number;
73
+ to: number;
74
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
75
+ }, {
76
+ from: number;
77
+ to: number;
78
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode" | "clientSpentNode";
79
+ }>;
80
+ export type AddFromClientHireRateNodeFormData = z.infer<typeof addFromClientHireRateNodeFormSchema>;
81
+ export interface ClientHireRateNodeData {
82
+ label: string;
83
+ onSubmit: (formData: AddFromClientHireRateNodeFormData) => void;
84
+ onDelete: () => void;
85
+ existingRanges: {
86
+ from: number;
87
+ to: number;
88
+ }[];
89
+ allowedNodes: NodeType[];
90
+ [key: string]: unknown;
91
+ }
@@ -0,0 +1,91 @@
1
+ import z from 'zod';
2
+ import { NodeType } from './node-types';
3
+ export declare const createClientHireRateFormSchema: (existingRanges: {
4
+ from: number;
5
+ to: number;
6
+ }[]) => z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
7
+ from: z.ZodNumber;
8
+ to: z.ZodNumber;
9
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode"]>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ from: number;
12
+ to: number;
13
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
14
+ }, {
15
+ from: number;
16
+ to: number;
17
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
18
+ }>, {
19
+ from: number;
20
+ to: number;
21
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
22
+ }, {
23
+ from: number;
24
+ to: number;
25
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
26
+ }>, {
27
+ from: number;
28
+ to: number;
29
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
30
+ }, {
31
+ from: number;
32
+ to: number;
33
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
34
+ }>, {
35
+ from: number;
36
+ to: number;
37
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
38
+ }, {
39
+ from: number;
40
+ to: number;
41
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
42
+ }>;
43
+ export declare const addFromClientHireRateNodeFormSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
44
+ from: z.ZodNumber;
45
+ to: z.ZodNumber;
46
+ action: z.ZodEnum<["clientAvgHourlyRateNode", "bidNode", "suitabilityNode", "clientHireRateNode", "clientSizeNode", "boostNode"]>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ from: number;
49
+ to: number;
50
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
51
+ }, {
52
+ from: number;
53
+ to: number;
54
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
55
+ }>, {
56
+ from: number;
57
+ to: number;
58
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
59
+ }, {
60
+ from: number;
61
+ to: number;
62
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
63
+ }>, {
64
+ from: number;
65
+ to: number;
66
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
67
+ }, {
68
+ from: number;
69
+ to: number;
70
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
71
+ }>, {
72
+ from: number;
73
+ to: number;
74
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
75
+ }, {
76
+ from: number;
77
+ to: number;
78
+ action: "clientAvgHourlyRateNode" | "bidNode" | "suitabilityNode" | "clientHireRateNode" | "clientSizeNode" | "boostNode";
79
+ }>;
80
+ export type AddFromClientHireRateNodeFormData = z.infer<typeof addFromClientHireRateNodeFormSchema>;
81
+ export interface ClientHireRateNodeData {
82
+ label: string;
83
+ onSubmit: (formData: AddFromClientHireRateNodeFormData) => void;
84
+ onDelete: () => void;
85
+ existingRanges: {
86
+ from: number;
87
+ to: number;
88
+ }[];
89
+ allowedNodes: NodeType[];
90
+ [key: string]: unknown;
91
+ }