@optolith/database-schema 0.87.0 → 0.88.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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.88.0](https://github.com/Optolith/database-schema/compare/v0.87.0...v0.88.0) (2026-10-08)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * separate religious profession group
10
+
11
+ ### Features
12
+
13
+ * separate religious profession group ([5058757](https://github.com/Optolith/database-schema/commit/50587570cb9bf4418b80048c604dac83adf2431f))
14
+
5
15
  ## [0.87.0](https://github.com/Optolith/database-schema/compare/v0.86.0...v0.87.0) (2026-10-07)
6
16
 
7
17
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -883,6 +883,7 @@ export type TypeAliasMap = {
883
883
  ReferenceListNode: ReferenceListNode
884
884
  ReferenceListNodeImprovementCostSource: ReferenceListNodeImprovementCostSource
885
885
  ReferenceNode: ReferenceNode
886
+ ReligiousProfessionGroup: ReligiousProfessionGroup
886
887
  ReloadTime: ReloadTime
887
888
  ReplacementDisplayOption: ReplacementDisplayOption
888
889
  RequiredMinimumSkillsToBeOnSkillRating: RequiredMinimumSkillsToBeOnSkillRating
@@ -8912,6 +8913,10 @@ export type ProfessionGroup =
8912
8913
  | {
8913
8914
  kind: "Blessed"
8914
8915
  }
8916
+ | {
8917
+ kind: "Religious"
8918
+ Religious: ReligiousProfessionGroup
8919
+ }
8915
8920
 
8916
8921
  export type MundaneProfessionGroup =
8917
8922
  | {
@@ -8920,9 +8925,6 @@ export type MundaneProfessionGroup =
8920
8925
  | {
8921
8926
  kind: "Fighter"
8922
8927
  }
8923
- | {
8924
- kind: "Religious"
8925
- }
8926
8928
 
8927
8929
  export interface MagicalProfessionGroup {
8928
8930
  /**
@@ -9518,6 +9520,13 @@ export interface SpellworkAdjustmentWithBase {
9518
9520
  tradition?: MagicalTradition_ID
9519
9521
  }
9520
9522
 
9523
+ export interface ReligiousProfessionGroup {
9524
+ /**
9525
+ * The associated blessed tradition (religion).
9526
+ */
9527
+ associatedTradition?: BlessedTradition_ID
9528
+ }
9529
+
9521
9530
  export interface ProfessionVersion {
9522
9531
  /**
9523
9532
  * The associated profession.
@@ -10067,10 +10076,6 @@ export type MundaneCommonProfessionConstraint =
10067
10076
  kind: "Profession"
10068
10077
  Profession: ProfessionConstraint
10069
10078
  }
10070
- | {
10071
- kind: "Group"
10072
- Group: MundaneProfessionGroup
10073
- }
10074
10079
 
10075
10080
  export interface ProfessionConstraint {
10076
10081
  /**
@@ -21232,6 +21237,9 @@ export type BlessedCommonProfessionConstraint =
21232
21237
  kind: "Profession"
21233
21238
  Profession: ProfessionConstraint
21234
21239
  }
21240
+ | {
21241
+ kind: "Religious"
21242
+ }
21235
21243
 
21236
21244
  export interface BlessedTraditionConstraint {
21237
21245
  /**
@@ -3,7 +3,6 @@ import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantag
3
3
  import { AdvantageIdentifier, BlessedTraditionIdentifier, DisadvantageIdentifier, LanguageIdentifier, LanguageSpecializationIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionVariantIdentifier, ScriptIdentifier, SkillIdentifier, SocialStatusIdentifier, } from "./_Identifier.js";
4
4
  import { BinarySex } from "./_Sex.js";
5
5
  import { NestedTranslationMap } from "./Locale.js";
6
- import { MundaneProfessionGroup } from "./Profession.js";
7
6
  import { Errata } from "./source/_Erratum.js";
8
7
  import { src } from "./source/_PublicationRef.js";
9
8
  export const Culture = DB.Entity(import.meta.url, {
@@ -248,7 +247,6 @@ const MundaneCommonProfessionConstraint = DB.Enum(import.meta.url, {
248
247
  name: "MundaneCommonProfessionConstraint",
249
248
  values: () => ({
250
249
  Profession: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionConstraint) }),
251
- Group: DB.EnumCase({ type: DB.IncludeIdentifier(MundaneProfessionGroup) }),
252
250
  }),
253
251
  });
254
252
  const MagicCommonProfessionConstraint = DB.Enum(import.meta.url, {
@@ -264,6 +262,7 @@ const BlessedCommonProfessionConstraint = DB.Enum(import.meta.url, {
264
262
  values: () => ({
265
263
  Tradition: DB.EnumCase({ type: DB.IncludeIdentifier(BlessedTraditionConstraint) }),
266
264
  Profession: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionConstraint) }),
265
+ Religious: DB.EnumCase({ type: null }),
267
266
  }),
268
267
  });
269
268
  const PlainCommonProfessions = DB.TypeAlias(import.meta.url, {
@@ -4,13 +4,15 @@ export declare const Profession: DB.Entity<"Profession", {
4
4
  Mundane: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"MundaneProfessionGroup", {
5
5
  Profane: DB.EnumCase<null>;
6
6
  Fighter: DB.EnumCase<null>;
7
- Religious: DB.EnumCase<null>;
8
7
  }, []>>>;
9
8
  Magical: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MagicalProfessionGroup", DB.Object<{
10
9
  curriculum: DB.MemberDecl<DB.ReferenceIdentifier, false>;
11
10
  subgroup: DB.MemberDecl<DB.ReferenceIdentifier, false>;
12
11
  }>, []>>>;
13
12
  Blessed: DB.EnumCase<null>;
13
+ Religious: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReligiousProfessionGroup", DB.Object<{
14
+ associatedTradition: DB.MemberDecl<DB.ReferenceIdentifier, false>;
15
+ }>, []>>>;
14
16
  }, []>>, true>;
15
17
  versions: DB.MemberDecl<DB.ChildEntities<DB.Entity<"ProfessionVersion", {
16
18
  profession: DB.MemberDecl<DB.ReferenceIdentifier, true>;
@@ -878,7 +880,6 @@ export declare const Profession: DB.Entity<"Profession", {
878
880
  export declare const MundaneProfessionGroup: DB.Enum<"MundaneProfessionGroup", {
879
881
  Profane: DB.EnumCase<null>;
880
882
  Fighter: DB.EnumCase<null>;
881
- Religious: DB.EnumCase<null>;
882
883
  }, []>;
883
884
  export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
884
885
  profession: DB.MemberDecl<DB.ReferenceIdentifier, true>;
@@ -2,7 +2,7 @@ import { isNotNullish } from "@elyukai/utils/nullable";
2
2
  import * as DB from "tsondb/schema/dsl";
3
3
  import { verifyOptionsForActivatableEntry } from "./_ActivatableSelectOptions.js";
4
4
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
5
- import { AdvantageIdentifier, BannzeichenOptionIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
5
+ import { AdvantageIdentifier, BannzeichenOptionIdentifier, BlessedTraditionIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
6
6
  import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, ProfessionSpecialAbilityIdentifier, RequirableSelectOptionIdentifier, SpecialAbilityIdentifier, SpellworkIdentifier, } from "./_IdentifierGroup.js";
7
7
  import { ProfessionPrerequisites, ProfessionVariantPrerequisites } from "./_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "./Locale.js";
@@ -47,6 +47,7 @@ const ProfessionGroup = DB.Enum(import.meta.url, {
47
47
  Mundane: DB.EnumCase({ type: DB.IncludeIdentifier(MundaneProfessionGroup) }),
48
48
  Magical: DB.EnumCase({ type: DB.IncludeIdentifier(MagicalProfessionGroup) }),
49
49
  Blessed: DB.EnumCase({ type: null }),
50
+ Religious: DB.EnumCase({ type: DB.IncludeIdentifier(ReligiousProfessionGroup) }),
50
51
  }),
51
52
  });
52
53
  export const MundaneProfessionGroup = DB.Enum(import.meta.url, {
@@ -54,7 +55,6 @@ export const MundaneProfessionGroup = DB.Enum(import.meta.url, {
54
55
  values: () => ({
55
56
  Profane: DB.EnumCase({ type: null }),
56
57
  Fighter: DB.EnumCase({ type: null }),
57
- Religious: DB.EnumCase({ type: null }),
58
58
  }),
59
59
  });
60
60
  const MagicalProfessionGroup = DB.TypeAlias(import.meta.url, {
@@ -70,6 +70,15 @@ const MagicalProfessionGroup = DB.TypeAlias(import.meta.url, {
70
70
  }),
71
71
  }),
72
72
  });
73
+ const ReligiousProfessionGroup = DB.TypeAlias(import.meta.url, {
74
+ name: "ReligiousProfessionGroup",
75
+ type: () => DB.Object({
76
+ associatedTradition: DB.Optional({
77
+ comment: "The associated blessed tradition (religion).",
78
+ type: BlessedTraditionIdentifier(),
79
+ }),
80
+ }),
81
+ });
73
82
  export const ProfessionVersion = DB.Entity(import.meta.url, {
74
83
  name: "ProfessionVersion",
75
84
  namePlural: "ProfessionVersions",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.87.0",
3
+ "version": "0.88.0",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",