@optolith/database-schema 0.63.0 → 0.63.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,12 @@
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.63.1](https://github.com/Optolith/database-schema/compare/v0.63.0...v0.63.1) (2026-09-22)
6
+
7
+ ### Features
8
+
9
+ * allow duplicate pact gift names with specified pact category ([2f781f3](https://github.com/Optolith/database-schema/commit/2f781f32bd3694113b77e10a0f6d66e746c33d6d))
10
+ * display option replacement text can be markdown ([77308f7](https://github.com/Optolith/database-schema/commit/77308f7be4fcea94695b6149329b1ad22c525401))
5
11
  ## [0.63.0](https://github.com/Optolith/database-schema/compare/v0.62.0...v0.63.0) (2026-09-16)
6
12
 
7
13
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -16110,6 +16110,11 @@ export interface OrbEnchantmentTranslation {
16110
16110
  }
16111
16111
 
16112
16112
  export interface PactGift {
16113
+ /**
16114
+ * The pact category this pact gift is associated with. This is mainly used for allowing multiple pact gifts of the same name for different pact categories.
16115
+ */
16116
+ associatedPactCategory?: PactCategory_ID
16117
+
16113
16118
  /**
16114
16119
  * Number of available levels.
16115
16120
  */
@@ -16204,6 +16209,86 @@ export interface PactGiftTranslation {
16204
16209
  errata?: Errata
16205
16210
  }
16206
16211
 
16212
+ export interface PactCategory {
16213
+ /**
16214
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
16215
+ */
16216
+ src: PublicationRefs
16217
+
16218
+ /**
16219
+ * All translations for the entry, identified by IETF language tag (BCP47).
16220
+ */
16221
+ translations: {
16222
+ [localeId: string]: PactCategoryTranslation
16223
+ }
16224
+ }
16225
+
16226
+ /**
16227
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16228
+ */
16229
+ export type PactCategory_ID = string
16230
+
16231
+ export interface PactCategoryTranslation {
16232
+ /**
16233
+ * The pact category’s name.
16234
+ */
16235
+ name: string
16236
+
16237
+ errata?: Errata
16238
+ }
16239
+
16240
+ export interface PactType {
16241
+ /**
16242
+ * The pact category this type belongs to.
16243
+ */
16244
+ parent: PactCategory_ID
16245
+
16246
+ /**
16247
+ * All translations for the entry, identified by IETF language tag (BCP47).
16248
+ */
16249
+ translations: {
16250
+ [localeId: string]: PactTypeTranslation
16251
+ }
16252
+ }
16253
+
16254
+ /**
16255
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16256
+ */
16257
+ export type PactType_ID = string
16258
+
16259
+ export interface PactTypeTranslation {
16260
+ /**
16261
+ * The type’s name.
16262
+ */
16263
+ name: string
16264
+ }
16265
+
16266
+ export interface PactDomain {
16267
+ /**
16268
+ * The pact category this domain belongs to.
16269
+ */
16270
+ parent: PactCategory_ID
16271
+
16272
+ /**
16273
+ * All translations for the entry, identified by IETF language tag (BCP47).
16274
+ */
16275
+ translations: {
16276
+ [localeId: string]: PactDomainTranslation
16277
+ }
16278
+ }
16279
+
16280
+ /**
16281
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16282
+ */
16283
+ export type PactDomain_ID = string
16284
+
16285
+ export interface PactDomainTranslation {
16286
+ /**
16287
+ * The domain’s name.
16288
+ */
16289
+ name: string
16290
+ }
16291
+
16207
16292
  export type PactGiftPermanentDemonicConsumption =
16208
16293
  | {
16209
16294
  kind: "Fixed"
@@ -21513,86 +21598,6 @@ export interface PactPrerequisite {
21513
21598
  display_option?: DisplayOption
21514
21599
  }
21515
21600
 
21516
- export interface PactCategory {
21517
- /**
21518
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
21519
- */
21520
- src: PublicationRefs
21521
-
21522
- /**
21523
- * All translations for the entry, identified by IETF language tag (BCP47).
21524
- */
21525
- translations: {
21526
- [localeId: string]: PactCategoryTranslation
21527
- }
21528
- }
21529
-
21530
- /**
21531
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21532
- */
21533
- export type PactCategory_ID = string
21534
-
21535
- export interface PactCategoryTranslation {
21536
- /**
21537
- * The pact category’s name.
21538
- */
21539
- name: string
21540
-
21541
- errata?: Errata
21542
- }
21543
-
21544
- export interface PactType {
21545
- /**
21546
- * The pact category this type belongs to.
21547
- */
21548
- parent: PactCategory_ID
21549
-
21550
- /**
21551
- * All translations for the entry, identified by IETF language tag (BCP47).
21552
- */
21553
- translations: {
21554
- [localeId: string]: PactTypeTranslation
21555
- }
21556
- }
21557
-
21558
- /**
21559
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21560
- */
21561
- export type PactType_ID = string
21562
-
21563
- export interface PactTypeTranslation {
21564
- /**
21565
- * The type’s name.
21566
- */
21567
- name: string
21568
- }
21569
-
21570
- export interface PactDomain {
21571
- /**
21572
- * The pact category this domain belongs to.
21573
- */
21574
- parent: PactCategory_ID
21575
-
21576
- /**
21577
- * All translations for the entry, identified by IETF language tag (BCP47).
21578
- */
21579
- translations: {
21580
- [localeId: string]: PactDomainTranslation
21581
- }
21582
- }
21583
-
21584
- /**
21585
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21586
- */
21587
- export type PactDomain_ID = string
21588
-
21589
- export interface PactDomainTranslation {
21590
- /**
21591
- * The domain’s name.
21592
- */
21593
- name: string
21594
- }
21595
-
21596
21601
  /**
21597
21602
  * Requires a minimum social status.
21598
21603
  */
@@ -20,7 +20,7 @@ A standalone sentence is connected to the previous prerequisite string with a pe
20
20
  translations: NestedTranslationMap(DB.Required, "ReplacementDisplayOption", DB.Object({
21
21
  replacement: DB.Required({
22
22
  comment: "The replacement text.",
23
- type: DB.String({ minLength: 1 }),
23
+ type: DB.String({ minLength: 1, markdown: "inline" }),
24
24
  }),
25
25
  })),
26
26
  }),
@@ -1,5 +1,6 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  export declare const PactGift: DB.Entity<"PactGift", {
3
+ associatedPactCategory: DB.MemberDecl<DB.ReferenceIdentifier, false>;
3
4
  levels: DB.MemberDecl<DB.Integer, false>;
4
5
  nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
5
6
  levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
@@ -4,6 +4,7 @@ import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventu
4
4
  import { automatic_entries } from "../_ActivatableAutomatic.js";
5
5
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
6
6
  import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
7
+ import { PactCategoryIdentifier } from "../_Identifier.js";
7
8
  import { GeneralPrerequisites } from "../_Prerequisite.js";
8
9
  import { NestedTranslationMap } from "../Locale.js";
9
10
  import { Errata } from "../source/_Erratum.js";
@@ -12,6 +13,10 @@ export const PactGift = DB.Entity(import.meta.url, {
12
13
  name: "PactGift",
13
14
  namePlural: "PactGifts",
14
15
  type: () => DB.Object({
16
+ associatedPactCategory: DB.Optional({
17
+ comment: "The pact category this pact gift is associated with. This is mainly used for allowing multiple pact gifts of the same name for different pact categories.",
18
+ type: PactCategoryIdentifier(),
19
+ }),
15
20
  levels,
16
21
  nameBuilderRules,
17
22
  select_options,
@@ -41,11 +46,14 @@ export const PactGift = DB.Entity(import.meta.url, {
41
46
  instanceDisplayName: {},
42
47
  instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
43
48
  uniqueConstraints: [
44
- {
45
- entityMapKeyPath: "translations",
46
- keyPathInEntityMap: "name_in_library",
47
- keyPathInEntityMapFallback: "name",
48
- },
49
+ [
50
+ {
51
+ entityMapKeyPath: "translations",
52
+ keyPathInEntityMap: "name_in_library",
53
+ keyPathInEntityMapFallback: "name",
54
+ },
55
+ { keyPath: "associatedPactCategory" },
56
+ ],
49
57
  ],
50
58
  });
51
59
  const PactGiftPermanentDemonicConsumption = DB.Enum(import.meta.url, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.63.0",
3
+ "version": "0.63.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",