@instruments/taxonomy 1.1.6 → 1.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/README.md +5 -5
- package/dist/assertions.d.ts +70 -0
- package/dist/authoring.d.ts +33 -0
- package/dist/axes/axis.d.ts +35 -0
- package/dist/axes/construction.d.ts +3 -0
- package/dist/axes/daylight.d.ts +7 -0
- package/dist/axes/element-fabric.d.ts +2 -0
- package/dist/axes/element-fitout.d.ts +2 -0
- package/dist/axes/element-shared.d.ts +13 -0
- package/dist/axes/element.d.ts +2 -0
- package/dist/axes/finish.d.ts +9 -0
- package/dist/axes/format.d.ts +3 -0
- package/dist/axes/index.d.ts +33 -0
- package/dist/axes/installation-layout.d.ts +3 -0
- package/dist/axes/material.d.ts +3 -0
- package/dist/axes/mood-anchors.d.ts +4 -0
- package/dist/axes/mood.d.ts +2 -0
- package/dist/axes/palette.d.ts +7 -0
- package/dist/axes/pattern.d.ts +13 -0
- package/dist/axes/period-anchors.d.ts +4 -0
- package/dist/axes/period.d.ts +29 -0
- package/dist/axes/place-anchors.d.ts +4 -0
- package/dist/axes/place.d.ts +5 -0
- package/dist/axes/product-category.d.ts +3 -0
- package/dist/axes/requirement.d.ts +3 -0
- package/dist/axes/season.d.ts +2 -0
- package/dist/axes/space/arrival.d.ts +2 -0
- package/dist/axes/space/circulation.d.ts +2 -0
- package/dist/axes/space/civic.d.ts +2 -0
- package/dist/axes/space/culture.d.ts +2 -0
- package/dist/axes/space/dining.d.ts +2 -0
- package/dist/axes/space/domestic.d.ts +2 -0
- package/dist/axes/space/fitness.d.ts +2 -0
- package/dist/axes/space/gathering.d.ts +2 -0
- package/dist/axes/space/healthcare.d.ts +2 -0
- package/dist/axes/space/learning.d.ts +2 -0
- package/dist/axes/space/market-neutral.d.ts +1 -0
- package/dist/axes/space/other.d.ts +2 -0
- package/dist/axes/space/outdoor.d.ts +2 -0
- package/dist/axes/space/retail.d.ts +2 -0
- package/dist/axes/space/sanitary.d.ts +2 -0
- package/dist/axes/space/service.d.ts +2 -0
- package/dist/axes/space/shared.d.ts +30 -0
- package/dist/axes/space/sleeping.d.ts +2 -0
- package/dist/axes/space/working.d.ts +2 -0
- package/dist/axes/space-anchors/arrival.d.ts +3 -0
- package/dist/axes/space-anchors/circulation.d.ts +3 -0
- package/dist/axes/space-anchors/civic.d.ts +3 -0
- package/dist/axes/space-anchors/culture.d.ts +3 -0
- package/dist/axes/space-anchors/dining.d.ts +3 -0
- package/dist/axes/space-anchors/domestic.d.ts +3 -0
- package/dist/axes/space-anchors/fitness.d.ts +3 -0
- package/dist/axes/space-anchors/gathering.d.ts +3 -0
- package/dist/axes/space-anchors/healthcare.d.ts +3 -0
- package/dist/axes/space-anchors/learning.d.ts +3 -0
- package/dist/axes/space-anchors/other.d.ts +3 -0
- package/dist/axes/space-anchors/outdoor.d.ts +3 -0
- package/dist/axes/space-anchors/retail.d.ts +3 -0
- package/dist/axes/space-anchors/sanitary.d.ts +3 -0
- package/dist/axes/space-anchors/service.d.ts +3 -0
- package/dist/axes/space-anchors/sleeping.d.ts +3 -0
- package/dist/axes/space-anchors/working.d.ts +3 -0
- package/dist/axes/space-anchors.d.ts +8 -0
- package/dist/axes/space.d.ts +61 -0
- package/dist/axes/style-anchors.d.ts +7 -0
- package/dist/axes/style.d.ts +2 -0
- package/dist/axes/tier.d.ts +42 -0
- package/dist/axes/typology.d.ts +2 -0
- package/dist/axes/unit-shape.d.ts +3 -0
- package/dist/canonicalisation.d.ts +44 -0
- package/dist/crossover-sources.d.ts +52 -0
- package/dist/crosswalks/mapping.d.ts +29 -0
- package/dist/crosswalks/strength.d.ts +19 -0
- package/dist/dictionaries.d.ts +4 -0
- package/dist/estate/concepts.d.ts +117 -0
- package/dist/estate/decomposition.d.ts +40 -0
- package/dist/estate/index.d.ts +4 -0
- package/dist/estate/residue-report.d.ts +45 -0
- package/dist/estate/rows/architecture-projects.d.ts +2 -0
- package/dist/estate/rows/editorial-imagery.d.ts +2 -0
- package/dist/estate/rows/furnishings-retailer.d.ts +2 -0
- package/dist/estate/rows/index.d.ts +2 -0
- package/dist/estate/rows/materials-retrieval.d.ts +2 -0
- package/dist/estate/rows/paint-samples.d.ts +2 -0
- package/dist/estate/rows/rendering-pipeline.d.ts +2 -0
- package/dist/estate/sources.d.ts +106 -0
- package/dist/index.d.ts +5 -339
- package/dist/index.js +902 -670
- package/dist/match.d.ts +107 -0
- package/dist/search-corpus-source.d.ts +6 -0
- package/dist/taste-assertion.d.ts +112 -0
- package/dist/taste.d.ts +2 -0
- package/dist/term.d.ts +352 -0
- package/dist/v1.d.ts +141 -0
- package/package.json +13 -13
package/dist/v1.d.ts
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { ElementPlacement, ExternalMapping, PeriodSpan, RelationPredicate, SearchedWithout, StyleKind, TermProvenance, TermUsage, UsageWithheld } from "./term.js";
|
|
2
|
+
export declare const TAXONOMY_BASE_URI: "https://taxonomy.materialinstruments.com";
|
|
3
|
+
export declare const TAXONOMY_SNAPSHOT: "2026-09-11";
|
|
4
|
+
export declare const TAXONOMY_VERSION: "1.3.0";
|
|
5
|
+
export type CanonicalConceptUri = `${typeof TAXONOMY_BASE_URI}/id/${string}`;
|
|
6
|
+
export type LifecycleStatus = "active" | "deprecated";
|
|
7
|
+
export interface Lifecycle {
|
|
8
|
+
introducedAt: string;
|
|
9
|
+
reviewedAt: string;
|
|
10
|
+
status: LifecycleStatus;
|
|
11
|
+
supersededBy?: CanonicalConceptUri;
|
|
12
|
+
}
|
|
13
|
+
export interface Governance {
|
|
14
|
+
explanation: string;
|
|
15
|
+
lifecycle: Lifecycle;
|
|
16
|
+
provenance: TermProvenance;
|
|
17
|
+
steward: "@instruments/taxonomy";
|
|
18
|
+
}
|
|
19
|
+
export interface AxisNode {
|
|
20
|
+
boundary: string;
|
|
21
|
+
gap?: string;
|
|
22
|
+
governance: Governance;
|
|
23
|
+
kind: "axis";
|
|
24
|
+
label: string;
|
|
25
|
+
lifecycle: Lifecycle;
|
|
26
|
+
order: number;
|
|
27
|
+
provenance: TermProvenance;
|
|
28
|
+
question: string;
|
|
29
|
+
slug: string;
|
|
30
|
+
status: "authored" | "declared";
|
|
31
|
+
uri: string;
|
|
32
|
+
}
|
|
33
|
+
export interface FacetNode {
|
|
34
|
+
axis: string;
|
|
35
|
+
governance: Governance;
|
|
36
|
+
kind: "facet";
|
|
37
|
+
label: string;
|
|
38
|
+
lifecycle: Lifecycle;
|
|
39
|
+
order: number;
|
|
40
|
+
provenance: TermProvenance;
|
|
41
|
+
slug: string;
|
|
42
|
+
uri: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ExternalReference {
|
|
45
|
+
authority: "aat" | "uniclass" | "wikidata";
|
|
46
|
+
identifier: string;
|
|
47
|
+
label: string;
|
|
48
|
+
match: ExternalMapping["match"];
|
|
49
|
+
}
|
|
50
|
+
export interface ConceptNode {
|
|
51
|
+
altLabels?: readonly string[];
|
|
52
|
+
axis: string;
|
|
53
|
+
definition?: string;
|
|
54
|
+
externalReferences?: readonly ExternalReference[];
|
|
55
|
+
facet: string;
|
|
56
|
+
governance: Governance;
|
|
57
|
+
governedBy: "taxonomy";
|
|
58
|
+
kind: "concept";
|
|
59
|
+
label: string;
|
|
60
|
+
lifecycle: Lifecycle;
|
|
61
|
+
note?: string;
|
|
62
|
+
order: number;
|
|
63
|
+
placement?: ElementPlacement;
|
|
64
|
+
provenance: TermProvenance;
|
|
65
|
+
rank?: number;
|
|
66
|
+
searchedWithout?: readonly SearchedWithout[];
|
|
67
|
+
seenAs?: readonly string[];
|
|
68
|
+
slug: string;
|
|
69
|
+
span?: PeriodSpan;
|
|
70
|
+
styleKind?: StyleKind;
|
|
71
|
+
uri: CanonicalConceptUri;
|
|
72
|
+
usage?: TermUsage;
|
|
73
|
+
usageWithheld?: UsageWithheld;
|
|
74
|
+
}
|
|
75
|
+
export type KnowledgeGraphNode = AxisNode | FacetNode | ConceptNode;
|
|
76
|
+
export type GraphPredicate = RelationPredicate | "belongs-to-axis" | "belongs-to-facet" | "broader" | "narrower" | "has-concept" | "has-facet" | "has-part" | "typically-contains" | "supported-by" | "served-by" | "evoked-by" | "influences" | "blended-into" | "reading-of";
|
|
77
|
+
export interface KnowledgeGraphEdge {
|
|
78
|
+
assertion: "asserted" | "inverse";
|
|
79
|
+
from: string;
|
|
80
|
+
governance: Governance;
|
|
81
|
+
lifecycle: Lifecycle;
|
|
82
|
+
predicate: GraphPredicate;
|
|
83
|
+
provenance: TermProvenance;
|
|
84
|
+
role?: "constitutive" | "accent";
|
|
85
|
+
to: string;
|
|
86
|
+
}
|
|
87
|
+
export interface KnowledgeGraph {
|
|
88
|
+
edges: readonly KnowledgeGraphEdge[];
|
|
89
|
+
nodes: readonly KnowledgeGraphNode[];
|
|
90
|
+
}
|
|
91
|
+
export declare const KNOWLEDGE_GRAPH: KnowledgeGraph;
|
|
92
|
+
export interface TaxonomyTarget {
|
|
93
|
+
authority: "taxonomy";
|
|
94
|
+
role?: "primary" | "secondary";
|
|
95
|
+
uri: CanonicalConceptUri;
|
|
96
|
+
}
|
|
97
|
+
export declare const COLOR_SCOPE_REFERENCE_KINDS: readonly ["chroma-level", "color-family", "lightness-level", "named-color", "palette-mood", "temperature-level"];
|
|
98
|
+
export type ColorScopeReferenceKind = (typeof COLOR_SCOPE_REFERENCE_KINDS)[number];
|
|
99
|
+
export interface ColorScopeTarget {
|
|
100
|
+
authority: "colorscope";
|
|
101
|
+
authorityUri: "https://colorscope.materialinstruments.com";
|
|
102
|
+
identifier: string;
|
|
103
|
+
referenceKind: ColorScopeReferenceKind;
|
|
104
|
+
role?: "primary" | "secondary";
|
|
105
|
+
}
|
|
106
|
+
export type LexicalTarget = TaxonomyTarget | ColorScopeTarget;
|
|
107
|
+
export type LexicalContext = "colour" | "material";
|
|
108
|
+
interface LexicalBase {
|
|
109
|
+
explanation: string;
|
|
110
|
+
governance: Governance;
|
|
111
|
+
phrase: string;
|
|
112
|
+
}
|
|
113
|
+
export type LexicalEntry = (LexicalBase & {
|
|
114
|
+
outcome: "equivalent";
|
|
115
|
+
target: LexicalTarget;
|
|
116
|
+
}) | (LexicalBase & {
|
|
117
|
+
contextualPreferences?: readonly {
|
|
118
|
+
context: LexicalContext;
|
|
119
|
+
target: LexicalTarget;
|
|
120
|
+
}[];
|
|
121
|
+
/** An explicitly authored default reading; never inferred from array order. */
|
|
122
|
+
defaultTarget?: LexicalTarget;
|
|
123
|
+
outcome: "ambiguous";
|
|
124
|
+
readings: readonly [LexicalTarget, LexicalTarget, ...LexicalTarget[]];
|
|
125
|
+
}) | (LexicalBase & {
|
|
126
|
+
outcome: "declined";
|
|
127
|
+
reason: string;
|
|
128
|
+
});
|
|
129
|
+
/** Declarative readings only. Consumers choose indexing and application behaviour. */
|
|
130
|
+
export declare const LEXICAL_ENTRIES: readonly LexicalEntry[];
|
|
131
|
+
/** Content address for CI drift checks; changes whenever the public corpus representation changes. */
|
|
132
|
+
export declare const TAXONOMY_CORPUS_REVISION: string;
|
|
133
|
+
export declare const TAXONOMY_CORPUS_METADATA: {
|
|
134
|
+
readonly edgeCount: number;
|
|
135
|
+
readonly lexicalEntryCount: number;
|
|
136
|
+
readonly nodeCount: number;
|
|
137
|
+
readonly revision: string;
|
|
138
|
+
readonly snapshot: "2026-09-11";
|
|
139
|
+
readonly version: "1.3.0";
|
|
140
|
+
};
|
|
141
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instruments/taxonomy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Canonical data-only interiors and architecture knowledge graph and lexical corpus.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"repository": {
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@howells/lint": "^2.2.0",
|
|
28
|
+
"@instruments/colorscope": "7.6.0",
|
|
29
|
+
"@taxonomy/lint-policy": "npm:@howells/lint@1.0.0",
|
|
30
|
+
"@types/node": "^26.4.1",
|
|
31
|
+
"tsup": "^8.5.1",
|
|
32
|
+
"typescript": "^7.0.2",
|
|
33
|
+
"vitest": "^5.0.0"
|
|
34
|
+
},
|
|
26
35
|
"scripts": {
|
|
27
|
-
"build": "
|
|
28
|
-
"lint": "howells-check .",
|
|
29
|
-
"prepare": "pnpm build",
|
|
36
|
+
"build": "tsup && tsc -p tsconfig.build.json && node ../../scripts/finalize-declarations.mjs dist",
|
|
37
|
+
"lint": "node node_modules/@howells/lint/bin/howells-check.mjs .",
|
|
30
38
|
"smoke:packed": "node --experimental-strip-types scripts/smoke-packed-core.ts",
|
|
31
39
|
"sync:colorscope": "vitest run src/colorscope-sync.test.ts",
|
|
32
40
|
"test": "vitest run",
|
|
33
41
|
"typecheck": "tsc --noEmit"
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@howells/lint": "^1.0.0",
|
|
37
|
-
"@instruments/colorscope": "7.3.0",
|
|
38
|
-
"@types/node": "^24.0.0",
|
|
39
|
-
"tsup": "^8.5.1",
|
|
40
|
-
"typescript": "^5.7.0",
|
|
41
|
-
"vitest": "^4.0.0"
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|