@unified-product-graph/core 0.20.2 → 0.22.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/README.md +1 -1
- package/dist/index.cjs +351 -578
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -16
- package/dist/index.d.ts +27 -16
- package/dist/index.js +351 -578
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5793,6 +5793,20 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5793
5793
|
source_type: string;
|
|
5794
5794
|
target_type: string;
|
|
5795
5795
|
};
|
|
5796
|
+
organization_thinks_in_workspace: {
|
|
5797
|
+
forward_verb: string;
|
|
5798
|
+
reverse_verb: string;
|
|
5799
|
+
classification: "hierarchy";
|
|
5800
|
+
source_type: string;
|
|
5801
|
+
target_type: string;
|
|
5802
|
+
};
|
|
5803
|
+
product_area_thinks_in_workspace: {
|
|
5804
|
+
forward_verb: string;
|
|
5805
|
+
reverse_verb: string;
|
|
5806
|
+
classification: "hierarchy";
|
|
5807
|
+
source_type: string;
|
|
5808
|
+
target_type: string;
|
|
5809
|
+
};
|
|
5796
5810
|
product_thinks_in_workspace: {
|
|
5797
5811
|
forward_verb: string;
|
|
5798
5812
|
reverse_verb: string;
|
|
@@ -5800,7 +5814,7 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5800
5814
|
source_type: string;
|
|
5801
5815
|
target_type: string;
|
|
5802
5816
|
};
|
|
5803
|
-
|
|
5817
|
+
workspace_produced_node: {
|
|
5804
5818
|
forward_verb: string;
|
|
5805
5819
|
reverse_verb: string;
|
|
5806
5820
|
classification: "causal";
|
|
@@ -7672,7 +7686,7 @@ declare function isDeliberateOnlyEdge(type: string): boolean;
|
|
|
7672
7686
|
/**
|
|
7673
7687
|
* Canonical allow-list of edges that use the `'node'` wildcard endpoint.
|
|
7674
7688
|
*
|
|
7675
|
-
*
|
|
7689
|
+
* Eight semantic families are sanctioned:
|
|
7676
7690
|
*
|
|
7677
7691
|
* 1. **Universal semantic verbs**: any node can inform / constrain / inspire
|
|
7678
7692
|
* any other node. The meaning is deliberately abstract; consumers render
|
|
@@ -7687,6 +7701,15 @@ declare function isDeliberateOnlyEdge(type: string): boolean;
|
|
|
7687
7701
|
* 5. **Framework exercises**: a framework_exercise can include any entity type
|
|
7688
7702
|
* it scores. The technique is type-agnostic, so binding the target would
|
|
7689
7703
|
* re-weld frameworks to one entity type — the limitation this edge removes.
|
|
7704
|
+
* 6. **Universal classification**: any node can be classified against a
|
|
7705
|
+
* classification_value. Classification schemes are type-agnostic.
|
|
7706
|
+
* 7. **Work-item issue links**: blocks/relates/duplicates spans the work-item
|
|
7707
|
+
* set {feature, epic, user_story, task, bug} — endpoint-polymorphic over a
|
|
7708
|
+
* bounded family, not the full type universe.
|
|
7709
|
+
* 8. **Workspace provenance** (WS3, 2026-07-05): a workspace's commit loop can
|
|
7710
|
+
* produce any entity type arranged in it (decision, feature, persona, ...).
|
|
7711
|
+
* Widened from the single-target `workspace_produced_decision`; see
|
|
7712
|
+
* `UPG_EDGE_MIGRATIONS` for the rename rule.
|
|
7690
7713
|
*
|
|
7691
7714
|
* Adding a new polymorphic edge requires extending this array AND the
|
|
7692
7715
|
* spec-integrity regression test, which forces a conscious decision and
|
|
@@ -8858,7 +8881,7 @@ declare const UPG_LIFECYCLES: readonly UPGLifecycle[];
|
|
|
8858
8881
|
*
|
|
8859
8882
|
* @example
|
|
8860
8883
|
* const lifecycle = getLifecycleForType('hypothesis')
|
|
8861
|
-
* // →
|
|
8884
|
+
* // → VALIDATION template (untested → testing → validated | invalidated)
|
|
8862
8885
|
*
|
|
8863
8886
|
* const noLifecycle = getLifecycleForType('persona')
|
|
8864
8887
|
* // → undefined
|
|
@@ -12430,8 +12453,6 @@ interface ScreenProperties {
|
|
|
12430
12453
|
viewport?: 'mobile' | 'tablet' | 'desktop' | 'tv' | 'watch' | 'responsive';
|
|
12431
12454
|
/** Reach */
|
|
12432
12455
|
access_level?: 'public' | 'authenticated' | 'admin' | 'internal';
|
|
12433
|
-
/** Build pipeline stage */
|
|
12434
|
-
screen_status?: 'draft' | 'in_design' | 'built' | 'shipped' | 'deprecated';
|
|
12435
12456
|
/** One-line purpose */
|
|
12436
12457
|
purpose?: string;
|
|
12437
12458
|
}
|
|
@@ -12629,8 +12650,6 @@ interface BrandIdentityProperties {
|
|
|
12629
12650
|
tagline?: string;
|
|
12630
12651
|
/** Mission statement: what the brand exists to do. */
|
|
12631
12652
|
mission_statement?: string;
|
|
12632
|
-
/** Current lifecycle stage of the brand */
|
|
12633
|
-
brand_stage?: 'exploratory' | 'defined' | 'mature';
|
|
12634
12653
|
/**
|
|
12635
12654
|
* Core brand values. The principles the brand stands for.
|
|
12636
12655
|
* @example ["innovation", "transparency", "sustainability"]
|
|
@@ -16202,8 +16221,6 @@ interface CapacityPlanProperties {
|
|
|
16202
16221
|
* }
|
|
16203
16222
|
*/
|
|
16204
16223
|
interface ProgramProperties {
|
|
16205
|
-
/** Current status of the program */
|
|
16206
|
-
program_status?: 'planning' | 'active' | 'on_hold' | 'completed' | 'cancelled';
|
|
16207
16224
|
/** Program start date (ISO format) */
|
|
16208
16225
|
start_date?: ISODate;
|
|
16209
16226
|
/** Program end date (ISO format) */
|
|
@@ -16221,8 +16238,6 @@ interface ProgramProperties {
|
|
|
16221
16238
|
* }
|
|
16222
16239
|
*/
|
|
16223
16240
|
interface ProjectProperties {
|
|
16224
|
-
/** Current status of the project */
|
|
16225
|
-
project_status?: 'planning' | 'active' | 'on_hold' | 'completed' | 'cancelled';
|
|
16226
16241
|
/** Project start date (ISO format) */
|
|
16227
16242
|
start_date?: ISODate;
|
|
16228
16243
|
/** Project end date (ISO format) */
|
|
@@ -16294,8 +16309,6 @@ interface DeliverableProperties {
|
|
|
16294
16309
|
deliverable_type?: 'document' | 'prototype' | 'release' | 'design' | 'report' | 'other';
|
|
16295
16310
|
/** Due date for the deliverable (ISO format) */
|
|
16296
16311
|
due_date?: ISODate;
|
|
16297
|
-
/** Current progress status */
|
|
16298
|
-
deliverable_status?: 'not_started' | 'in_progress' | 'in_review' | 'accepted' | 'rejected';
|
|
16299
16312
|
/** Criteria that must be met for the deliverable to be accepted */
|
|
16300
16313
|
acceptance_criteria?: string;
|
|
16301
16314
|
}
|
|
@@ -18069,8 +18082,6 @@ interface PressReleaseProperties {
|
|
|
18069
18082
|
publish_date?: ISODate;
|
|
18070
18083
|
/** Media outlets targeted for distribution */
|
|
18071
18084
|
outlets?: string[];
|
|
18072
|
-
/** Current status of the press release */
|
|
18073
|
-
pr_status?: 'draft' | 'in_review' | 'distributed' | 'published';
|
|
18074
18085
|
}
|
|
18075
18086
|
/** Event.
|
|
18076
18087
|
*
|
|
@@ -22507,7 +22518,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
22507
22518
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
22508
22519
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
22509
22520
|
*/
|
|
22510
|
-
declare const UPG_VERSION: "0.
|
|
22521
|
+
declare const UPG_VERSION: "0.22.0";
|
|
22511
22522
|
/**
|
|
22512
22523
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
22513
22524
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|
package/dist/index.d.ts
CHANGED
|
@@ -5793,6 +5793,20 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5793
5793
|
source_type: string;
|
|
5794
5794
|
target_type: string;
|
|
5795
5795
|
};
|
|
5796
|
+
organization_thinks_in_workspace: {
|
|
5797
|
+
forward_verb: string;
|
|
5798
|
+
reverse_verb: string;
|
|
5799
|
+
classification: "hierarchy";
|
|
5800
|
+
source_type: string;
|
|
5801
|
+
target_type: string;
|
|
5802
|
+
};
|
|
5803
|
+
product_area_thinks_in_workspace: {
|
|
5804
|
+
forward_verb: string;
|
|
5805
|
+
reverse_verb: string;
|
|
5806
|
+
classification: "hierarchy";
|
|
5807
|
+
source_type: string;
|
|
5808
|
+
target_type: string;
|
|
5809
|
+
};
|
|
5796
5810
|
product_thinks_in_workspace: {
|
|
5797
5811
|
forward_verb: string;
|
|
5798
5812
|
reverse_verb: string;
|
|
@@ -5800,7 +5814,7 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5800
5814
|
source_type: string;
|
|
5801
5815
|
target_type: string;
|
|
5802
5816
|
};
|
|
5803
|
-
|
|
5817
|
+
workspace_produced_node: {
|
|
5804
5818
|
forward_verb: string;
|
|
5805
5819
|
reverse_verb: string;
|
|
5806
5820
|
classification: "causal";
|
|
@@ -7672,7 +7686,7 @@ declare function isDeliberateOnlyEdge(type: string): boolean;
|
|
|
7672
7686
|
/**
|
|
7673
7687
|
* Canonical allow-list of edges that use the `'node'` wildcard endpoint.
|
|
7674
7688
|
*
|
|
7675
|
-
*
|
|
7689
|
+
* Eight semantic families are sanctioned:
|
|
7676
7690
|
*
|
|
7677
7691
|
* 1. **Universal semantic verbs**: any node can inform / constrain / inspire
|
|
7678
7692
|
* any other node. The meaning is deliberately abstract; consumers render
|
|
@@ -7687,6 +7701,15 @@ declare function isDeliberateOnlyEdge(type: string): boolean;
|
|
|
7687
7701
|
* 5. **Framework exercises**: a framework_exercise can include any entity type
|
|
7688
7702
|
* it scores. The technique is type-agnostic, so binding the target would
|
|
7689
7703
|
* re-weld frameworks to one entity type — the limitation this edge removes.
|
|
7704
|
+
* 6. **Universal classification**: any node can be classified against a
|
|
7705
|
+
* classification_value. Classification schemes are type-agnostic.
|
|
7706
|
+
* 7. **Work-item issue links**: blocks/relates/duplicates spans the work-item
|
|
7707
|
+
* set {feature, epic, user_story, task, bug} — endpoint-polymorphic over a
|
|
7708
|
+
* bounded family, not the full type universe.
|
|
7709
|
+
* 8. **Workspace provenance** (WS3, 2026-07-05): a workspace's commit loop can
|
|
7710
|
+
* produce any entity type arranged in it (decision, feature, persona, ...).
|
|
7711
|
+
* Widened from the single-target `workspace_produced_decision`; see
|
|
7712
|
+
* `UPG_EDGE_MIGRATIONS` for the rename rule.
|
|
7690
7713
|
*
|
|
7691
7714
|
* Adding a new polymorphic edge requires extending this array AND the
|
|
7692
7715
|
* spec-integrity regression test, which forces a conscious decision and
|
|
@@ -8858,7 +8881,7 @@ declare const UPG_LIFECYCLES: readonly UPGLifecycle[];
|
|
|
8858
8881
|
*
|
|
8859
8882
|
* @example
|
|
8860
8883
|
* const lifecycle = getLifecycleForType('hypothesis')
|
|
8861
|
-
* // →
|
|
8884
|
+
* // → VALIDATION template (untested → testing → validated | invalidated)
|
|
8862
8885
|
*
|
|
8863
8886
|
* const noLifecycle = getLifecycleForType('persona')
|
|
8864
8887
|
* // → undefined
|
|
@@ -12430,8 +12453,6 @@ interface ScreenProperties {
|
|
|
12430
12453
|
viewport?: 'mobile' | 'tablet' | 'desktop' | 'tv' | 'watch' | 'responsive';
|
|
12431
12454
|
/** Reach */
|
|
12432
12455
|
access_level?: 'public' | 'authenticated' | 'admin' | 'internal';
|
|
12433
|
-
/** Build pipeline stage */
|
|
12434
|
-
screen_status?: 'draft' | 'in_design' | 'built' | 'shipped' | 'deprecated';
|
|
12435
12456
|
/** One-line purpose */
|
|
12436
12457
|
purpose?: string;
|
|
12437
12458
|
}
|
|
@@ -12629,8 +12650,6 @@ interface BrandIdentityProperties {
|
|
|
12629
12650
|
tagline?: string;
|
|
12630
12651
|
/** Mission statement: what the brand exists to do. */
|
|
12631
12652
|
mission_statement?: string;
|
|
12632
|
-
/** Current lifecycle stage of the brand */
|
|
12633
|
-
brand_stage?: 'exploratory' | 'defined' | 'mature';
|
|
12634
12653
|
/**
|
|
12635
12654
|
* Core brand values. The principles the brand stands for.
|
|
12636
12655
|
* @example ["innovation", "transparency", "sustainability"]
|
|
@@ -16202,8 +16221,6 @@ interface CapacityPlanProperties {
|
|
|
16202
16221
|
* }
|
|
16203
16222
|
*/
|
|
16204
16223
|
interface ProgramProperties {
|
|
16205
|
-
/** Current status of the program */
|
|
16206
|
-
program_status?: 'planning' | 'active' | 'on_hold' | 'completed' | 'cancelled';
|
|
16207
16224
|
/** Program start date (ISO format) */
|
|
16208
16225
|
start_date?: ISODate;
|
|
16209
16226
|
/** Program end date (ISO format) */
|
|
@@ -16221,8 +16238,6 @@ interface ProgramProperties {
|
|
|
16221
16238
|
* }
|
|
16222
16239
|
*/
|
|
16223
16240
|
interface ProjectProperties {
|
|
16224
|
-
/** Current status of the project */
|
|
16225
|
-
project_status?: 'planning' | 'active' | 'on_hold' | 'completed' | 'cancelled';
|
|
16226
16241
|
/** Project start date (ISO format) */
|
|
16227
16242
|
start_date?: ISODate;
|
|
16228
16243
|
/** Project end date (ISO format) */
|
|
@@ -16294,8 +16309,6 @@ interface DeliverableProperties {
|
|
|
16294
16309
|
deliverable_type?: 'document' | 'prototype' | 'release' | 'design' | 'report' | 'other';
|
|
16295
16310
|
/** Due date for the deliverable (ISO format) */
|
|
16296
16311
|
due_date?: ISODate;
|
|
16297
|
-
/** Current progress status */
|
|
16298
|
-
deliverable_status?: 'not_started' | 'in_progress' | 'in_review' | 'accepted' | 'rejected';
|
|
16299
16312
|
/** Criteria that must be met for the deliverable to be accepted */
|
|
16300
16313
|
acceptance_criteria?: string;
|
|
16301
16314
|
}
|
|
@@ -18069,8 +18082,6 @@ interface PressReleaseProperties {
|
|
|
18069
18082
|
publish_date?: ISODate;
|
|
18070
18083
|
/** Media outlets targeted for distribution */
|
|
18071
18084
|
outlets?: string[];
|
|
18072
|
-
/** Current status of the press release */
|
|
18073
|
-
pr_status?: 'draft' | 'in_review' | 'distributed' | 'published';
|
|
18074
18085
|
}
|
|
18075
18086
|
/** Event.
|
|
18076
18087
|
*
|
|
@@ -22507,7 +22518,7 @@ declare function isCanonical(text: string): boolean;
|
|
|
22507
22518
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
22508
22519
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
22509
22520
|
*/
|
|
22510
|
-
declare const UPG_VERSION: "0.
|
|
22521
|
+
declare const UPG_VERSION: "0.22.0";
|
|
22511
22522
|
/**
|
|
22512
22523
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
22513
22524
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|