@unified-product-graph/core 0.23.2 → 0.24.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/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
- channel?: 'landing_page' | 'email' | 'social' | 'ad' | 'pitch' | 'press' | 'in_product' | 'other';
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.23.2";
22741
+ declare const UPG_VERSION: "0.24.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
- channel?: 'landing_page' | 'email' | 'social' | 'ad' | 'pitch' | 'press' | 'in_product' | 'other';
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.23.2";
22741
+ declare const UPG_VERSION: "0.24.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).