@cosmicdrift/kumiko-types 0.322.0 → 0.323.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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/fields.ts +7 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-types",
3
- "version": "0.322.0",
3
+ "version": "0.323.0",
4
4
  "description": "Framework-Type-Definitions für Kumiko — FeatureDefinition, BootCheck-Types und die reinen Engine-Types. Erlaubt Downstream-Konsumenten, gegen die Type-Contracts zu bauen, ohne das ganze Framework-Package zu importieren. Enthaelt keine identitaets-sensitiven Runtime-Werte mehr (Error-Klassen leben seit #1629 in kumiko-framework, Brand-Symbole nutzen Symbol.for) und ist deshalb eine plain dependency, keine peerDependency.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
package/src/fields.ts CHANGED
@@ -160,6 +160,11 @@ export type Findability = "exact" | "fuzzy" | "none" | "secret";
160
160
  // force every OTHER intersected property (e.g. a factory's `required?: R`)
161
161
  // to `never` too, since its index signature applies to all string keys.
162
162
  // Naming the three annotation keys explicitly avoids that trap.
163
+ //
164
+ // kumiko-framework#2921: no longer part of PersonalAnnotations /
165
+ // PersonalAnnotationsLongText — text and longText fields must declare an
166
+ // explicit stance. It still applies to PersonalAnnotationsNoFind, whose
167
+ // factories keep `personal` optional.
163
168
  type NoPersonalAnnotation = {
164
169
  readonly personal?: never;
165
170
  readonly find?: never;
@@ -178,8 +183,7 @@ export type PersonalAnnotations =
178
183
  readonly personal: false;
179
184
  readonly reason: string;
180
185
  readonly anonymize?: () => unknown | Promise<unknown>;
181
- }
182
- | NoPersonalAnnotation;
186
+ };
183
187
 
184
188
  // longText has no lookupable/searchable machinery ("Kein searchable" — see
185
189
  // LongTextFieldDef doc) — only "does this need to stay a secret" applies.
@@ -197,8 +201,7 @@ export type PersonalAnnotationsLongText =
197
201
  readonly personal: false;
198
202
  readonly reason: string;
199
203
  readonly anonymize?: () => unknown | Promise<unknown>;
200
- }
201
- | NoPersonalAnnotation;
204
+ };
202
205
 
203
206
  // Same as PersonalAnnotations but without `find` — for field types with no
204
207
  // full-text/blind-index machinery (everything except text and longText).