@cosmicdrift/kumiko-types 0.322.0 → 0.324.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/package.json +1 -1
- package/src/fields.ts +22 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.324.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).
|
|
@@ -256,6 +259,11 @@ export type TextFieldDef = {
|
|
|
256
259
|
readonly filterable?: boolean;
|
|
257
260
|
readonly encrypted?: boolean;
|
|
258
261
|
readonly sensitive?: boolean;
|
|
262
|
+
/** A later run reads this field's value as an instruction — prompt, rule,
|
|
263
|
+
* template. Every create/update whose payload writes it requires agent.risk
|
|
264
|
+
* "high" on the directly-dispatched entry handler; a revert doesn't undo a
|
|
265
|
+
* run that already read the compromised value. See irreversible-operation-gate. */
|
|
266
|
+
readonly readAsInstruction?: boolean;
|
|
259
267
|
/** "password" is a pure render hint (masked input) — no storage semantics. */
|
|
260
268
|
readonly format?: "email" | "url" | "phone" | "password";
|
|
261
269
|
readonly default?: string;
|
|
@@ -297,6 +305,11 @@ export type LongTextFieldDef = {
|
|
|
297
305
|
readonly required?: boolean;
|
|
298
306
|
readonly encrypted?: boolean;
|
|
299
307
|
readonly sensitive?: boolean;
|
|
308
|
+
/** A later run reads this field's value as an instruction — prompt, rule,
|
|
309
|
+
* template. Every create/update whose payload writes it requires agent.risk
|
|
310
|
+
* "high" on the directly-dispatched entry handler; a revert doesn't undo a
|
|
311
|
+
* run that already read the compromised value. See irreversible-operation-gate. */
|
|
312
|
+
readonly readAsInstruction?: boolean;
|
|
300
313
|
readonly default?: string;
|
|
301
314
|
readonly access?: FieldAccess;
|
|
302
315
|
readonly multiline?: boolean | { readonly rows?: number };
|
|
@@ -660,6 +673,11 @@ export type JsonbFieldDef = {
|
|
|
660
673
|
readonly type: "jsonb";
|
|
661
674
|
readonly description?: string;
|
|
662
675
|
readonly sensitive?: boolean;
|
|
676
|
+
/** A later run reads this field's value as an instruction — prompt, rule,
|
|
677
|
+
* template. Every create/update whose payload writes it requires agent.risk
|
|
678
|
+
* "high" on the directly-dispatched entry handler; a revert doesn't undo a
|
|
679
|
+
* run that already read the compromised value. See irreversible-operation-gate. */
|
|
680
|
+
readonly readAsInstruction?: boolean;
|
|
663
681
|
readonly access?: FieldAccess;
|
|
664
682
|
} & ResolvedPiiFlags;
|
|
665
683
|
|