@unified-product-graph/core 0.9.7 → 0.9.8
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 +20 -1
- package/dist/index.cjs +6 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -7172,7 +7172,7 @@ interface UPGProduct {
|
|
|
7172
7172
|
/** Product lifecycle stages. Covers the full arc from napkin idea to end-of-life. */
|
|
7173
7173
|
type UPGProductStage = 'concept' | 'validation' | 'build' | 'beta' | 'launch' | 'growth' | 'mature' | 'maintenance' | 'sunset';
|
|
7174
7174
|
/** The set of valid cross-product relationship types */
|
|
7175
|
-
type UPGCrossEdgeType = 'shares_persona' | 'shares_competitor' | 'shares_metric' | 'depends_on_product' | 'cannibalises' | 'succeeds' | 'hosts' | 'contributes_to' | 'instance_of';
|
|
7175
|
+
type UPGCrossEdgeType = 'shares_persona' | 'shares_competitor' | 'shares_metric' | 'depends_on_product' | 'cannibalises' | 'succeeds' | 'hosts' | 'contributes_to' | 'instance_of' | 'area_serves_persona' | 'area_targets_market_segment' | 'rolls_up_to';
|
|
7176
7176
|
/**
|
|
7177
7177
|
* Runtime-checkable list of valid cross-product edge types. Mirrors
|
|
7178
7178
|
* `UPGCrossEdgeType` for use in validators and writers that need to test
|
|
@@ -7207,6 +7207,26 @@ interface UPGCrossEdge {
|
|
|
7207
7207
|
target_product_id?: string;
|
|
7208
7208
|
/** Confidence level if this edge was inferred during import */
|
|
7209
7209
|
mapping_confidence?: UPGMappingConfidence;
|
|
7210
|
+
/**
|
|
7211
|
+
* Sanctioned divergence marker (`instance_of` only). When true, registry drift
|
|
7212
|
+
* detection treats an instance title that differs from its canonical as
|
|
7213
|
+
* intentional (an informative product-local name, e.g. "Vercel Platform / SDK"
|
|
7214
|
+
* vs canonical "Vercel"), excluding it from the `title_divergence` count so
|
|
7215
|
+
* `clean` reflects only un-sanctioned drift.
|
|
7216
|
+
*/
|
|
7217
|
+
alias?: boolean;
|
|
7218
|
+
/**
|
|
7219
|
+
* Audience relevance for `area_serves_persona` / `area_targets_market_segment`:
|
|
7220
|
+
* whether the audience is a primary or secondary focus of this area. The
|
|
7221
|
+
* primary-vs-secondary distinction is the core value of the area-to-audience matrix.
|
|
7222
|
+
*/
|
|
7223
|
+
relevance?: 'primary' | 'secondary';
|
|
7224
|
+
/**
|
|
7225
|
+
* Audience role in this area's context (`area_serves_persona`). Mirrors
|
|
7226
|
+
* `PersonaProperties.audience_role`: the same persona can be a `buyer` for one
|
|
7227
|
+
* area and a `user` for another.
|
|
7228
|
+
*/
|
|
7229
|
+
audience_role?: 'buyer' | 'user' | 'champion' | 'influencer' | 'partner';
|
|
7210
7230
|
}
|
|
7211
7231
|
/**
|
|
7212
7232
|
* A product area within a portfolio. The organisational axis (who owns
|
|
@@ -20778,7 +20798,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
20778
20798
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
20779
20799
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
20780
20800
|
*/
|
|
20781
|
-
declare const UPG_VERSION: "0.9.
|
|
20801
|
+
declare const UPG_VERSION: "0.9.8";
|
|
20782
20802
|
/**
|
|
20783
20803
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
20784
20804
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|
package/dist/index.d.ts
CHANGED
|
@@ -7172,7 +7172,7 @@ interface UPGProduct {
|
|
|
7172
7172
|
/** Product lifecycle stages. Covers the full arc from napkin idea to end-of-life. */
|
|
7173
7173
|
type UPGProductStage = 'concept' | 'validation' | 'build' | 'beta' | 'launch' | 'growth' | 'mature' | 'maintenance' | 'sunset';
|
|
7174
7174
|
/** The set of valid cross-product relationship types */
|
|
7175
|
-
type UPGCrossEdgeType = 'shares_persona' | 'shares_competitor' | 'shares_metric' | 'depends_on_product' | 'cannibalises' | 'succeeds' | 'hosts' | 'contributes_to' | 'instance_of';
|
|
7175
|
+
type UPGCrossEdgeType = 'shares_persona' | 'shares_competitor' | 'shares_metric' | 'depends_on_product' | 'cannibalises' | 'succeeds' | 'hosts' | 'contributes_to' | 'instance_of' | 'area_serves_persona' | 'area_targets_market_segment' | 'rolls_up_to';
|
|
7176
7176
|
/**
|
|
7177
7177
|
* Runtime-checkable list of valid cross-product edge types. Mirrors
|
|
7178
7178
|
* `UPGCrossEdgeType` for use in validators and writers that need to test
|
|
@@ -7207,6 +7207,26 @@ interface UPGCrossEdge {
|
|
|
7207
7207
|
target_product_id?: string;
|
|
7208
7208
|
/** Confidence level if this edge was inferred during import */
|
|
7209
7209
|
mapping_confidence?: UPGMappingConfidence;
|
|
7210
|
+
/**
|
|
7211
|
+
* Sanctioned divergence marker (`instance_of` only). When true, registry drift
|
|
7212
|
+
* detection treats an instance title that differs from its canonical as
|
|
7213
|
+
* intentional (an informative product-local name, e.g. "Vercel Platform / SDK"
|
|
7214
|
+
* vs canonical "Vercel"), excluding it from the `title_divergence` count so
|
|
7215
|
+
* `clean` reflects only un-sanctioned drift.
|
|
7216
|
+
*/
|
|
7217
|
+
alias?: boolean;
|
|
7218
|
+
/**
|
|
7219
|
+
* Audience relevance for `area_serves_persona` / `area_targets_market_segment`:
|
|
7220
|
+
* whether the audience is a primary or secondary focus of this area. The
|
|
7221
|
+
* primary-vs-secondary distinction is the core value of the area-to-audience matrix.
|
|
7222
|
+
*/
|
|
7223
|
+
relevance?: 'primary' | 'secondary';
|
|
7224
|
+
/**
|
|
7225
|
+
* Audience role in this area's context (`area_serves_persona`). Mirrors
|
|
7226
|
+
* `PersonaProperties.audience_role`: the same persona can be a `buyer` for one
|
|
7227
|
+
* area and a `user` for another.
|
|
7228
|
+
*/
|
|
7229
|
+
audience_role?: 'buyer' | 'user' | 'champion' | 'influencer' | 'partner';
|
|
7210
7230
|
}
|
|
7211
7231
|
/**
|
|
7212
7232
|
* A product area within a portfolio. The organisational axis (who owns
|
|
@@ -20778,7 +20798,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
20778
20798
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
20779
20799
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
20780
20800
|
*/
|
|
20781
|
-
declare const UPG_VERSION: "0.9.
|
|
20801
|
+
declare const UPG_VERSION: "0.9.8";
|
|
20782
20802
|
/**
|
|
20783
20803
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
20784
20804
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|
package/dist/index.js
CHANGED
|
@@ -2893,7 +2893,10 @@ var UPG_CROSS_EDGE_TYPES = [
|
|
|
2893
2893
|
"succeeds",
|
|
2894
2894
|
"hosts",
|
|
2895
2895
|
"contributes_to",
|
|
2896
|
-
"instance_of"
|
|
2896
|
+
"instance_of",
|
|
2897
|
+
"area_serves_persona",
|
|
2898
|
+
"area_targets_market_segment",
|
|
2899
|
+
"rolls_up_to"
|
|
2897
2900
|
];
|
|
2898
2901
|
var REGISTRY_PRODUCT_ID = "registry";
|
|
2899
2902
|
|
|
@@ -26602,7 +26605,7 @@ var NODE_KEY_ORDER = [
|
|
|
26602
26605
|
"properties"
|
|
26603
26606
|
];
|
|
26604
26607
|
var EDGE_KEY_ORDER = ["id", "source", "target", "type", "mapping_confidence", "properties"];
|
|
26605
|
-
var CROSS_EDGE_KEY_ORDER = ["id", "source", "target", "type", "source_product_id", "target_product_id", "mapping_confidence"];
|
|
26608
|
+
var CROSS_EDGE_KEY_ORDER = ["id", "source", "target", "type", "source_product_id", "target_product_id", "mapping_confidence", "alias", "relevance", "audience_role"];
|
|
26606
26609
|
var PRODUCT_KEY_ORDER = ["id", "title", "description", "stage", "properties"];
|
|
26607
26610
|
function canonicalNode(node) {
|
|
26608
26611
|
const repaired = repairNodeDrift(node);
|
|
@@ -26795,7 +26798,7 @@ function isCanonical(text) {
|
|
|
26795
26798
|
}
|
|
26796
26799
|
|
|
26797
26800
|
// src/index.ts
|
|
26798
|
-
var UPG_VERSION = "0.9.
|
|
26801
|
+
var UPG_VERSION = "0.9.8";
|
|
26799
26802
|
var UPG_FORMAT_VERSION = "0.4.0";
|
|
26800
26803
|
var MARKDOWN_FORMAT_VERSION = "0.1";
|
|
26801
26804
|
var UPG_TYPES = getTypes();
|