@skhema/method 0.1.1 → 0.2.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.
Files changed (40) hide show
  1. package/dist/domain/entity-type-definitions.d.ts +7 -0
  2. package/dist/domain/entity-type-definitions.d.ts.map +1 -0
  3. package/dist/domain/entity-type-definitions.js +201 -0
  4. package/dist/domain/entity-type-definitions.js.map +1 -0
  5. package/dist/domain/entity-types.d.ts +11 -0
  6. package/dist/domain/entity-types.d.ts.map +1 -0
  7. package/dist/domain/entity-types.js +29 -0
  8. package/dist/domain/entity-types.js.map +1 -0
  9. package/dist/domain/glossary-terms.d.ts +3 -0
  10. package/dist/domain/glossary-terms.d.ts.map +1 -0
  11. package/dist/domain/glossary-terms.js +263 -0
  12. package/dist/domain/glossary-terms.js.map +1 -0
  13. package/dist/domain/glossary.d.ts +19 -0
  14. package/dist/domain/glossary.d.ts.map +1 -0
  15. package/dist/domain/glossary.js +62 -0
  16. package/dist/domain/glossary.js.map +1 -0
  17. package/dist/domain/index.d.ts +6 -0
  18. package/dist/domain/index.d.ts.map +1 -0
  19. package/dist/domain/index.js +6 -0
  20. package/dist/domain/index.js.map +1 -0
  21. package/dist/domain/segmentation-dimensions.d.ts +13 -0
  22. package/dist/domain/segmentation-dimensions.d.ts.map +1 -0
  23. package/dist/domain/segmentation-dimensions.js +26 -0
  24. package/dist/domain/segmentation-dimensions.js.map +1 -0
  25. package/dist/domain/types.d.ts +75 -0
  26. package/dist/domain/types.d.ts.map +1 -0
  27. package/dist/domain/types.js +21 -0
  28. package/dist/domain/types.js.map +1 -0
  29. package/dist/domain/validate.d.ts +28 -0
  30. package/dist/domain/validate.d.ts.map +1 -0
  31. package/dist/domain/validate.js +98 -0
  32. package/dist/domain/validate.js.map +1 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/validate.d.ts.map +1 -1
  38. package/dist/validate.js +8 -0
  39. package/dist/validate.js.map +1 -1
  40. package/package.json +2 -2
@@ -0,0 +1,7 @@
1
+ import type { EntityTypeDefinition } from "./types.js";
2
+ /**
3
+ * Governed entity-type list. Every record carries `provenance`; the shared
4
+ * `provSkhema` default is applied unless a record declares its own.
5
+ */
6
+ export declare const ENTITY_TYPE_DEFINITIONS: readonly EntityTypeDefinition[];
7
+ //# sourceMappingURL=entity-type-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-type-definitions.d.ts","sourceRoot":"","sources":["../../src/domain/entity-type-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAmNvD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAI9D,CAAC"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Canonical entity-type definitions.
3
+ *
4
+ * Every entity type referenced by a method slot's `acceptedEntityTypes`
5
+ * (`definitions.ts`) is promoted here into a governed definition. The
6
+ * `validateMethodSpec()` audit fails the build if a slot references a type absent
7
+ * from this list, so this file and the method slots stay in lockstep.
8
+ *
9
+ * Grouped by semantic family for readability; the runtime registry (entity-types.ts)
10
+ * treats the array as flat. The eight segmentation dimensions (isSegmentationDimension)
11
+ * also appear in SEGMENTATION_DIMENSIONS; that consistency is asserted by
12
+ * `validateDomainKnowledge()`.
13
+ *
14
+ * Provenance: every entity type here is Skhema-authored, so a shared `provSkhema`
15
+ * default is applied to each record by `ENTITY_TYPE_DEFINITIONS` below (mirroring the
16
+ * per-term provenance in glossary-terms.ts). A record that declares its own
17
+ * `provenance` keeps it. This keeps the "provenance on every record" invariant true
18
+ * without repeating the field on all ~140 literals.
19
+ */
20
+ const provSkhema = { origin: "skhema-authored" };
21
+ const ENTITY_TYPE_DEFINITIONS_RAW = [
22
+ // ── Segmentation dimensions (market/customer scope axes) ──────────────────────
23
+ { id: "market", label: "Market", description: "A market the strategy operates in or targets.", isSegmentationDimension: true },
24
+ {
25
+ id: "segment",
26
+ label: "Segment",
27
+ description: "A customer or market segment.",
28
+ aliases: ["customer_segment"],
29
+ examples: ["Enterprise", "SMB", "Consumer"],
30
+ isSegmentationDimension: true,
31
+ },
32
+ {
33
+ id: "geo",
34
+ label: "Geography",
35
+ description: "A geographic location, region, or market boundary.",
36
+ aliases: ["geography"],
37
+ examples: ["Australia", "APAC", "North Sydney"],
38
+ isSegmentationDimension: true,
39
+ },
40
+ { id: "category", label: "Category", description: "A product or business category.", aliases: ["product_category"], isSegmentationDimension: true },
41
+ { id: "product", label: "Product", description: "A product or product line.", classificationSource: "classification_product", isSegmentationDimension: true },
42
+ { id: "service", label: "Service", description: "A service offering.", isSegmentationDimension: true },
43
+ { id: "channel", label: "Channel", description: "A sales or distribution channel.", isSegmentationDimension: true },
44
+ { id: "activity", label: "Activity", description: "A business activity or function in scope.", isSegmentationDimension: true },
45
+ // ── Actors & participants ─────────────────────────────────────────────────────
46
+ { id: "organization", label: "Organization", description: "An organization, company, or institution." },
47
+ { id: "market_participant", label: "Market Participant", description: "A participant in a market — buyer, seller, or intermediary." },
48
+ { id: "competitor", label: "Competitor", description: "A rival organization competing for the same demand." },
49
+ { id: "substitute", label: "Substitute", description: "A substitute offering that meets the same need by other means." },
50
+ { id: "entrant", label: "Entrant", description: "A new entrant into a market." },
51
+ { id: "partner", label: "Partner", description: "A partner organization or collaborator." },
52
+ { id: "stakeholder", label: "Stakeholder", description: "A party with an interest in or influence over the strategy." },
53
+ { id: "customer", label: "Customer", description: "A customer or customer group." },
54
+ { id: "person", label: "Person", description: "An individual person." },
55
+ { id: "team", label: "Team", description: "A team or working group within an organization." },
56
+ { id: "owner", label: "Owner", description: "The party accountable for an item or outcome." },
57
+ { id: "industry", label: "Industry", description: "An industry or sector context.", classificationSource: "classification_industry" },
58
+ // ── Scope & boundaries ────────────────────────────────────────────────────────
59
+ { id: "scope", label: "Scope", description: "The market, customer, geography, product, channel, or activity boundary of a strategy." },
60
+ { id: "boundary", label: "Boundary", description: "A limit that bounds what is in or out of scope." },
61
+ { id: "distribution", label: "Distribution", description: "A distribution arrangement or footprint." },
62
+ // ── Capabilities, resources & assets ──────────────────────────────────────────
63
+ { id: "capability", label: "Capability", description: "An ability the organization can deploy to act." },
64
+ { id: "competency", label: "Competency", description: "An organizational competency or skill." },
65
+ { id: "capacity", label: "Capacity", description: "The available quantity of a capability or resource." },
66
+ { id: "resource", label: "Resource", description: "A resource the organization can draw on — human, financial, or intellectual." },
67
+ { id: "asset", label: "Asset", description: "An owned asset of value." },
68
+ // ── Systems, processes & operations ───────────────────────────────────────────
69
+ { id: "system", label: "System", description: "A system, process, tool, or routine that supports execution." },
70
+ { id: "data_system", label: "Data System", description: "A data or information system." },
71
+ { id: "tool", label: "Tool", description: "A tool or instrument used to do work." },
72
+ { id: "workflow", label: "Workflow", description: "A defined sequence of steps that produces an outcome." },
73
+ { id: "process", label: "Process", description: "A repeatable business process." },
74
+ { id: "routine", label: "Routine", description: "An established organizational routine." },
75
+ { id: "operation", label: "Operation", description: "An operational activity that runs the business." },
76
+ { id: "control", label: "Control", description: "A control that governs or constrains a process." },
77
+ { id: "governance", label: "Governance", description: "A governance mechanism or oversight structure." },
78
+ { id: "function", label: "Function", description: "A business function such as marketing, sales, or operations." },
79
+ // ── Policy, approach & principle ──────────────────────────────────────────────
80
+ { id: "guiding_policy", label: "Guiding Policy", description: "A guiding policy that directs choices." },
81
+ { id: "approach", label: "Approach", description: "An approach or way of acting." },
82
+ { id: "method", label: "Method", description: "A method or technique for doing work." },
83
+ { id: "doctrine", label: "Doctrine", description: "A guiding doctrine or established body of principle." },
84
+ { id: "principle", label: "Principle", description: "A principle that guides decisions." },
85
+ { id: "rule", label: "Rule", description: "A rule constraining action." },
86
+ { id: "standard", label: "Standard", description: "A standard that work must meet." },
87
+ // ── Strategic moves & positions ───────────────────────────────────────────────
88
+ { id: "move", label: "Move", description: "A strategic move or maneuver." },
89
+ { id: "position", label: "Position", description: "A strategic or market position." },
90
+ { id: "advantage", label: "Advantage", description: "A source of competitive advantage." },
91
+ { id: "strategic_object", label: "Strategic Object", description: "An object of strategic choice." },
92
+ { id: "strategic_state", label: "Strategic State", description: "A strategic state of the organization." },
93
+ // ── Initiatives, actions & experiments ────────────────────────────────────────
94
+ { id: "initiative", label: "Initiative", description: "A coordinated initiative." },
95
+ { id: "solution", label: "Solution", description: "A solution that addresses a problem." },
96
+ { id: "intervention", label: "Intervention", description: "A deliberate intervention to change a system." },
97
+ { id: "action", label: "Action", description: "An action taken or to be taken." },
98
+ { id: "task", label: "Task", description: "A discrete unit of work." },
99
+ { id: "implementation_step", label: "Implementation Step", description: "A step in implementing an initiative." },
100
+ { id: "pilot", label: "Pilot", description: "A small-scale pilot of an approach." },
101
+ { id: "experiment", label: "Experiment", description: "An experiment that tests a hypothesis." },
102
+ { id: "test", label: "Test", description: "A test designed to check a claim." },
103
+ { id: "survey", label: "Survey", description: "A survey used to gather data." },
104
+ { id: "sample", label: "Sample", description: "A sample drawn for measurement or testing." },
105
+ { id: "analysis", label: "Analysis", description: "An analytical activity producing findings." },
106
+ { id: "calculation", label: "Calculation", description: "A calculation producing a quantitative result." },
107
+ { id: "model", label: "Model", description: "A model representing part of the business or market." },
108
+ // ── Decisions & judgments ─────────────────────────────────────────────────────
109
+ { id: "decision", label: "Decision", description: "A decision to be made or already made." },
110
+ { id: "criterion", label: "Criterion", description: "A criterion used to evaluate options." },
111
+ { id: "tradeoff", label: "Tradeoff", description: "A trade-off between competing options." },
112
+ { id: "priority", label: "Priority", description: "A relative priority among items." },
113
+ { id: "preference", label: "Preference", description: "A stated preference." },
114
+ { id: "purpose", label: "Purpose", description: "The purpose or intent behind a choice." },
115
+ { id: "need", label: "Need", description: "A need to be met." },
116
+ // ── Beliefs, assumptions & uncertainty ────────────────────────────────────────
117
+ { id: "assumption_hypothesis", label: "Assumption / Hypothesis", description: "An assumption or hypothesis taken as provisional." },
118
+ { id: "belief", label: "Belief", description: "A held belief about the world." },
119
+ { id: "claim", label: "Claim", description: "A claim asserted as true." },
120
+ { id: "causal_assumption", label: "Causal Assumption", description: "An assumed causal relationship." },
121
+ { id: "uncertainty", label: "Uncertainty", description: "An area of uncertainty." },
122
+ { id: "probability", label: "Probability", description: "A probability or likelihood." },
123
+ // ── Forces, pressures & change ────────────────────────────────────────────────
124
+ { id: "pressure", label: "Pressure", description: "A force or pressure acting on the organization." },
125
+ { id: "competitive_pressure", label: "Competitive Pressure", description: "Competitive pressure from rivals." },
126
+ { id: "regulatory_pressure", label: "Regulatory Pressure", description: "Pressure arising from regulation." },
127
+ { id: "market_shift", label: "Market Shift", description: "A shift in market conditions." },
128
+ { id: "trend", label: "Trend", description: "A directional trend over time." },
129
+ { id: "change", label: "Change", description: "A change in conditions or state." },
130
+ { id: "event", label: "Event", description: "A discrete event." },
131
+ { id: "trigger", label: "Trigger", description: "An event or condition that triggers action." },
132
+ { id: "regulation", label: "Regulation", description: "A regulation that applies." },
133
+ { id: "externality", label: "Externality", description: "A factor outside the organization's control." },
134
+ { id: "internality", label: "Internality", description: "A factor within the organization's control." },
135
+ // ── Constraints, dependencies & risk ──────────────────────────────────────────
136
+ { id: "condition", label: "Condition", description: "A condition that holds or must hold." },
137
+ { id: "constraint", label: "Constraint", description: "A constraint limiting choices." },
138
+ { id: "constraint_type", label: "Constraint Type", description: "A category of constraint." },
139
+ { id: "dependency", label: "Dependency", description: "A dependency on another item." },
140
+ { id: "threat", label: "Threat", description: "A threat to the strategy." },
141
+ { id: "risk", label: "Risk", description: "A risk that may affect outcomes." },
142
+ { id: "severity", label: "Severity", description: "The severity of a risk or issue." },
143
+ { id: "exception", label: "Exception", description: "An exceptional case outside the normal rule." },
144
+ // ── Causal mechanisms & effects ───────────────────────────────────────────────
145
+ { id: "mechanism", label: "Mechanism", description: "A mechanism by which a cause produces an effect." },
146
+ { id: "causal_mechanism", label: "Causal Mechanism", description: "The causal mechanism linking an action to an outcome." },
147
+ { id: "effect", label: "Effect", description: "An effect produced by a cause." },
148
+ { id: "consequence", label: "Consequence", description: "A downstream consequence." },
149
+ { id: "impact", label: "Impact", description: "An impact on a metric, stakeholder, or asset." },
150
+ { id: "result", label: "Result", description: "A result produced by an action." },
151
+ { id: "outcome", label: "Outcome", description: "A target or realized outcome." },
152
+ { id: "feedback", label: "Feedback", description: "Feedback from a process or stakeholder." },
153
+ { id: "directional_change", label: "Directional Change", description: "A change in the direction of a metric." },
154
+ { id: "direction", label: "Direction", description: "The direction of a change — up, down, or flat." },
155
+ { id: "behavior", label: "Behavior", description: "A behavior of an actor or system." },
156
+ { id: "state", label: "State", description: "A state or condition." },
157
+ // ── Measures, metrics & quantities ────────────────────────────────────────────
158
+ { id: "metric", label: "Metric", description: "A quantitative metric." },
159
+ { id: "measure", label: "Measure", description: "A measure used to quantify something." },
160
+ { id: "indicator", label: "Indicator", description: "An indicator that signals a state." },
161
+ { id: "variable", label: "Variable", description: "A variable that can take different values." },
162
+ { id: "benchmark", label: "Benchmark", description: "A benchmark reference value." },
163
+ { id: "threshold", label: "Threshold", description: "A threshold value that triggers a judgment." },
164
+ { id: "tolerance", label: "Tolerance", description: "An acceptable tolerance band." },
165
+ { id: "target", label: "Target", description: "A target value to reach." },
166
+ { id: "range", label: "Range", description: "A range of values." },
167
+ { id: "quantity", label: "Quantity", description: "A quantity or amount." },
168
+ { id: "volume", label: "Volume", description: "A volume or count." },
169
+ { id: "share", label: "Share", description: "A share or proportion, such as market share." },
170
+ { id: "value", label: "Value", description: "A value or worth." },
171
+ { id: "maturity", label: "Maturity", description: "A stage of maturity or development." },
172
+ { id: "gap", label: "Gap", description: "A gap between the current and desired state." },
173
+ { id: "deficiency", label: "Deficiency", description: "A deficiency or shortfall." },
174
+ { id: "comparison", label: "Comparison", description: "A comparison between values." },
175
+ { id: "prior_period", label: "Prior Period", description: "A prior period used for comparison." },
176
+ { id: "reference_point", label: "Reference Point", description: "A reference point for comparison." },
177
+ { id: "cadence", label: "Cadence", description: "A recurring cadence or rhythm." },
178
+ { id: "timeframe", label: "Timeframe", description: "A timeframe or time horizon." },
179
+ // ── Money ─────────────────────────────────────────────────────────────────────
180
+ { id: "cost", label: "Cost", description: "A cost or expense." },
181
+ { id: "revenue", label: "Revenue", description: "Revenue earned." },
182
+ { id: "currency", label: "Currency", description: "A currency unit." },
183
+ { id: "pricing", label: "Pricing", description: "A pricing structure or level." },
184
+ { id: "investment", label: "Investment", description: "An investment of resources." },
185
+ { id: "estimate", label: "Estimate", description: "An estimated value." },
186
+ // ── Evidence & sources ────────────────────────────────────────────────────────
187
+ { id: "evidence", label: "Evidence", description: "Evidence supporting a claim." },
188
+ { id: "observation", label: "Observation", description: "An observed fact." },
189
+ { id: "dataset", label: "Dataset", description: "A dataset used as a source." },
190
+ { id: "source", label: "Source", description: "A source of information." },
191
+ { id: "report", label: "Report", description: "A report providing information." },
192
+ ];
193
+ /**
194
+ * Governed entity-type list. Every record carries `provenance`; the shared
195
+ * `provSkhema` default is applied unless a record declares its own.
196
+ */
197
+ export const ENTITY_TYPE_DEFINITIONS = ENTITY_TYPE_DEFINITIONS_RAW.map((definition) => ({
198
+ provenance: provSkhema,
199
+ ...definition,
200
+ }));
201
+ //# sourceMappingURL=entity-type-definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-type-definitions.js","sourceRoot":"","sources":["../../src/domain/entity-type-definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ENTITY_TYPE_DEFINITIONS } from "./entity-type-definitions.js";
2
+ import type { EntityTypeDefinition } from "./types.js";
3
+ export { ENTITY_TYPE_DEFINITIONS };
4
+ /** Resolve a canonical id or alias to its entity-type definition. */
5
+ export declare function getEntityType(id: string): EntityTypeDefinition | null;
6
+ /** True only for canonical ids (not aliases) — matches `registry.ts` semantics. */
7
+ export declare function isCanonicalEntityType(id: string): boolean;
8
+ /** True for any recognized id: a canonical entity type OR a registered alias. */
9
+ export declare function isKnownEntityType(id: string): boolean;
10
+ export declare function listEntityTypes(): readonly EntityTypeDefinition[];
11
+ //# sourceMappingURL=entity-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-types.d.ts","sourceRoot":"","sources":["../../src/domain/entity-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAcnC,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAErE;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,IAAI,SAAS,oBAAoB,EAAE,CAEjE"}
@@ -0,0 +1,29 @@
1
+ import { ENTITY_TYPE_DEFINITIONS } from "./entity-type-definitions.js";
2
+ export { ENTITY_TYPE_DEFINITIONS };
3
+ // Canonical ids only (mirrors registry.ts `canonicalElementTypes`); aliases are tracked
4
+ // separately so `isCanonicalEntityType` and `isKnownEntityType` have distinct meanings.
5
+ const canonicalEntityTypeIds = new Set();
6
+ const byId = new Map();
7
+ for (const definition of ENTITY_TYPE_DEFINITIONS) {
8
+ canonicalEntityTypeIds.add(definition.id);
9
+ byId.set(definition.id, definition);
10
+ for (const alias of definition.aliases ?? []) {
11
+ byId.set(alias, definition);
12
+ }
13
+ }
14
+ /** Resolve a canonical id or alias to its entity-type definition. */
15
+ export function getEntityType(id) {
16
+ return byId.get(id) ?? null;
17
+ }
18
+ /** True only for canonical ids (not aliases) — matches `registry.ts` semantics. */
19
+ export function isCanonicalEntityType(id) {
20
+ return canonicalEntityTypeIds.has(id);
21
+ }
22
+ /** True for any recognized id: a canonical entity type OR a registered alias. */
23
+ export function isKnownEntityType(id) {
24
+ return byId.has(id);
25
+ }
26
+ export function listEntityTypes() {
27
+ return ENTITY_TYPE_DEFINITIONS;
28
+ }
29
+ //# sourceMappingURL=entity-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-types.js","sourceRoot":"","sources":["../../src/domain/entity-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,wFAAwF;AACxF,wFAAwF;AACxF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;AACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgC,CAAC;AACrD,KAAK,MAAM,UAAU,IAAI,uBAAuB,EAAE,CAAC;IACjD,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GlossaryTerm } from "./types.js";
2
+ export declare const GLOSSARY_TERMS: readonly GlossaryTerm[];
3
+ //# sourceMappingURL=glossary-terms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-terms.d.ts","sourceRoot":"","sources":["../../src/domain/glossary-terms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmB/C,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAyPjD,CAAC"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Curated Skhema domain glossary.
3
+ *
4
+ * Authored strategy-native, NOT imported wholesale from the legacy 935-term CSV
5
+ * (finance-trivia-heavy, provenance-unclear, several formulas wrong — e.g. it recorded
6
+ * the Quick Ratio formula as the Current Ratio). This is the high-value strategy /
7
+ * growth / market-sizing / finance / retail / ops subset, with corrected formulas and
8
+ * clean provenance. Extended over time via curator-via-PR (content review = code review).
9
+ *
10
+ * See docs/exploratory/domain-glossary/recommendation.md.
11
+ */
12
+ const provSkhema = { origin: "skhema-authored" };
13
+ const provReauthored = {
14
+ origin: "legacy-import",
15
+ source: "dbo-glossary-112-live (re-authored, formula verified)",
16
+ };
17
+ export const GLOSSARY_TERMS = [
18
+ // ── Strategy & positioning ────────────────────────────────────────────────────
19
+ {
20
+ term: "Value Proposition",
21
+ definition: "The specific benefit a customer gets from an offering and why it is better than alternatives.",
22
+ synonyms: ["value prop"],
23
+ tags: ["strategy"],
24
+ domain: "strategy",
25
+ provenance: provSkhema,
26
+ },
27
+ {
28
+ term: "Unit Economics",
29
+ definition: "The direct revenues and costs associated with a single unit — customer, order, or product — used to test whether growth is profitable.",
30
+ relatedTerms: ["Customer Acquisition Cost (CAC)", "Customer Lifetime Value (LTV)"],
31
+ tags: ["strategy", "finance"],
32
+ domain: "strategy",
33
+ provenance: provSkhema,
34
+ },
35
+ {
36
+ term: "Competitive Advantage",
37
+ definition: "A durable reason an organization can outperform rivals — cost, differentiation, network, or capability.",
38
+ synonyms: ["moat"],
39
+ tags: ["strategy"],
40
+ domain: "strategy",
41
+ provenance: provSkhema,
42
+ },
43
+ // ── Market sizing ─────────────────────────────────────────────────────────────
44
+ {
45
+ term: "Total Addressable Market (TAM)",
46
+ definition: "The total revenue opportunity available if a product achieved 100% market share.",
47
+ synonyms: ["TAM"],
48
+ relatedTerms: ["Serviceable Addressable Market (SAM)", "Serviceable Obtainable Market (SOM)"],
49
+ formula: "TAM = Total potential customers × Average annual revenue per customer",
50
+ tags: ["market size"],
51
+ domain: "market-sizing",
52
+ provenance: provReauthored,
53
+ },
54
+ {
55
+ term: "Serviceable Addressable Market (SAM)",
56
+ definition: "The portion of the TAM that an organization's products and business model can actually serve.",
57
+ synonyms: ["SAM"],
58
+ formula: "SAM = Reachable share of TAM × TAM",
59
+ tags: ["market size"],
60
+ domain: "market-sizing",
61
+ provenance: provReauthored,
62
+ },
63
+ {
64
+ term: "Serviceable Obtainable Market (SOM)",
65
+ definition: "The share of the SAM an organization can realistically capture in the near term.",
66
+ synonyms: ["SOM"],
67
+ formula: "SOM = Expected market share × SAM",
68
+ tags: ["market size"],
69
+ domain: "market-sizing",
70
+ provenance: provReauthored,
71
+ },
72
+ // ── Growth & SaaS ─────────────────────────────────────────────────────────────
73
+ {
74
+ term: "Customer Acquisition Cost (CAC)",
75
+ definition: "The total sales and marketing cost of acquiring one new customer over a period.",
76
+ synonyms: ["CAC", "acquisition cost"],
77
+ relatedTerms: ["Customer Lifetime Value (LTV)"],
78
+ formula: "CAC = Total sales & marketing spend / New customers acquired",
79
+ tags: ["growth", "marketing"],
80
+ domain: "growth",
81
+ provenance: provReauthored,
82
+ },
83
+ {
84
+ term: "Customer Lifetime Value (LTV)",
85
+ definition: "The total gross profit expected from a customer across the whole relationship.",
86
+ synonyms: ["LTV", "CLV", "lifetime value"],
87
+ relatedTerms: ["Customer Acquisition Cost (CAC)", "Customer Churn Rate"],
88
+ formula: "LTV = Average revenue per customer × Gross margin × Average customer lifespan",
89
+ tags: ["growth", "finance"],
90
+ domain: "growth",
91
+ provenance: provSkhema,
92
+ },
93
+ {
94
+ term: "Annual Recurring Revenue (ARR)",
95
+ definition: "The value of recurring subscription revenue normalized to a one-year period.",
96
+ synonyms: ["ARR"],
97
+ relatedTerms: ["Monthly Recurring Revenue (MRR)"],
98
+ formula: "ARR = MRR × 12",
99
+ tags: ["growth", "finance"],
100
+ domain: "growth",
101
+ provenance: provSkhema,
102
+ },
103
+ {
104
+ term: "Monthly Recurring Revenue (MRR)",
105
+ definition: "The predictable subscription revenue an organization earns each month.",
106
+ synonyms: ["MRR"],
107
+ tags: ["growth", "finance"],
108
+ domain: "growth",
109
+ provenance: provSkhema,
110
+ },
111
+ {
112
+ term: "Customer Churn Rate",
113
+ definition: "The percentage of customers lost over a period.",
114
+ synonyms: ["churn rate", "churn"],
115
+ formula: "Churn Rate (%) = Customers lost in period / Customers at start of period × 100",
116
+ tags: ["growth", "customer support"],
117
+ domain: "growth",
118
+ provenance: provReauthored,
119
+ },
120
+ {
121
+ term: "Conversion Rate",
122
+ definition: "The percentage of prospects who complete a desired action, such as a purchase or signup.",
123
+ synonyms: ["conversion rate"],
124
+ formula: "Conversion Rate (%) = Conversions / Total visitors × 100",
125
+ tags: ["growth", "marketing"],
126
+ domain: "growth",
127
+ provenance: provReauthored,
128
+ },
129
+ {
130
+ term: "Activation Rate",
131
+ definition: "The percentage of new users who reach a defined first-value milestone.",
132
+ formula: "Activation Rate (%) = Users reaching the milestone / Users who signed up × 100",
133
+ tags: ["growth", "marketing"],
134
+ domain: "growth",
135
+ provenance: provReauthored,
136
+ },
137
+ {
138
+ term: "Burn Rate",
139
+ definition: "The rate at which an organization spends cash in excess of revenue.",
140
+ relatedTerms: ["Cash Runway"],
141
+ formula: "Burn Rate = Net cash spent / Number of months",
142
+ tags: ["finance", "growth"],
143
+ domain: "finance",
144
+ provenance: provReauthored,
145
+ },
146
+ {
147
+ term: "Cash Runway",
148
+ definition: "How long an organization can operate before it runs out of cash at the current burn rate.",
149
+ synonyms: ["runway"],
150
+ formula: "Cash Runway (months) = Total cash / Burn Rate",
151
+ tags: ["finance", "growth"],
152
+ domain: "finance",
153
+ provenance: provReauthored,
154
+ },
155
+ // ── Finance ───────────────────────────────────────────────────────────────────
156
+ {
157
+ term: "Quick Ratio",
158
+ definition: "A company's ability to meet short-term obligations using only its most liquid assets.",
159
+ synonyms: ["Acid Test Ratio"],
160
+ relatedTerms: ["Current Ratio"],
161
+ formula: "(Current Assets - Inventory) / Current Liabilities",
162
+ tags: ["finance"],
163
+ domain: "finance",
164
+ provenance: { origin: "legacy-import", source: "dbo-glossary-112-live", note: "Legacy CSV formula was the Current Ratio; corrected here." },
165
+ },
166
+ {
167
+ term: "Net Profit Margin",
168
+ definition: "The share of revenue left as profit after all costs, interest, and taxes.",
169
+ synonyms: ["net margin"],
170
+ formula: "Net Profit Margin (%) = Net income / Revenue × 100",
171
+ tags: ["finance"],
172
+ domain: "finance",
173
+ provenance: provReauthored,
174
+ },
175
+ {
176
+ term: "Gross Margin",
177
+ definition: "The share of revenue left after the direct cost of goods or services sold.",
178
+ relatedTerms: ["Cost of Goods Sold (COGS)"],
179
+ formula: "Gross Margin (%) = (Revenue - COGS) / Revenue × 100",
180
+ tags: ["finance"],
181
+ domain: "finance",
182
+ provenance: provSkhema,
183
+ },
184
+ {
185
+ term: "Cost of Goods Sold (COGS)",
186
+ definition: "The direct costs of producing the goods or services an organization sold in a period.",
187
+ synonyms: ["COGS"],
188
+ formula: "COGS = Beginning inventory + Purchases - Ending inventory",
189
+ tags: ["finance", "production"],
190
+ domain: "finance",
191
+ provenance: provReauthored,
192
+ },
193
+ {
194
+ term: "EBITDA",
195
+ definition: "Earnings before interest, taxes, depreciation, and amortization — a proxy for operating profitability.",
196
+ synonyms: ["EBITDA"],
197
+ formula: "EBITDA = Net profit + Interest + Taxes + Depreciation + Amortization",
198
+ tags: ["finance"],
199
+ domain: "finance",
200
+ provenance: provReauthored,
201
+ },
202
+ {
203
+ term: "Revenue Growth Rate",
204
+ definition: "The percentage change in revenue between two periods.",
205
+ formula: "Revenue Growth Rate (%) = (Revenue this period - Revenue last period) / Revenue last period × 100",
206
+ tags: ["finance"],
207
+ domain: "finance",
208
+ provenance: provReauthored,
209
+ },
210
+ // ── Retail & operations ───────────────────────────────────────────────────────
211
+ {
212
+ term: "Average Order Value (AOV)",
213
+ definition: "The average revenue per order over a period.",
214
+ synonyms: ["AOV"],
215
+ formula: "AOV = Total sales value / Total number of orders",
216
+ tags: ["retail"],
217
+ domain: "retail",
218
+ provenance: provReauthored,
219
+ },
220
+ {
221
+ term: "Sell-Through Rate",
222
+ definition: "The share of received inventory sold over a period.",
223
+ formula: "Sell-Through Rate (%) = Units sold / Units received × 100",
224
+ tags: ["retail", "inventory"],
225
+ domain: "retail",
226
+ provenance: provReauthored,
227
+ },
228
+ {
229
+ term: "Inventory Turnover",
230
+ definition: "How many times inventory is sold and replaced over a period.",
231
+ synonyms: ["inventory turnover ratio", "stock turn"],
232
+ formula: "Inventory Turnover = COGS / Average inventory at cost",
233
+ tags: ["retail", "inventory"],
234
+ domain: "retail",
235
+ provenance: provReauthored,
236
+ },
237
+ {
238
+ term: "Gross Margin Return on Investment (GMROI)",
239
+ definition: "The gross profit earned for every unit of currency invested in inventory.",
240
+ synonyms: ["GMROI"],
241
+ formula: "GMROI = Gross profit / Average inventory cost",
242
+ tags: ["retail", "inventory"],
243
+ domain: "retail",
244
+ provenance: provReauthored,
245
+ },
246
+ {
247
+ term: "Customer Satisfaction Score (CSAT)",
248
+ definition: "A measure of how satisfied customers are with a product, service, or interaction.",
249
+ synonyms: ["CSAT"],
250
+ tags: ["customer support"],
251
+ domain: "operations",
252
+ provenance: provReauthored,
253
+ },
254
+ {
255
+ term: "Average Resolution Time",
256
+ definition: "The average time taken to resolve a support ticket.",
257
+ formula: "Average Resolution Time = Total resolution time for solved tickets / Number of tickets solved",
258
+ tags: ["customer support"],
259
+ domain: "operations",
260
+ provenance: provReauthored,
261
+ },
262
+ ];
263
+ //# sourceMappingURL=glossary-terms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-terms.js","sourceRoot":"","sources":["../../src/domain/glossary-terms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { GlossaryTerm } from "./types.js";
2
+ /**
3
+ * Glossary registry + lookup over the curated GLOSSARY_TERMS data.
4
+ *
5
+ * The curated dataset lives in glossary-terms.ts (data/registry split, mirroring
6
+ * entity-type-definitions.ts). The legacy 935-row CSV is NOT imported wholesale; see
7
+ * docs/exploratory/domain-glossary/recommendation.md.
8
+ */
9
+ export declare const GLOSSARY: readonly GlossaryTerm[];
10
+ /** Resolve a term or synonym (case-insensitive) to its canonical glossary entry. */
11
+ export declare function resolveGlossaryTerm(termOrSynonym: string): GlossaryTerm | null;
12
+ export declare function listGlossaryTerms(): readonly GlossaryTerm[];
13
+ /**
14
+ * Find the canonical glossary terms whose term or a synonym appears in `content`.
15
+ * Case-insensitive, whole-token, deduped by canonical term. Used to inject only the
16
+ * relevant definitions into prompts rather than the whole glossary.
17
+ */
18
+ export declare function matchGlossaryTerms(content: string): GlossaryTerm[];
19
+ //# sourceMappingURL=glossary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary.d.ts","sourceRoot":"","sources":["../../src/domain/glossary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EAAmB,CAAC;AAUhE,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAE9E;AAED,wBAAgB,iBAAiB,IAAI,SAAS,YAAY,EAAE,CAE3D;AA4BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAYlE"}
@@ -0,0 +1,62 @@
1
+ import { GLOSSARY_TERMS } from "./glossary-terms.js";
2
+ /**
3
+ * Glossary registry + lookup over the curated GLOSSARY_TERMS data.
4
+ *
5
+ * The curated dataset lives in glossary-terms.ts (data/registry split, mirroring
6
+ * entity-type-definitions.ts). The legacy 935-row CSV is NOT imported wholesale; see
7
+ * docs/exploratory/domain-glossary/recommendation.md.
8
+ */
9
+ export const GLOSSARY = GLOSSARY_TERMS;
10
+ const byKey = new Map();
11
+ for (const entry of GLOSSARY_TERMS) {
12
+ byKey.set(entry.term.toLowerCase(), entry);
13
+ for (const synonym of entry.synonyms ?? []) {
14
+ byKey.set(synonym.toLowerCase(), entry);
15
+ }
16
+ }
17
+ /** Resolve a term or synonym (case-insensitive) to its canonical glossary entry. */
18
+ export function resolveGlossaryTerm(termOrSynonym) {
19
+ return byKey.get(termOrSynonym.trim().toLowerCase()) ?? null;
20
+ }
21
+ export function listGlossaryTerms() {
22
+ return GLOSSARY;
23
+ }
24
+ function escapeRegExp(value) {
25
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
26
+ }
27
+ // Acronym-style keys (e.g. "TAM", "CAC", "ARR") must match case-sensitively, otherwise they
28
+ // false-match ordinary words and names ("Sam", "arr"). Mixed-case and lowercase keys match
29
+ // case-insensitively.
30
+ function isAcronymKey(key) {
31
+ return /^[A-Z][A-Z0-9]*$/.test(key) && key.length >= 2;
32
+ }
33
+ // Build match patterns from original-cased term + synonym keys (not the lowercased lookup
34
+ // map). Longest first so "Customer Acquisition Cost (CAC)" wins over a bare "CAC"; whole-token
35
+ // boundaries avoid matching inside larger words.
36
+ const matchEntries = GLOSSARY_TERMS.flatMap((entry) => [entry.term, ...(entry.synonyms ?? [])].map((key) => ({ key, entry })))
37
+ .sort((a, b) => b.key.length - a.key.length)
38
+ .map(({ key, entry }) => ({
39
+ entry,
40
+ pattern: new RegExp(`(?<![A-Za-z0-9])${escapeRegExp(key)}(?![A-Za-z0-9])`, isAcronymKey(key) ? "" : "i"),
41
+ }));
42
+ /**
43
+ * Find the canonical glossary terms whose term or a synonym appears in `content`.
44
+ * Case-insensitive, whole-token, deduped by canonical term. Used to inject only the
45
+ * relevant definitions into prompts rather than the whole glossary.
46
+ */
47
+ export function matchGlossaryTerms(content) {
48
+ if (!content)
49
+ return [];
50
+ const matched = [];
51
+ const seen = new Set();
52
+ for (const { entry, pattern } of matchEntries) {
53
+ if (seen.has(entry.term))
54
+ continue;
55
+ if (pattern.test(content)) {
56
+ matched.push(entry);
57
+ seen.add(entry.term);
58
+ }
59
+ }
60
+ return matched;
61
+ }
62
+ //# sourceMappingURL=glossary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../src/domain/glossary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAA4B,cAAc,CAAC;AAEhE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;AAC9C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;IACnC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,4FAA4F;AAC5F,2FAA2F;AAC3F,sBAAsB;AACtB,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,0FAA0F;AAC1F,+FAA+F;AAC/F,iDAAiD;AACjD,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CACvE;KACE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;KAC3C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,KAAK;IACL,OAAO,EAAE,IAAI,MAAM,CACjB,mBAAmB,YAAY,CAAC,GAAG,CAAC,iBAAiB,EACrD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7B;CACF,CAAC,CAAC,CAAC;AAEN;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./types.js";
2
+ export * from "./entity-types.js";
3
+ export * from "./segmentation-dimensions.js";
4
+ export * from "./glossary.js";
5
+ export * from "./validate.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./types.js";
2
+ export * from "./entity-types.js";
3
+ export * from "./segmentation-dimensions.js";
4
+ export * from "./glossary.js";
5
+ export * from "./validate.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { SegmentationDimensionDefinition } from "./types.js";
2
+ /**
3
+ * Canonical segmentation dimensions — the axes along which a strategy's scope is framed.
4
+ * Consumed by the `scope` method's `included_domain` / `excluded_domain` slots.
5
+ *
6
+ * Platform-neutral and strategy-native. The legacy/Meta segmentation taxonomy is NOT
7
+ * imported; see docs/exploratory/segmentation/recommendation.md. Each id must also exist
8
+ * as an EntityTypeDefinition (see entity-types.ts).
9
+ */
10
+ export declare const SEGMENTATION_DIMENSIONS: readonly SegmentationDimensionDefinition[];
11
+ export declare function isSegmentationDimension(id: string): boolean;
12
+ export declare function listSegmentationDimensions(): readonly SegmentationDimensionDefinition[];
13
+ //# sourceMappingURL=segmentation-dimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentation-dimensions.d.ts","sourceRoot":"","sources":["../../src/domain/segmentation-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,+BAA+B,EAS7E,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,0BAA0B,IAAI,SAAS,+BAA+B,EAAE,CAEvF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Canonical segmentation dimensions — the axes along which a strategy's scope is framed.
3
+ * Consumed by the `scope` method's `included_domain` / `excluded_domain` slots.
4
+ *
5
+ * Platform-neutral and strategy-native. The legacy/Meta segmentation taxonomy is NOT
6
+ * imported; see docs/exploratory/segmentation/recommendation.md. Each id must also exist
7
+ * as an EntityTypeDefinition (see entity-types.ts).
8
+ */
9
+ export const SEGMENTATION_DIMENSIONS = [
10
+ { id: "market", label: "Market", description: "A market the strategy operates in or targets." },
11
+ { id: "segment", label: "Segment", description: "A customer or market segment." },
12
+ { id: "geo", label: "Geography", description: "A geographic location, region, or market boundary." },
13
+ { id: "category", label: "Category", description: "A product or business category." },
14
+ { id: "product", label: "Product", description: "A product or product line." },
15
+ { id: "service", label: "Service", description: "A service offering." },
16
+ { id: "channel", label: "Channel", description: "A sales or distribution channel." },
17
+ { id: "activity", label: "Activity", description: "A business activity or function in scope." },
18
+ ];
19
+ const dimensionIds = new Set(SEGMENTATION_DIMENSIONS.map((dimension) => dimension.id));
20
+ export function isSegmentationDimension(id) {
21
+ return dimensionIds.has(id);
22
+ }
23
+ export function listSegmentationDimensions() {
24
+ return SEGMENTATION_DIMENSIONS;
25
+ }
26
+ //# sourceMappingURL=segmentation-dimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentation-dimensions.js","sourceRoot":"","sources":["../../src/domain/segmentation-dimensions.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA+C;IACjF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;IAC/F,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,EAAE;IACjF,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,oDAAoD,EAAE;IACpG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACrF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC9E,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACvE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;IACpF,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,2CAA2C,EAAE;CAChG,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAEvF,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Domain-knowledge layer — shared contracts.
3
+ *
4
+ * Two governed vocabularies layered on top of `@skhema/types/schema`:
5
+ * - Entity types + segmentation dimensions — the *types* a semantic value can be.
6
+ * - Glossary terms — the *terms* SIS and agents interpret consistently.
7
+ *
8
+ * Stage 1 is static-data-first: these definitions ship as code, not DB rows. The
9
+ * registry (types) and the glossary (terms) are two facets of one layer and share
10
+ * this governance home.
11
+ *
12
+ * See:
13
+ * - skhema-control-centre/docs/architecture/semantic-method-validation.md (§ Domain-Knowledge Layer)
14
+ * - skhema-control-centre/docs/exploratory/segmentation/recommendation.md
15
+ * - skhema-control-centre/docs/exploratory/domain-glossary/recommendation.md
16
+ * Work items:
17
+ * - canonical-sis-entity-type-and-segmentation-dimension-registry (types)
18
+ * - curated-sis-domain-glossary-with-context-injection (terms)
19
+ */
20
+ export type DomainKnowledgeKind = "entity_type" | "segmentation_dimension" | "glossary_term";
21
+ /** Where a domain-knowledge record came from, for curator review + trust. */
22
+ export interface Provenance {
23
+ /** "skhema-authored" for curated content; "legacy-import" for reviewed legacy rows. */
24
+ origin: "skhema-authored" | "legacy-import" | "derived";
25
+ /** Optional source reference (file, doc, or upstream id) for legacy/derived records. */
26
+ source?: string;
27
+ /** Curator-facing note: licensing, quality caveats, review status. */
28
+ note?: string;
29
+ }
30
+ /**
31
+ * A reference to an external classification corpus that supplies controlled values
32
+ * for an entity type. Loose reference only — never a build-time dependency.
33
+ */
34
+ export type ClassificationSource = "classification_industry" | "classification_product" | "classification_occupation";
35
+ /** A canonical entity type — the kind of real-world thing a semantic value denotes. */
36
+ export interface EntityTypeDefinition {
37
+ /** snake_case canonical id, e.g. "geo", "segment", "market". */
38
+ id: string;
39
+ label: string;
40
+ description: string;
41
+ /** Accepted surface aliases that normalize to this id, e.g. "geography" -> "geo". */
42
+ aliases?: string[];
43
+ examples?: string[];
44
+ /** True when this entity type is also a segmentation dimension. */
45
+ isSegmentationDimension?: boolean;
46
+ /** Optional external classification corpus supplying controlled values for this type. */
47
+ classificationSource?: ClassificationSource;
48
+ provenance?: Provenance;
49
+ }
50
+ /** A segmentation dimension — an axis along which a strategy's scope is framed. */
51
+ export interface SegmentationDimensionDefinition {
52
+ /** snake_case id; must match an EntityTypeDefinition.id. */
53
+ id: string;
54
+ label: string;
55
+ description: string;
56
+ /** Carries quantitative range/operand semantics (e.g. revenue, employees, age). */
57
+ quantitative?: boolean;
58
+ provenance?: Provenance;
59
+ }
60
+ /** A curated glossary term SIS and agents interpret consistently. */
61
+ export interface GlossaryTerm {
62
+ /** Canonical term, e.g. "Quick Ratio". */
63
+ term: string;
64
+ definition: string;
65
+ synonyms?: string[];
66
+ relatedTerms?: string[];
67
+ /** Optional formula for quantitative terms, e.g. "(Current Assets - Inventory) / Current Liabilities". */
68
+ formula?: string;
69
+ /** Domain tags, e.g. ["finance"], ["strategy"]. */
70
+ tags?: string[];
71
+ /** Primary domain this term belongs to, e.g. "finance", "growth", "retail". */
72
+ domain?: string;
73
+ provenance?: Provenance;
74
+ }
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,wBAAwB,GACxB,eAAe,CAAC;AAEpB,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,MAAM,EAAE,iBAAiB,GAAG,eAAe,GAAG,SAAS,CAAC;IACxD,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,yFAAyF;IACzF,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,mFAAmF;AACnF,MAAM,WAAW,+BAA+B;IAC9C,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,0GAA0G;IAC1G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Domain-knowledge layer — shared contracts.
3
+ *
4
+ * Two governed vocabularies layered on top of `@skhema/types/schema`:
5
+ * - Entity types + segmentation dimensions — the *types* a semantic value can be.
6
+ * - Glossary terms — the *terms* SIS and agents interpret consistently.
7
+ *
8
+ * Stage 1 is static-data-first: these definitions ship as code, not DB rows. The
9
+ * registry (types) and the glossary (terms) are two facets of one layer and share
10
+ * this governance home.
11
+ *
12
+ * See:
13
+ * - skhema-control-centre/docs/architecture/semantic-method-validation.md (§ Domain-Knowledge Layer)
14
+ * - skhema-control-centre/docs/exploratory/segmentation/recommendation.md
15
+ * - skhema-control-centre/docs/exploratory/domain-glossary/recommendation.md
16
+ * Work items:
17
+ * - canonical-sis-entity-type-and-segmentation-dimension-registry (types)
18
+ * - curated-sis-domain-glossary-with-context-injection (terms)
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,28 @@
1
+ import type { MethodSpecIssue } from "../types.js";
2
+ /**
3
+ * Validate the static domain-knowledge layer for internal invariants. Mirrors the
4
+ * `validateMethodSpec` / `assertValidMethodSpec` pattern in this package.
5
+ *
6
+ * Covers: duplicate entity-type ids, alias collisions, segmentation-dimension ↔
7
+ * entity-type consistency, and glossary term/synonym key collisions. Does NOT flag the
8
+ * seed being incomplete — that is expected at Stage 1.
9
+ */
10
+ export declare function validateDomainKnowledge(): MethodSpecIssue[];
11
+ /** Throw if the domain-knowledge layer has any error-severity invariant violations. */
12
+ export declare function assertValidDomainKnowledge(): void;
13
+ export interface UnknownEntityTypeReport {
14
+ elementType: string;
15
+ slotId: string;
16
+ entityType: string;
17
+ }
18
+ /**
19
+ * Audit every method slot's `acceptedEntityTypes` against the entity-type registry
20
+ * (canonical ids or registered aliases).
21
+ *
22
+ * The registry now covers every referenced type, so this returns `[]` in a healthy build.
23
+ * The invariant is ENFORCED at build/test time by `validateMethodSpec()` (code
24
+ * `slot_entity_type_unknown`); this helper remains for diagnostics — listing exactly which
25
+ * element/slot/type triples regress if a new method slot references an undefined entity type.
26
+ */
27
+ export declare function reportUnknownEntityTypes(): UnknownEntityTypeReport[];
28
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/domain/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmBnD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,eAAe,EAAE,CAgE3D;AAED,uFAAuF;AACvF,wBAAgB,0BAA0B,IAAI,IAAI,CAQjD;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,uBAAuB,EAAE,CAYpE"}
@@ -0,0 +1,98 @@
1
+ import { elementDefinitions } from "../definitions.js";
2
+ import { ENTITY_TYPE_DEFINITIONS, getEntityType, isCanonicalEntityType, isKnownEntityType, } from "./entity-types.js";
3
+ import { GLOSSARY } from "./glossary.js";
4
+ import { SEGMENTATION_DIMENSIONS } from "./segmentation-dimensions.js";
5
+ function issue(severity, code, path, message) {
6
+ return { severity, code, path, message };
7
+ }
8
+ /**
9
+ * Validate the static domain-knowledge layer for internal invariants. Mirrors the
10
+ * `validateMethodSpec` / `assertValidMethodSpec` pattern in this package.
11
+ *
12
+ * Covers: duplicate entity-type ids, alias collisions, segmentation-dimension ↔
13
+ * entity-type consistency, and glossary term/synonym key collisions. Does NOT flag the
14
+ * seed being incomplete — that is expected at Stage 1.
15
+ */
16
+ export function validateDomainKnowledge() {
17
+ const issues = [];
18
+ // 1. Entity-type ids and aliases must be unique across the whole namespace.
19
+ const seenCanonical = new Set();
20
+ const seenKey = new Map(); // key -> owning canonical id
21
+ for (const definition of ENTITY_TYPE_DEFINITIONS) {
22
+ const path = `domain.entityTypes.${definition.id}`;
23
+ if (seenCanonical.has(definition.id)) {
24
+ issues.push(issue("error", "entity_type_duplicate_id", path, `Duplicate entity-type id "${definition.id}".`));
25
+ }
26
+ seenCanonical.add(definition.id);
27
+ for (const key of [definition.id, ...(definition.aliases ?? [])]) {
28
+ const owner = seenKey.get(key);
29
+ if (owner && owner !== definition.id) {
30
+ issues.push(issue("error", "entity_type_key_collision", path, `Entity-type key "${key}" collides with "${owner}".`));
31
+ }
32
+ seenKey.set(key, definition.id);
33
+ }
34
+ }
35
+ // 2. Every segmentation dimension must resolve to a canonical entity type flagged as one.
36
+ for (const dimension of SEGMENTATION_DIMENSIONS) {
37
+ const path = `domain.segmentationDimensions.${dimension.id}`;
38
+ if (!isCanonicalEntityType(dimension.id)) {
39
+ issues.push(issue("error", "dimension_not_entity_type", path, `Segmentation dimension "${dimension.id}" is not a canonical entity type.`));
40
+ continue;
41
+ }
42
+ const entity = getEntityType(dimension.id);
43
+ if (entity && entity.isSegmentationDimension !== true) {
44
+ issues.push(issue("error", "dimension_flag_mismatch", path, `Entity type "${dimension.id}" is a dimension but lacks isSegmentationDimension: true.`));
45
+ }
46
+ // Guard against label/description drift between the two sources.
47
+ if (entity && entity.label !== dimension.label) {
48
+ issues.push(issue("warning", "dimension_label_drift", path, `Dimension "${dimension.id}" label differs from its entity-type label.`));
49
+ }
50
+ }
51
+ // 3. Glossary term/synonym keys must be unique (case-insensitive).
52
+ const seenGlossaryKey = new Map(); // normalized key -> owning term
53
+ for (const entry of GLOSSARY) {
54
+ const path = `domain.glossary.${entry.term}`;
55
+ for (const key of [entry.term, ...(entry.synonyms ?? [])]) {
56
+ const normalized = key.trim().toLowerCase();
57
+ const owner = seenGlossaryKey.get(normalized);
58
+ if (owner && owner !== entry.term) {
59
+ issues.push(issue("error", "glossary_key_collision", path, `Glossary key "${key}" collides with "${owner}".`));
60
+ }
61
+ seenGlossaryKey.set(normalized, entry.term);
62
+ }
63
+ }
64
+ return issues;
65
+ }
66
+ /** Throw if the domain-knowledge layer has any error-severity invariant violations. */
67
+ export function assertValidDomainKnowledge() {
68
+ const errors = validateDomainKnowledge().filter((candidate) => candidate.severity === "error");
69
+ if (errors.length === 0)
70
+ return;
71
+ const summary = errors
72
+ .map((candidate) => `${candidate.code} at ${candidate.path}: ${candidate.message}`)
73
+ .join("\n");
74
+ throw new Error(`Invalid @skhema/method domain-knowledge layer:\n${summary}`);
75
+ }
76
+ /**
77
+ * Audit every method slot's `acceptedEntityTypes` against the entity-type registry
78
+ * (canonical ids or registered aliases).
79
+ *
80
+ * The registry now covers every referenced type, so this returns `[]` in a healthy build.
81
+ * The invariant is ENFORCED at build/test time by `validateMethodSpec()` (code
82
+ * `slot_entity_type_unknown`); this helper remains for diagnostics — listing exactly which
83
+ * element/slot/type triples regress if a new method slot references an undefined entity type.
84
+ */
85
+ export function reportUnknownEntityTypes() {
86
+ const unknown = [];
87
+ for (const element of elementDefinitions) {
88
+ for (const slot of element.methodSlots) {
89
+ for (const entityType of slot.acceptedEntityTypes ?? []) {
90
+ if (!isKnownEntityType(entityType)) {
91
+ unknown.push({ elementType: element.type, slotId: slot.id, entityType });
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return unknown;
97
+ }
98
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/domain/validate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
  export * from "./definitions.js";
3
3
  export * from "./registry.js";
4
4
  export * from "./validate.js";
5
+ export * from "./domain/index.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
  export * from "./definitions.js";
3
3
  export * from "./registry.js";
4
4
  export * from "./validate.js";
5
+ export * from "./domain/index.js";
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,eAAe,EAChB,MAAM,YAAY,CAAC;AAkOpB,wBAAgB,kBAAkB,IAAI,eAAe,EAAE,CA0CtD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAQ5C"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,eAAe,EAChB,MAAM,YAAY,CAAC;AAgPpB,wBAAgB,kBAAkB,IAAI,eAAe,EAAE,CA0CtD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAQ5C"}
package/dist/validate.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { COMPONENT_TYPES, ELEMENT_TYPES, SKHEMA_MAPPING } from "@skhema/types/schema";
2
2
  import { elementDefinitions, elementRelationshipDefinitions, } from "./definitions.js";
3
+ import { isKnownEntityType } from "./domain/entity-types.js";
3
4
  const canonicalElementTypes = new Set(Object.values(ELEMENT_TYPES).map((element) => element.value));
4
5
  const canonicalComponentTypes = new Set(Object.values(COMPONENT_TYPES).map((component) => component.value));
5
6
  function issue(severity, code, path, message) {
@@ -29,6 +30,13 @@ function validateSlot(element, slot, index) {
29
30
  if (!Array.isArray(slot.acceptedEntityTypes)) {
30
31
  issues.push(issue("error", "slot_entity_types_invalid", path, "Method slot acceptedEntityTypes must be an array."));
31
32
  }
33
+ else {
34
+ for (const entityType of slot.acceptedEntityTypes) {
35
+ if (!isKnownEntityType(entityType)) {
36
+ issues.push(issue("error", "slot_entity_type_unknown", path, `acceptedEntityTypes references "${entityType}", which is not a canonical entity type. Add it to entity-type-definitions.ts.`));
37
+ }
38
+ }
39
+ }
32
40
  if (!slot.diagnostics || typeof slot.diagnostics !== "object") {
33
41
  issues.push(issue("error", "slot_diagnostics_missing", path, "Method slot diagnostics are required."));
34
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skhema/method",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -21,6 +21,6 @@
21
21
  "build": "tsc -p tsconfig.json"
22
22
  },
23
23
  "dependencies": {
24
- "@skhema/types": "1.2.2"
24
+ "@skhema/types": "2.7.0"
25
25
  }
26
26
  }