@optolith/database-schema 0.50.0 → 0.50.1

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,14 @@
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.50.1](https://github.com/Optolith/database-schema/compare/v0.50.0...v0.50.1) (2026-06-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * primary blessing for tradition ([9d97dd4](https://github.com/Optolith/database-schema/commit/9d97dd4ec95c8dd42cb6e31873a4702684a941de))
11
+ * trade secrets for herbal aids ([27236a7](https://github.com/Optolith/database-schema/commit/27236a75884fdb891a60a0105ebb5ff82147cbc1)), closes [#159](https://github.com/Optolith/database-schema/issues/159) [#158](https://github.com/Optolith/database-schema/issues/158)
12
+
5
13
  ## [0.50.0](https://github.com/Optolith/database-schema/compare/v0.49.0...v0.50.0) (2026-06-14)
6
14
 
7
15
 
package/gen/types.d.ts CHANGED
@@ -7403,6 +7403,11 @@ export interface BlessedTradition {
7403
7403
  */
7404
7404
  aspects?: [Aspect_ID, Aspect_ID]
7405
7405
 
7406
+ /**
7407
+ * The tradition’s primary blessing. Leave empty if the tradition does not have one.
7408
+ */
7409
+ primaryBlessing?: Blessing_ID
7410
+
7406
7411
  /**
7407
7412
  * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7408
7413
  */
@@ -7499,19 +7504,6 @@ export interface BlessedTraditionTranslation {
7499
7504
  errata?: Errata
7500
7505
  }
7501
7506
 
7502
- /**
7503
- * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7504
- */
7505
- export type RestrictedBlessings =
7506
- | {
7507
- kind: "Three"
7508
- Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7509
- }
7510
- | {
7511
- kind: "Six"
7512
- Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7513
- }
7514
-
7515
7507
  export interface Blessing {
7516
7508
  /**
7517
7509
  * Measurable parameters of a blessing.
@@ -7644,6 +7636,19 @@ export interface IndefiniteBlessingDurationTranslation {
7644
7636
  description: string
7645
7637
  }
7646
7638
 
7639
+ /**
7640
+ * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7641
+ */
7642
+ export type RestrictedBlessings =
7643
+ | {
7644
+ kind: "Three"
7645
+ Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7646
+ }
7647
+ | {
7648
+ kind: "Six"
7649
+ Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7650
+ }
7651
+
7647
7652
  export type FavoredCombatTechniques =
7648
7653
  | {
7649
7654
  kind: "All"
@@ -24758,6 +24763,11 @@ export interface HerbalAid {
24758
24763
  */
24759
24764
  crafting_difficulty: number
24760
24765
 
24766
+ /**
24767
+ * AP value and prerequisites of the herbal aid�s trade secret.
24768
+ */
24769
+ trade_secret?: RecipeTradeSecret
24770
+
24761
24771
  /**
24762
24772
  * The armor or weapon this herbal aid represents.
24763
24773
  */
@@ -10,6 +10,33 @@ export declare const HerbalAid: DB.Entity<"HerbalAid", {
10
10
  Supernatural: DB.EnumCase<null>;
11
11
  }, []>>>, true>;
12
12
  crafting_difficulty: DB.MemberDecl<DB.Integer, true>;
13
+ trade_secret: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RecipeTradeSecret", DB.Object<{
14
+ ap_value: DB.MemberDecl<DB.Integer, true>;
15
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
16
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
17
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
18
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
19
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
20
+ Hide: DB.EnumCase<null>;
21
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
22
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
23
+ Standalone: DB.EnumCase<null>;
24
+ Connected: DB.EnumCase<null>;
25
+ }, []>>, false>;
26
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
27
+ replacement: DB.MemberDecl<DB.String, true>;
28
+ }>, true>;
29
+ }>, []>>>;
30
+ }, []>>, false>;
31
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
32
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
33
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
34
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
35
+ text: DB.MemberDecl<DB.String, true>;
36
+ }>, true>;
37
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
38
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
39
+ }>, []>>, false>;
13
40
  combatUse: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HerbalAidCombatUse", {
14
41
  Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
15
42
  Armor: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { src } from "../../source/_PublicationRef.js";
3
3
  import { NestedTranslationMap } from "../../Locale.js";
4
4
  import { WeaponIdentifier, ArmorIdentifier } from "../../_Identifier.js";
5
- import { EffectType } from "./_Herbary.js";
5
+ import { EffectType, RecipeTradeSecret } from "./_Herbary.js";
6
6
  export const HerbalAid = DB.Entity(import.meta.url, {
7
7
  name: "HerbalAid",
8
8
  namePlural: "HerbalAids",
@@ -15,6 +15,10 @@ export const HerbalAid = DB.Entity(import.meta.url, {
15
15
  comment: "The difficulty for this aid to craft.",
16
16
  type: DB.Integer(),
17
17
  }),
18
+ trade_secret: DB.Optional({
19
+ comment: "AP value and prerequisites of the herbal aid�s trade secret.",
20
+ type: DB.IncludeIdentifier(RecipeTradeSecret),
21
+ }),
18
22
  combatUse: DB.Optional({
19
23
  comment: "The armor or weapon this herbal aid represents.",
20
24
  type: DB.IncludeIdentifier(HerbalAidCombatUse),
@@ -940,6 +940,7 @@ export declare const BlessedTradition: DB.Entity<"BlessedTradition", {
940
940
  }, "parent">>, true>;
941
941
  primary: DB.MemberDecl<DB.ReferenceIdentifier, false>;
942
942
  aspects: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
943
+ primaryBlessing: DB.MemberDecl<DB.ReferenceIdentifier, false>;
943
944
  restricted_blessings: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedBlessings", {
944
945
  Three: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
945
946
  Six: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
@@ -27,6 +27,10 @@ export const BlessedTradition = DB.Entity(import.meta.url, {
27
27
  comment: "The tradition’s aspects, if any.",
28
28
  type: DB.Array(AspectIdentifier(), { minItems: 2, maxItems: 2 }),
29
29
  }),
30
+ primaryBlessing: DB.Optional({
31
+ comment: "The tradition’s primary blessing. Leave empty if the tradition does not have one.",
32
+ type: BlessingIdentifier(),
33
+ }),
30
34
  restricted_blessings: DB.Optional({
31
35
  comment: "If a tradition restricts the possible blessings, the blessings that are **not** allowed.",
32
36
  type: DB.IncludeIdentifier(RestrictedBlessings),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.50.0",
3
+ "version": "0.50.1",
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",