@unified-product-graph/core 0.23.2 → 0.25.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/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/dist/index.cjs +151 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +187 -3
- package/dist/index.d.ts +187 -3
- package/dist/index.js +151 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -7643,6 +7643,120 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
7643
7643
|
cross_product_eligible: true;
|
|
7644
7644
|
deliberate_only: true;
|
|
7645
7645
|
};
|
|
7646
|
+
deal_involves_contact: {
|
|
7647
|
+
forward_verb: string;
|
|
7648
|
+
reverse_verb: string;
|
|
7649
|
+
classification: "semantic";
|
|
7650
|
+
source_type: string;
|
|
7651
|
+
target_type: string;
|
|
7652
|
+
};
|
|
7653
|
+
deal_challenged_by_objection: {
|
|
7654
|
+
forward_verb: string;
|
|
7655
|
+
reverse_verb: string;
|
|
7656
|
+
classification: "cross-domain";
|
|
7657
|
+
source_type: string;
|
|
7658
|
+
target_type: string;
|
|
7659
|
+
};
|
|
7660
|
+
deal_armed_with_competitive_battle_card: {
|
|
7661
|
+
forward_verb: string;
|
|
7662
|
+
reverse_verb: string;
|
|
7663
|
+
classification: "cross-domain";
|
|
7664
|
+
source_type: string;
|
|
7665
|
+
target_type: string;
|
|
7666
|
+
};
|
|
7667
|
+
deal_lost_to_competitor: {
|
|
7668
|
+
forward_verb: string;
|
|
7669
|
+
reverse_verb: string;
|
|
7670
|
+
classification: "causal";
|
|
7671
|
+
source_type: string;
|
|
7672
|
+
target_type: string;
|
|
7673
|
+
};
|
|
7674
|
+
deal_closed_via_contract: {
|
|
7675
|
+
forward_verb: string;
|
|
7676
|
+
reverse_verb: string;
|
|
7677
|
+
classification: "cross-domain";
|
|
7678
|
+
source_type: string;
|
|
7679
|
+
target_type: string;
|
|
7680
|
+
};
|
|
7681
|
+
deal_blocked_by_feature: {
|
|
7682
|
+
forward_verb: string;
|
|
7683
|
+
reverse_verb: string;
|
|
7684
|
+
classification: "cross-domain";
|
|
7685
|
+
source_type: string;
|
|
7686
|
+
target_type: string;
|
|
7687
|
+
cross_product_eligible: true;
|
|
7688
|
+
};
|
|
7689
|
+
research_study_analyzes_deal: {
|
|
7690
|
+
forward_verb: string;
|
|
7691
|
+
reverse_verb: string;
|
|
7692
|
+
classification: "cross-domain";
|
|
7693
|
+
source_type: string;
|
|
7694
|
+
target_type: string;
|
|
7695
|
+
cross_product_eligible: true;
|
|
7696
|
+
};
|
|
7697
|
+
account_raises_support_ticket: {
|
|
7698
|
+
forward_verb: string;
|
|
7699
|
+
reverse_verb: string;
|
|
7700
|
+
classification: "cross-domain";
|
|
7701
|
+
source_type: string;
|
|
7702
|
+
target_type: string;
|
|
7703
|
+
};
|
|
7704
|
+
account_health_scored_via_customer_health_score: {
|
|
7705
|
+
forward_verb: string;
|
|
7706
|
+
reverse_verb: string;
|
|
7707
|
+
classification: "cross-domain";
|
|
7708
|
+
source_type: string;
|
|
7709
|
+
target_type: string;
|
|
7710
|
+
};
|
|
7711
|
+
account_lost_because_churn_reason: {
|
|
7712
|
+
forward_verb: string;
|
|
7713
|
+
reverse_verb: string;
|
|
7714
|
+
classification: "cross-domain";
|
|
7715
|
+
source_type: string;
|
|
7716
|
+
target_type: string;
|
|
7717
|
+
};
|
|
7718
|
+
account_implements_via_project: {
|
|
7719
|
+
forward_verb: string;
|
|
7720
|
+
reverse_verb: string;
|
|
7721
|
+
classification: "cross-domain";
|
|
7722
|
+
source_type: string;
|
|
7723
|
+
target_type: string;
|
|
7724
|
+
};
|
|
7725
|
+
subscription_renews_via_deal: {
|
|
7726
|
+
forward_verb: string;
|
|
7727
|
+
reverse_verb: string;
|
|
7728
|
+
classification: "causal";
|
|
7729
|
+
source_type: string;
|
|
7730
|
+
target_type: string;
|
|
7731
|
+
};
|
|
7732
|
+
account_participates_in_beta_program: {
|
|
7733
|
+
forward_verb: string;
|
|
7734
|
+
reverse_verb: string;
|
|
7735
|
+
classification: "cross-domain";
|
|
7736
|
+
source_type: string;
|
|
7737
|
+
target_type: string;
|
|
7738
|
+
};
|
|
7739
|
+
deal_gated_by_security_review: {
|
|
7740
|
+
forward_verb: string;
|
|
7741
|
+
reverse_verb: string;
|
|
7742
|
+
classification: "cross-domain";
|
|
7743
|
+
source_type: string;
|
|
7744
|
+
target_type: string;
|
|
7745
|
+
};
|
|
7746
|
+
feature_communicated_via_messaging: {
|
|
7747
|
+
forward_verb: string;
|
|
7748
|
+
reverse_verb: string;
|
|
7749
|
+
classification: "cross-domain";
|
|
7750
|
+
source_type: string;
|
|
7751
|
+
target_type: string;
|
|
7752
|
+
};
|
|
7753
|
+
launch_coordinated_via_project: {
|
|
7754
|
+
forward_verb: string;
|
|
7755
|
+
reverse_verb: string;
|
|
7756
|
+
classification: "cross-domain";
|
|
7757
|
+
source_type: string;
|
|
7758
|
+
target_type: string;
|
|
7759
|
+
};
|
|
7646
7760
|
};
|
|
7647
7761
|
/** The `UPGEdgeType` union derived from the registry above. Declared here (not
|
|
7648
7762
|
* in `shapes/edges.ts`) so the polymorphic list below can reference it
|
|
@@ -17510,8 +17624,10 @@ interface PositioningProperties {
|
|
|
17510
17624
|
* }
|
|
17511
17625
|
*/
|
|
17512
17626
|
interface MessagingProperties {
|
|
17513
|
-
/** Channel this messaging variant is crafted for
|
|
17514
|
-
|
|
17627
|
+
/** Channel this messaging variant is crafted for. `enablement` is the internal
|
|
17628
|
+
* field-ops channel (SE/PMM/SA enablement one-pagers, battlecards' narrative),
|
|
17629
|
+
* distinct from `pitch` (external, customer-facing). */
|
|
17630
|
+
channel?: 'landing_page' | 'email' | 'social' | 'ad' | 'pitch' | 'press' | 'in_product' | 'enablement' | 'other';
|
|
17515
17631
|
/** Marketing funnel stage this variant targets */
|
|
17516
17632
|
funnel_stage?: 'awareness' | 'consideration' | 'conversion' | 'retention';
|
|
17517
17633
|
/** Primary headline or hook */
|
|
@@ -17800,6 +17916,26 @@ interface AccountProperties {
|
|
|
17800
17916
|
industry?: string;
|
|
17801
17917
|
/** Number of employees at the account */
|
|
17802
17918
|
employee_count?: number;
|
|
17919
|
+
/**
|
|
17920
|
+
* Go-to-market tier this account is served at. A segmentation *decision*
|
|
17921
|
+
* (how the field org treats the account), distinct from `employee_count`
|
|
17922
|
+
* (a raw fact) and aligned with but not identical to the ideal customer
|
|
17923
|
+
* profile's `company_size` buckets. `strategic` is the tier that escalates
|
|
17924
|
+
* to a dedicated account-plan graph (Tier 3 client model).
|
|
17925
|
+
*/
|
|
17926
|
+
segment?: 'smb' | 'mid_market' | 'enterprise' | 'strategic';
|
|
17927
|
+
/**
|
|
17928
|
+
* Annual contract value in the account's billing currency. The single most
|
|
17929
|
+
* common enterprise account-tiering input; a snapshot that changes on
|
|
17930
|
+
* expansion or renewal.
|
|
17931
|
+
*/
|
|
17932
|
+
annual_contract_value?: number;
|
|
17933
|
+
/**
|
|
17934
|
+
* Geographic region the account is managed in (e.g. "EMEA", "NA-West").
|
|
17935
|
+
* Free-form: territory taxonomies vary by org and are modelled structurally
|
|
17936
|
+
* via the `territory` entity when they need to be queryable.
|
|
17937
|
+
*/
|
|
17938
|
+
region?: string;
|
|
17803
17939
|
}
|
|
17804
17940
|
/** Contact.
|
|
17805
17941
|
*
|
|
@@ -17813,6 +17949,15 @@ interface ContactProperties {
|
|
|
17813
17949
|
contact_role?: string;
|
|
17814
17950
|
/** Whether this person has purchasing authority */
|
|
17815
17951
|
is_decision_maker?: boolean;
|
|
17952
|
+
/**
|
|
17953
|
+
* Role this contact plays in the buying committee (the decision-making unit).
|
|
17954
|
+
* The substrate of enterprise multi-threading and of qualification frameworks
|
|
17955
|
+
* (MEDDICC/SPICED): a deal with no `champion` and no `economic_buyer` mapped is
|
|
17956
|
+
* single-threaded and at risk. `is_decision_maker` becomes largely derivable
|
|
17957
|
+
* (`buying_role = economic_buyer`) but is kept for back-compat.
|
|
17958
|
+
* @example 'economic_buyer'
|
|
17959
|
+
*/
|
|
17960
|
+
buying_role?: 'champion' | 'economic_buyer' | 'technical_evaluator' | 'end_user' | 'detractor' | 'influencer' | 'procurement' | 'legal' | 'security';
|
|
17816
17961
|
}
|
|
17817
17962
|
/** Lead.
|
|
17818
17963
|
*
|
|
@@ -17848,6 +17993,45 @@ interface DealProperties {
|
|
|
17848
17993
|
close_date?: ISODate;
|
|
17849
17994
|
/** Likelihood of closing (0-100%) */
|
|
17850
17995
|
probability?: number;
|
|
17996
|
+
/**
|
|
17997
|
+
* Terminal result of the deal. An Event-axis outcome (the verdict on a
|
|
17998
|
+
* one-time event), NOT a lifecycle phase, so it is `deal_outcome` and not
|
|
17999
|
+
* `deal_status` per the status-convention Rule 3. Lifecycle (open/won/lost as
|
|
18000
|
+
* phases) belongs on the base `status` slot; this records the win/loss verdict
|
|
18001
|
+
* a closed deal carries and gives `deal_lost_to_competitor` / win-loss study
|
|
18002
|
+
* derivations their anchor.
|
|
18003
|
+
* @example 'won'
|
|
18004
|
+
*/
|
|
18005
|
+
deal_outcome?: 'won' | 'lost' | 'no_decision';
|
|
18006
|
+
/**
|
|
18007
|
+
* Motion this deal belongs to. Mirrors `PipelineSales.pipeline_type` at the
|
|
18008
|
+
* deal grain; `renewal` is the value `subscription_renews_via_deal` points at.
|
|
18009
|
+
* @example 'expansion'
|
|
18010
|
+
*/
|
|
18011
|
+
deal_type?: 'new_business' | 'expansion' | 'renewal';
|
|
18012
|
+
/**
|
|
18013
|
+
* The single most-used CRM field: the next concrete action to move the deal.
|
|
18014
|
+
* Free text on purpose (a coordination note, not a structured task).
|
|
18015
|
+
* @example 'Send security questionnaire to procurement'
|
|
18016
|
+
*/
|
|
18017
|
+
next_step?: string;
|
|
18018
|
+
/** When the `next_step` is due (ISO format). */
|
|
18019
|
+
next_step_date?: ISODate;
|
|
18020
|
+
/**
|
|
18021
|
+
* Qualification framework this deal is scored against. Names the rubric so the
|
|
18022
|
+
* `qualification_score` is interpretable; per-pillar booleans (MEDDICC's Metrics /
|
|
18023
|
+
* Economic buyer / Decision criteria / …) are deferred until `custom` recurrence
|
|
18024
|
+
* proves the demand.
|
|
18025
|
+
* @example 'meddicc'
|
|
18026
|
+
*/
|
|
18027
|
+
qualification_framework?: 'meddicc' | 'bant' | 'spiced' | 'custom';
|
|
18028
|
+
/**
|
|
18029
|
+
* How well-qualified the deal is, on the canonical `confidence_5` scale
|
|
18030
|
+
* (UPGAssessment: numeric value plus a high/medium/low label). Coarse by
|
|
18031
|
+
* design; the granular per-pillar breakdown is deferred (see
|
|
18032
|
+
* `qualification_framework`).
|
|
18033
|
+
*/
|
|
18034
|
+
qualification_score?: UPGAssessment;
|
|
17851
18035
|
}
|
|
17852
18036
|
/** Sales pipeline.
|
|
17853
18037
|
*
|
|
@@ -22554,7 +22738,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
22554
22738
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
22555
22739
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
22556
22740
|
*/
|
|
22557
|
-
declare const UPG_VERSION: "0.
|
|
22741
|
+
declare const UPG_VERSION: "0.25.0";
|
|
22558
22742
|
/**
|
|
22559
22743
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
22560
22744
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|
package/dist/index.d.ts
CHANGED
|
@@ -7643,6 +7643,120 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
7643
7643
|
cross_product_eligible: true;
|
|
7644
7644
|
deliberate_only: true;
|
|
7645
7645
|
};
|
|
7646
|
+
deal_involves_contact: {
|
|
7647
|
+
forward_verb: string;
|
|
7648
|
+
reverse_verb: string;
|
|
7649
|
+
classification: "semantic";
|
|
7650
|
+
source_type: string;
|
|
7651
|
+
target_type: string;
|
|
7652
|
+
};
|
|
7653
|
+
deal_challenged_by_objection: {
|
|
7654
|
+
forward_verb: string;
|
|
7655
|
+
reverse_verb: string;
|
|
7656
|
+
classification: "cross-domain";
|
|
7657
|
+
source_type: string;
|
|
7658
|
+
target_type: string;
|
|
7659
|
+
};
|
|
7660
|
+
deal_armed_with_competitive_battle_card: {
|
|
7661
|
+
forward_verb: string;
|
|
7662
|
+
reverse_verb: string;
|
|
7663
|
+
classification: "cross-domain";
|
|
7664
|
+
source_type: string;
|
|
7665
|
+
target_type: string;
|
|
7666
|
+
};
|
|
7667
|
+
deal_lost_to_competitor: {
|
|
7668
|
+
forward_verb: string;
|
|
7669
|
+
reverse_verb: string;
|
|
7670
|
+
classification: "causal";
|
|
7671
|
+
source_type: string;
|
|
7672
|
+
target_type: string;
|
|
7673
|
+
};
|
|
7674
|
+
deal_closed_via_contract: {
|
|
7675
|
+
forward_verb: string;
|
|
7676
|
+
reverse_verb: string;
|
|
7677
|
+
classification: "cross-domain";
|
|
7678
|
+
source_type: string;
|
|
7679
|
+
target_type: string;
|
|
7680
|
+
};
|
|
7681
|
+
deal_blocked_by_feature: {
|
|
7682
|
+
forward_verb: string;
|
|
7683
|
+
reverse_verb: string;
|
|
7684
|
+
classification: "cross-domain";
|
|
7685
|
+
source_type: string;
|
|
7686
|
+
target_type: string;
|
|
7687
|
+
cross_product_eligible: true;
|
|
7688
|
+
};
|
|
7689
|
+
research_study_analyzes_deal: {
|
|
7690
|
+
forward_verb: string;
|
|
7691
|
+
reverse_verb: string;
|
|
7692
|
+
classification: "cross-domain";
|
|
7693
|
+
source_type: string;
|
|
7694
|
+
target_type: string;
|
|
7695
|
+
cross_product_eligible: true;
|
|
7696
|
+
};
|
|
7697
|
+
account_raises_support_ticket: {
|
|
7698
|
+
forward_verb: string;
|
|
7699
|
+
reverse_verb: string;
|
|
7700
|
+
classification: "cross-domain";
|
|
7701
|
+
source_type: string;
|
|
7702
|
+
target_type: string;
|
|
7703
|
+
};
|
|
7704
|
+
account_health_scored_via_customer_health_score: {
|
|
7705
|
+
forward_verb: string;
|
|
7706
|
+
reverse_verb: string;
|
|
7707
|
+
classification: "cross-domain";
|
|
7708
|
+
source_type: string;
|
|
7709
|
+
target_type: string;
|
|
7710
|
+
};
|
|
7711
|
+
account_lost_because_churn_reason: {
|
|
7712
|
+
forward_verb: string;
|
|
7713
|
+
reverse_verb: string;
|
|
7714
|
+
classification: "cross-domain";
|
|
7715
|
+
source_type: string;
|
|
7716
|
+
target_type: string;
|
|
7717
|
+
};
|
|
7718
|
+
account_implements_via_project: {
|
|
7719
|
+
forward_verb: string;
|
|
7720
|
+
reverse_verb: string;
|
|
7721
|
+
classification: "cross-domain";
|
|
7722
|
+
source_type: string;
|
|
7723
|
+
target_type: string;
|
|
7724
|
+
};
|
|
7725
|
+
subscription_renews_via_deal: {
|
|
7726
|
+
forward_verb: string;
|
|
7727
|
+
reverse_verb: string;
|
|
7728
|
+
classification: "causal";
|
|
7729
|
+
source_type: string;
|
|
7730
|
+
target_type: string;
|
|
7731
|
+
};
|
|
7732
|
+
account_participates_in_beta_program: {
|
|
7733
|
+
forward_verb: string;
|
|
7734
|
+
reverse_verb: string;
|
|
7735
|
+
classification: "cross-domain";
|
|
7736
|
+
source_type: string;
|
|
7737
|
+
target_type: string;
|
|
7738
|
+
};
|
|
7739
|
+
deal_gated_by_security_review: {
|
|
7740
|
+
forward_verb: string;
|
|
7741
|
+
reverse_verb: string;
|
|
7742
|
+
classification: "cross-domain";
|
|
7743
|
+
source_type: string;
|
|
7744
|
+
target_type: string;
|
|
7745
|
+
};
|
|
7746
|
+
feature_communicated_via_messaging: {
|
|
7747
|
+
forward_verb: string;
|
|
7748
|
+
reverse_verb: string;
|
|
7749
|
+
classification: "cross-domain";
|
|
7750
|
+
source_type: string;
|
|
7751
|
+
target_type: string;
|
|
7752
|
+
};
|
|
7753
|
+
launch_coordinated_via_project: {
|
|
7754
|
+
forward_verb: string;
|
|
7755
|
+
reverse_verb: string;
|
|
7756
|
+
classification: "cross-domain";
|
|
7757
|
+
source_type: string;
|
|
7758
|
+
target_type: string;
|
|
7759
|
+
};
|
|
7646
7760
|
};
|
|
7647
7761
|
/** The `UPGEdgeType` union derived from the registry above. Declared here (not
|
|
7648
7762
|
* in `shapes/edges.ts`) so the polymorphic list below can reference it
|
|
@@ -17510,8 +17624,10 @@ interface PositioningProperties {
|
|
|
17510
17624
|
* }
|
|
17511
17625
|
*/
|
|
17512
17626
|
interface MessagingProperties {
|
|
17513
|
-
/** Channel this messaging variant is crafted for
|
|
17514
|
-
|
|
17627
|
+
/** Channel this messaging variant is crafted for. `enablement` is the internal
|
|
17628
|
+
* field-ops channel (SE/PMM/SA enablement one-pagers, battlecards' narrative),
|
|
17629
|
+
* distinct from `pitch` (external, customer-facing). */
|
|
17630
|
+
channel?: 'landing_page' | 'email' | 'social' | 'ad' | 'pitch' | 'press' | 'in_product' | 'enablement' | 'other';
|
|
17515
17631
|
/** Marketing funnel stage this variant targets */
|
|
17516
17632
|
funnel_stage?: 'awareness' | 'consideration' | 'conversion' | 'retention';
|
|
17517
17633
|
/** Primary headline or hook */
|
|
@@ -17800,6 +17916,26 @@ interface AccountProperties {
|
|
|
17800
17916
|
industry?: string;
|
|
17801
17917
|
/** Number of employees at the account */
|
|
17802
17918
|
employee_count?: number;
|
|
17919
|
+
/**
|
|
17920
|
+
* Go-to-market tier this account is served at. A segmentation *decision*
|
|
17921
|
+
* (how the field org treats the account), distinct from `employee_count`
|
|
17922
|
+
* (a raw fact) and aligned with but not identical to the ideal customer
|
|
17923
|
+
* profile's `company_size` buckets. `strategic` is the tier that escalates
|
|
17924
|
+
* to a dedicated account-plan graph (Tier 3 client model).
|
|
17925
|
+
*/
|
|
17926
|
+
segment?: 'smb' | 'mid_market' | 'enterprise' | 'strategic';
|
|
17927
|
+
/**
|
|
17928
|
+
* Annual contract value in the account's billing currency. The single most
|
|
17929
|
+
* common enterprise account-tiering input; a snapshot that changes on
|
|
17930
|
+
* expansion or renewal.
|
|
17931
|
+
*/
|
|
17932
|
+
annual_contract_value?: number;
|
|
17933
|
+
/**
|
|
17934
|
+
* Geographic region the account is managed in (e.g. "EMEA", "NA-West").
|
|
17935
|
+
* Free-form: territory taxonomies vary by org and are modelled structurally
|
|
17936
|
+
* via the `territory` entity when they need to be queryable.
|
|
17937
|
+
*/
|
|
17938
|
+
region?: string;
|
|
17803
17939
|
}
|
|
17804
17940
|
/** Contact.
|
|
17805
17941
|
*
|
|
@@ -17813,6 +17949,15 @@ interface ContactProperties {
|
|
|
17813
17949
|
contact_role?: string;
|
|
17814
17950
|
/** Whether this person has purchasing authority */
|
|
17815
17951
|
is_decision_maker?: boolean;
|
|
17952
|
+
/**
|
|
17953
|
+
* Role this contact plays in the buying committee (the decision-making unit).
|
|
17954
|
+
* The substrate of enterprise multi-threading and of qualification frameworks
|
|
17955
|
+
* (MEDDICC/SPICED): a deal with no `champion` and no `economic_buyer` mapped is
|
|
17956
|
+
* single-threaded and at risk. `is_decision_maker` becomes largely derivable
|
|
17957
|
+
* (`buying_role = economic_buyer`) but is kept for back-compat.
|
|
17958
|
+
* @example 'economic_buyer'
|
|
17959
|
+
*/
|
|
17960
|
+
buying_role?: 'champion' | 'economic_buyer' | 'technical_evaluator' | 'end_user' | 'detractor' | 'influencer' | 'procurement' | 'legal' | 'security';
|
|
17816
17961
|
}
|
|
17817
17962
|
/** Lead.
|
|
17818
17963
|
*
|
|
@@ -17848,6 +17993,45 @@ interface DealProperties {
|
|
|
17848
17993
|
close_date?: ISODate;
|
|
17849
17994
|
/** Likelihood of closing (0-100%) */
|
|
17850
17995
|
probability?: number;
|
|
17996
|
+
/**
|
|
17997
|
+
* Terminal result of the deal. An Event-axis outcome (the verdict on a
|
|
17998
|
+
* one-time event), NOT a lifecycle phase, so it is `deal_outcome` and not
|
|
17999
|
+
* `deal_status` per the status-convention Rule 3. Lifecycle (open/won/lost as
|
|
18000
|
+
* phases) belongs on the base `status` slot; this records the win/loss verdict
|
|
18001
|
+
* a closed deal carries and gives `deal_lost_to_competitor` / win-loss study
|
|
18002
|
+
* derivations their anchor.
|
|
18003
|
+
* @example 'won'
|
|
18004
|
+
*/
|
|
18005
|
+
deal_outcome?: 'won' | 'lost' | 'no_decision';
|
|
18006
|
+
/**
|
|
18007
|
+
* Motion this deal belongs to. Mirrors `PipelineSales.pipeline_type` at the
|
|
18008
|
+
* deal grain; `renewal` is the value `subscription_renews_via_deal` points at.
|
|
18009
|
+
* @example 'expansion'
|
|
18010
|
+
*/
|
|
18011
|
+
deal_type?: 'new_business' | 'expansion' | 'renewal';
|
|
18012
|
+
/**
|
|
18013
|
+
* The single most-used CRM field: the next concrete action to move the deal.
|
|
18014
|
+
* Free text on purpose (a coordination note, not a structured task).
|
|
18015
|
+
* @example 'Send security questionnaire to procurement'
|
|
18016
|
+
*/
|
|
18017
|
+
next_step?: string;
|
|
18018
|
+
/** When the `next_step` is due (ISO format). */
|
|
18019
|
+
next_step_date?: ISODate;
|
|
18020
|
+
/**
|
|
18021
|
+
* Qualification framework this deal is scored against. Names the rubric so the
|
|
18022
|
+
* `qualification_score` is interpretable; per-pillar booleans (MEDDICC's Metrics /
|
|
18023
|
+
* Economic buyer / Decision criteria / …) are deferred until `custom` recurrence
|
|
18024
|
+
* proves the demand.
|
|
18025
|
+
* @example 'meddicc'
|
|
18026
|
+
*/
|
|
18027
|
+
qualification_framework?: 'meddicc' | 'bant' | 'spiced' | 'custom';
|
|
18028
|
+
/**
|
|
18029
|
+
* How well-qualified the deal is, on the canonical `confidence_5` scale
|
|
18030
|
+
* (UPGAssessment: numeric value plus a high/medium/low label). Coarse by
|
|
18031
|
+
* design; the granular per-pillar breakdown is deferred (see
|
|
18032
|
+
* `qualification_framework`).
|
|
18033
|
+
*/
|
|
18034
|
+
qualification_score?: UPGAssessment;
|
|
17851
18035
|
}
|
|
17852
18036
|
/** Sales pipeline.
|
|
17853
18037
|
*
|
|
@@ -22554,7 +22738,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
22554
22738
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
22555
22739
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
22556
22740
|
*/
|
|
22557
|
-
declare const UPG_VERSION: "0.
|
|
22741
|
+
declare const UPG_VERSION: "0.25.0";
|
|
22558
22742
|
/**
|
|
22559
22743
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
22560
22744
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|