@instruments/taxonomy 0.1.0 → 0.3.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.js CHANGED
@@ -1,31 +1,103 @@
1
+ import {
2
+ assertionMeaningFrom
3
+ } from "./chunk-CTKOLWGS.js";
4
+ import {
5
+ ambiguous,
6
+ approximates,
7
+ constitutive,
8
+ declined,
9
+ resolved
10
+ } from "./chunk-WIRA24HM.js";
11
+ import {
12
+ PORTABLE_ASSERTION_TEST_VECTORS,
13
+ TASTE_ASSERTION_CONTRACT_VERSION,
14
+ TAXONOMY_SNAPSHOT_VERSION
15
+ } from "./chunk-FCMCKNQF.js";
16
+ import {
17
+ APPLICATION_TERMS,
18
+ ASSERTION_KEYS,
19
+ AXES,
20
+ AXIS_IDS,
21
+ CONSTRUCTION_TERMS,
22
+ DEFAULT_BUNDLE_ROLE,
23
+ ELEMENT_TERMS,
24
+ FINISH_TERMS,
25
+ FORMAT_TERMS,
26
+ MARKET_NEUTRAL_SPACES,
27
+ MATCH_TEST_VECTORS,
28
+ MATCH_WEIGHTS,
29
+ MATERIAL_FAMILY_TERMS,
30
+ MATERIAL_TERMS,
31
+ MOOD_ANCHORS,
32
+ MOOD_TERMS,
33
+ PALETTE_CHARACTER_TERMS,
34
+ PALETTE_FACETS,
35
+ PALETTE_HUE_TERMS,
36
+ PALETTE_TEMPERATURE_TERMS,
37
+ PATTERN_TERMS,
38
+ PERIOD_ANCHORS,
39
+ PERIOD_TERMS,
40
+ PLACE_ANCHORS,
41
+ PLACE_FACETS,
42
+ PLACE_LANDSCAPE_TERMS,
43
+ PLACE_REGION_TERMS,
44
+ PRODUCT_CATEGORY_TERMS,
45
+ RELATION_PREDICATES,
46
+ REQUIREMENT_TERMS,
47
+ SECTOR_TERMS,
48
+ SPACE_ANCHORS,
49
+ SPACE_SECTORS,
50
+ SPACE_TERMS,
51
+ STYLE_ANCHORS,
52
+ STYLE_TERMS,
53
+ TERM_LOCATIONS,
54
+ TYPOLOGY_TERMS,
55
+ anchorsFor,
56
+ axisById,
57
+ axisTerms,
58
+ canonicalAssertion,
59
+ defineAlternatives,
60
+ defineBundle,
61
+ deprecatedAssertions,
62
+ isCanonicalAssertion,
63
+ marketsServed,
64
+ matchAlternatives,
65
+ matchBundle,
66
+ moodAnchorsFor,
67
+ parseAssertion,
68
+ periodAnchorsFor,
69
+ periodAt,
70
+ periodsAt,
71
+ placeAnchorsFor,
72
+ resolveAssertion,
73
+ resolveTerm,
74
+ searchBundle,
75
+ spaceAnchorsFor,
76
+ unknownAssertions
77
+ } from "./chunk-4ECRPD2I.js";
78
+
79
+ // src/crosswalks/strength.ts
80
+ var SKOS_MATCH_PREDICATE = {
81
+ broad: "skos:broadMatch",
82
+ close: "skos:closeMatch",
83
+ exact: "skos:exactMatch",
84
+ narrow: "skos:narrowMatch",
85
+ related: "skos:relatedMatch"
86
+ };
87
+ var MATCH_STRENGTHS = [
88
+ "broad",
89
+ "close",
90
+ "exact",
91
+ "narrow",
92
+ "related"
93
+ ];
94
+ var isInterchangeable = (strength) => strength === "exact";
95
+
1
96
  // src/index.ts
2
97
  var PROVENANCE = {
3
98
  snapshot: "2026-07-08",
4
99
  source: "materialgraph packages/schema/src/registry/value-dictionaries.ts"
5
100
  };
6
- var MATERIAL_FAMILY_TERMS = [
7
- { id: "paint", label: "Paint", semanticId: "material-family.paint" },
8
- { id: "wall_finish", label: "Wall Finish", semanticId: "material-family.wall-finish" },
9
- { id: "wallcovering", label: "Wallcovering", semanticId: "material-family.wallcovering" },
10
- { id: "textile", label: "Textile", semanticId: "material-family.textile" },
11
- { id: "upholstery", label: "Upholstery", semanticId: "material-family.upholstery" },
12
- { id: "carpet", label: "Carpet", semanticId: "material-family.carpet" },
13
- { id: "wood", label: "Wood", semanticId: "material-family.wood" },
14
- { id: "stone", label: "Stone", semanticId: "material-family.stone" },
15
- { id: "tile", label: "Tile", semanticId: "material-family.tile" },
16
- { id: "terrazzo", label: "Terrazzo", semanticId: "material-family.terrazzo" },
17
- { id: "metal", label: "Metal", semanticId: "material-family.metal" },
18
- { id: "glass", label: "Glass", semanticId: "material-family.glass" },
19
- {
20
- id: "resilient_flooring",
21
- label: "Resilient Flooring",
22
- semanticId: "material-family.resilient-flooring"
23
- },
24
- { id: "composite", label: "Composite", semanticId: "material-family.composite" },
25
- { id: "concrete", label: "Concrete", semanticId: "material-family.concrete" },
26
- { id: "leather", label: "Leather", semanticId: "material-family.leather" },
27
- { id: "other", label: "Other", semanticId: "material-family.other" }
28
- ];
29
101
  var MATERIAL_FAMILIES = [
30
102
  "paint",
31
103
  "wall_finish",
@@ -47,18 +119,6 @@ var MATERIAL_FAMILIES = [
47
119
  ];
48
120
  var MATERIAL_FAMILY_SET = new Set(MATERIAL_FAMILIES);
49
121
  var isMaterialFamily = (value) => MATERIAL_FAMILY_SET.has(value);
50
- var SECTOR_TERMS = [
51
- { id: "hospitality", label: "Hospitality", semanticId: "sector.hospitality" },
52
- { id: "healthcare", label: "Healthcare", semanticId: "sector.healthcare" },
53
- { id: "workplace", label: "Workplace", semanticId: "sector.workplace" },
54
- { id: "residential", label: "Residential", semanticId: "sector.residential" },
55
- { id: "retail", label: "Retail", semanticId: "sector.retail" },
56
- { id: "education", label: "Education", semanticId: "sector.education" },
57
- { id: "civic", label: "Civic", semanticId: "sector.civic" },
58
- { id: "mixed_use", label: "Mixed-Use", semanticId: "sector.mixed-use" },
59
- { id: "transportation", label: "Transportation", semanticId: "sector.transportation" },
60
- { id: "other", label: "Other", semanticId: "sector.other" }
61
- ];
62
122
  var SECTORS = [
63
123
  "hospitality",
64
124
  "healthcare",
@@ -73,114 +133,8 @@ var SECTORS = [
73
133
  ];
74
134
  var SECTOR_SET = new Set(SECTORS);
75
135
  var isSector = (value) => SECTOR_SET.has(value);
76
- var APPLICATION_TERMS = [
77
- { id: "wall", label: "Wall" },
78
- { id: "flooring", label: "Flooring" },
79
- { id: "ceiling", label: "Ceiling" },
80
- { id: "bath", label: "Bath" },
81
- { id: "kitchen", label: "Kitchen" },
82
- { id: "furniture", label: "Furniture" },
83
- { id: "lighting", label: "Lighting" },
84
- { id: "door", label: "Door" },
85
- { id: "window", label: "Window" },
86
- { id: "facade", label: "Facade" },
87
- { id: "countertop", label: "Countertop" },
88
- { id: "fireplace", label: "Fireplace" },
89
- { id: "stair_elevator", label: "Stair & Elevator" },
90
- { id: "bedding", label: "Bedding" },
91
- { id: "decor", label: "Decor" },
92
- { id: "vertically_hanging", label: "Vertically Hanging" },
93
- { id: "transportation", label: "Transportation" },
94
- { id: "pool_fountain", label: "Pool & Fountain" },
95
- { id: "paving_deck", label: "Paving & Deck" },
96
- { id: "partition", label: "Partition" },
97
- { id: "millwork", label: "Millwork" },
98
- { id: "cabinetry", label: "Cabinetry" },
99
- { id: "masonry", label: "Masonry" },
100
- { id: "roof", label: "Roof" },
101
- { id: "garage", label: "Garage" },
102
- { id: "bar", label: "Bar" },
103
- { id: "awning_umbrella", label: "Awning & Umbrella" },
104
- { id: "recreation_sport", label: "Recreation & Sport" },
105
- { id: "ornamentation", label: "Ornamentation" },
106
- { id: "aquatic_environments", label: "Aquatic Environments" },
107
- { id: "wall_backsplash", label: "Backsplash", broaderTermId: "wall" },
108
- { id: "wall_upholstered", label: "Upholstered Wall", broaderTermId: "wall" },
109
- { id: "wall_wet_shower", label: "Wet Wall & Shower Wall", broaderTermId: "wall" },
110
- { id: "flooring_wet_area", label: "Wet Area Flooring", broaderTermId: "flooring" },
111
- { id: "flooring_entrance", label: "Entrance & Walk-Off Flooring", broaderTermId: "flooring" },
112
- {
113
- id: "flooring_radiant_heat",
114
- label: "Flooring for Radiant Heat Systems",
115
- broaderTermId: "flooring"
116
- },
117
- { id: "flooring_or_lab", label: "Operating Rooms & Labs", broaderTermId: "flooring" },
118
- { id: "flooring_anti_fatigue", label: "Anti-Fatigue Flooring", broaderTermId: "flooring" },
119
- { id: "flooring_esd", label: "Electrostatic Dissipative Flooring", broaderTermId: "flooring" },
120
- {
121
- id: "flooring_safety_slip",
122
- label: "Safety & Slip-Resistant Flooring",
123
- broaderTermId: "flooring"
124
- },
125
- { id: "flooring_raised_access", label: "Raised Access Flooring", broaderTermId: "flooring" },
126
- { id: "flooring_rigid_core", label: "Rigid Core Flooring", broaderTermId: "flooring" },
127
- { id: "flooring_dining_area", label: "Dining Area Flooring", broaderTermId: "flooring" },
128
- { id: "flooring_subject_oil", label: "Subject to Oil Flooring", broaderTermId: "flooring" },
129
- { id: "flooring_walk_in_freezer", label: "Walk-In Freezer", broaderTermId: "flooring" },
130
- { id: "flooring_ramps_inclines", label: "Ramps & Inclines", broaderTermId: "flooring" },
131
- { id: "furniture_seating", label: "Seating", broaderTermId: "furniture" },
132
- { id: "furniture_headboard", label: "Headboard", broaderTermId: "furniture" },
133
- { id: "furniture_slipcover", label: "Slipcover", broaderTermId: "furniture" },
134
- { id: "furniture_systems", label: "Systems Furniture", broaderTermId: "furniture" },
135
- { id: "furniture_tackboard", label: "Tackboard", broaderTermId: "furniture" },
136
- { id: "furniture_throw_pillow", label: "Throw Pillow", broaderTermId: "furniture" },
137
- { id: "fireplace_firebox", label: "Firebox", broaderTermId: "fireplace" },
138
- { id: "fireplace_hearth", label: "Fireplace Hearth", broaderTermId: "fireplace" },
139
- { id: "fireplace_mantel", label: "Fireplace Mantel", broaderTermId: "fireplace" },
140
- { id: "fireplace_surround", label: "Fireplace Surround", broaderTermId: "fireplace" },
141
- { id: "bedding_bed_scarf", label: "Bed Scarf", broaderTermId: "bedding" },
142
- { id: "bedding_sheets", label: "Bed Sheets", broaderTermId: "bedding" },
143
- { id: "bedding_skirt", label: "Bed Skirt", broaderTermId: "bedding" },
144
- { id: "bedding_bedspread", label: "Bedspread", broaderTermId: "bedding" },
145
- { id: "bedding_box_spring_cover", label: "Box Spring Cover", broaderTermId: "bedding" },
146
- { id: "stair_riser", label: "Stair Riser", broaderTermId: "stair_elevator" },
147
- { id: "stair_tread", label: "Stair Tread", broaderTermId: "stair_elevator" },
148
- { id: "stair_railing", label: "Railing", broaderTermId: "stair_elevator" },
149
- { id: "stair_elevator_cladding", label: "Elevator Cladding", broaderTermId: "stair_elevator" },
150
- { id: "vh_drapery", label: "Drapery", broaderTermId: "vertically_hanging" },
151
- { id: "vh_privacy_curtain", label: "Privacy Curtain", broaderTermId: "vertically_hanging" },
152
- { id: "vh_shower_curtain", label: "Shower Curtain", broaderTermId: "vertically_hanging" },
153
- { id: "vh_theatrical_curtain", label: "Theatrical Curtain", broaderTermId: "vertically_hanging" },
154
- { id: "vh_window_shade", label: "Window Shade", broaderTermId: "vertically_hanging" },
155
- { id: "transportation_automotive", label: "Automotive", broaderTermId: "transportation" },
156
- { id: "transportation_aviation", label: "Aviation", broaderTermId: "transportation" },
157
- { id: "transportation_marine", label: "Marine", broaderTermId: "transportation" },
158
- { id: "pool_coping", label: "Pool Coping", broaderTermId: "pool_fountain" },
159
- { id: "pool_decking", label: "Pool Decking", broaderTermId: "pool_fountain" },
160
- { id: "pool_lining", label: "Pool Lining", broaderTermId: "pool_fountain" },
161
- { id: "paving_covered_areas", label: "Covered Areas", broaderTermId: "paving_deck" },
162
- { id: "paving_patio", label: "Patio", broaderTermId: "paving_deck" },
163
- { id: "partition_toilet", label: "Toilet Partition", broaderTermId: "partition" },
164
- { id: "masonry_structural", label: "Structural Masonry", broaderTermId: "masonry" },
165
- { id: "masonry_veneer", label: "Veneer Masonry", broaderTermId: "masonry" },
166
- { id: "recreation_gymnasium", label: "Gymnasium", broaderTermId: "recreation_sport" },
167
- { id: "recreation_playground", label: "Playground", broaderTermId: "recreation_sport" },
168
- {
169
- id: "recreation_weightlifting",
170
- label: "Weightlifting Room",
171
- broaderTermId: "recreation_sport"
172
- },
173
- { id: "awning", label: "Awning", broaderTermId: "awning_umbrella" },
174
- { id: "tensile_structure", label: "Tensile Structure", broaderTermId: "awning_umbrella" },
175
- { id: "umbrella", label: "Umbrella", broaderTermId: "awning_umbrella" },
176
- {
177
- id: "countertop_chemical_resistant",
178
- label: "Chemical Resistant Top",
179
- broaderTermId: "countertop"
180
- }
181
- ];
182
136
  var APPLICATIONS = [
183
- // Top-level (30)
137
+ // Top-level (32)
184
138
  "wall",
185
139
  "flooring",
186
140
  "ceiling",
@@ -211,6 +165,8 @@ var APPLICATIONS = [
211
165
  "recreation_sport",
212
166
  "ornamentation",
213
167
  "aquatic_environments",
168
+ "upholstery",
169
+ "trim",
214
170
  // Children (58)
215
171
  "wall_backsplash",
216
172
  "wall_upholstered",
@@ -338,13 +294,82 @@ export {
338
294
  APPLICATIONS,
339
295
  APPLICATION_PARENTS,
340
296
  APPLICATION_TERMS,
297
+ ASSERTION_KEYS,
298
+ AXES,
299
+ AXIS_IDS,
300
+ CONSTRUCTION_TERMS,
301
+ DEFAULT_BUNDLE_ROLE,
302
+ ELEMENT_TERMS,
303
+ FINISH_TERMS,
304
+ FORMAT_TERMS,
305
+ MARKET_NEUTRAL_SPACES,
306
+ MATCH_STRENGTHS,
307
+ MATCH_TEST_VECTORS,
308
+ MATCH_WEIGHTS,
341
309
  MATERIAL_FAMILIES,
342
310
  MATERIAL_FAMILY_TERMS,
311
+ MATERIAL_TERMS,
312
+ MOOD_ANCHORS,
313
+ MOOD_TERMS,
314
+ PALETTE_CHARACTER_TERMS,
315
+ PALETTE_FACETS,
316
+ PALETTE_HUE_TERMS,
317
+ PALETTE_TEMPERATURE_TERMS,
318
+ PATTERN_TERMS,
319
+ PERIOD_ANCHORS,
320
+ PERIOD_TERMS,
321
+ PLACE_ANCHORS,
322
+ PLACE_FACETS,
323
+ PLACE_LANDSCAPE_TERMS,
324
+ PLACE_REGION_TERMS,
325
+ PORTABLE_ASSERTION_TEST_VECTORS,
326
+ PRODUCT_CATEGORY_TERMS,
343
327
  PROVENANCE,
328
+ RELATION_PREDICATES,
329
+ REQUIREMENT_TERMS,
344
330
  SECTORS,
345
331
  SECTOR_TERMS,
332
+ SKOS_MATCH_PREDICATE,
333
+ SPACE_ANCHORS,
334
+ SPACE_SECTORS,
335
+ SPACE_TERMS,
336
+ STYLE_ANCHORS,
337
+ STYLE_TERMS,
338
+ TASTE_ASSERTION_CONTRACT_VERSION,
339
+ TAXONOMY_SNAPSHOT_VERSION,
340
+ TERM_LOCATIONS,
341
+ TYPOLOGY_TERMS,
342
+ ambiguous as ambiguousMapping,
343
+ anchorsFor,
346
344
  applicationTopLevelOf,
345
+ approximates as approximateMapping,
346
+ assertionMeaningFrom,
347
+ axisById,
348
+ axisTerms,
349
+ canonicalAssertion,
350
+ constitutive as constitutiveMapping,
351
+ declined as declinedMapping,
352
+ defineAlternatives,
353
+ defineBundle,
354
+ deprecatedAssertions,
347
355
  isApplication,
356
+ isCanonicalAssertion,
357
+ isInterchangeable,
348
358
  isMaterialFamily,
349
- isSector
359
+ isSector,
360
+ marketsServed,
361
+ matchAlternatives,
362
+ matchBundle,
363
+ moodAnchorsFor,
364
+ parseAssertion,
365
+ periodAnchorsFor,
366
+ periodAt,
367
+ periodsAt,
368
+ placeAnchorsFor,
369
+ resolveAssertion,
370
+ resolveTerm,
371
+ resolved as resolvedMapping,
372
+ searchBundle,
373
+ spaceAnchorsFor,
374
+ unknownAssertions
350
375
  };
@@ -0,0 +1,31 @@
1
+ import { a as BundleMemberInput, M as MatchStrength } from './match-CWzTEuL-.js';
2
+
3
+ type CrosswalkMapping = {
4
+ status: "resolved";
5
+ assertions: readonly BundleMemberInput[];
6
+ match: MatchStrength;
7
+ note?: string;
8
+ } | {
9
+ status: "ambiguous";
10
+ alternatives: readonly (readonly BundleMemberInput[])[];
11
+ match: MatchStrength;
12
+ note?: string;
13
+ } | {
14
+ status: "declined";
15
+ reason: string;
16
+ };
17
+ /** A compound row: the source value is fully carried by the assertions together. */
18
+ declare const resolved: (...assertions: readonly string[]) => CrosswalkMapping;
19
+ /** One canonical term, interchangeable with the source value in retrieval. */
20
+ declare const constitutive: (assertion: string) => CrosswalkMapping;
21
+ /**
22
+ * A row that is not an identity. The strength says how it falls short and the note says why, both
23
+ * required: an approximation nobody had to justify is how a close match ships as an exact one.
24
+ */
25
+ declare const approximates: (match: Exclude<MatchStrength, "exact">, note: string, ...assertions: readonly string[]) => CrosswalkMapping;
26
+ /** The source is known to mean one of these and never recorded which. `match` grades each reading. */
27
+ declare const ambiguous: (match: MatchStrength, ...assertions: readonly string[]) => CrosswalkMapping;
28
+ /** A curated refusal. Distinct from an absent row, which means nobody has looked. */
29
+ declare const declined: (reason: string) => CrosswalkMapping;
30
+
31
+ export { type CrosswalkMapping as C, ambiguous as a, approximates as b, constitutive as c, declined as d, resolved as r };