@cosmicdrift/kumiko-types 0.356.0 → 0.358.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/dist/event-store-executor-types.d.ts +1 -0
- package/dist/fields.d.ts +11 -0
- package/dist/screen.d.ts +6 -0
- package/package.json +1 -1
- package/src/changes.json +6 -0
|
@@ -23,6 +23,7 @@ export type EventStoreExecutor = {
|
|
|
23
23
|
}, user: SessionUser, db: TenantDb, options?: StreamTenantOption & {
|
|
24
24
|
skipOptimisticLock?: boolean;
|
|
25
25
|
skipUnchanged?: boolean;
|
|
26
|
+
includeDeleted?: boolean;
|
|
26
27
|
preSave?: PreSaveRunner;
|
|
27
28
|
expect?: Readonly<Record<string, string | number | boolean | null>>;
|
|
28
29
|
}) => Promise<WriteResult<SaveContext>>;
|
package/dist/fields.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export type ResolvedPiiFlags = {
|
|
|
11
11
|
readonly pii?: boolean;
|
|
12
12
|
readonly userOwned?: {
|
|
13
13
|
readonly ownerField: string;
|
|
14
|
+
readonly whenAbsent?: EntityPiiAbsentSubject;
|
|
14
15
|
};
|
|
15
16
|
readonly tenantOwned?: boolean;
|
|
16
17
|
readonly recordOwned?: true;
|
|
@@ -28,8 +29,10 @@ export type ResolvedPiiFlags = {
|
|
|
28
29
|
* that lives purely in an FK column. */
|
|
29
30
|
readonly subjectRef?: true;
|
|
30
31
|
};
|
|
32
|
+
export type EntityPiiAbsentSubject = "tenant";
|
|
31
33
|
export type PersonalSubject = "self" | {
|
|
32
34
|
readonly of: string;
|
|
35
|
+
readonly whenAbsent?: EntityPiiAbsentSubject;
|
|
33
36
|
} | "tenant";
|
|
34
37
|
export type Findability = "exact" | "fuzzy" | "none" | "secret";
|
|
35
38
|
type NoPersonalAnnotation = {
|
|
@@ -85,6 +88,9 @@ export type TextFieldDef = {
|
|
|
85
88
|
/** Lower bound enforced by the generated write schema, so short input is
|
|
86
89
|
* rejected by validation instead of reaching the handler. */
|
|
87
90
|
readonly minLength?: number;
|
|
91
|
+
/** HTML `autocomplete` token for the rendered input (e.g. "one-time-code"),
|
|
92
|
+
* so browsers and password managers offer or suppress autofill correctly. */
|
|
93
|
+
readonly autoComplete?: string;
|
|
88
94
|
readonly required?: boolean;
|
|
89
95
|
readonly searchable?: boolean;
|
|
90
96
|
readonly sortable?: boolean;
|
|
@@ -273,6 +279,11 @@ export type MultiSelectFieldDef<TOptions extends readonly string[] = readonly st
|
|
|
273
279
|
* `"checkboxes"` grid becomes scrollable. Omitted = the grid grows with its
|
|
274
280
|
* content and never scrolls. Ignored unless `display: "checkboxes"`. */
|
|
275
281
|
readonly maxRows?: number;
|
|
282
|
+
/** Query returning `{ rows: { value, disabled?, hint? }[] }`. The renderer hides
|
|
283
|
+
* options whose row has `disabled: true` unless the value is currently selected;
|
|
284
|
+
* `hint` is ignored. Static `options` stay authoritative and the write path must
|
|
285
|
+
* enforce the same rule, the renderer only mirrors it. Called with an empty payload. */
|
|
286
|
+
readonly optionsAvailabilityQuery?: string;
|
|
276
287
|
} & ResolvedPiiFlags;
|
|
277
288
|
/**
|
|
278
289
|
* Storage: `integer` flag decides the Postgres column type, not just Zod
|
package/dist/screen.d.ts
CHANGED
|
@@ -794,6 +794,8 @@ export type DashboardChartPanel = DashboardPanelQueryOptions & DashboardPanelEmp
|
|
|
794
794
|
/** Only for chart "stacked-area": "legend" drops the numbered marker list; pins become
|
|
795
795
|
* plain dots with a tooltip and the legend lists marker kinds (see `markerKinds[].label`). Default "list". */
|
|
796
796
|
readonly markerLegend?: "list" | "legend";
|
|
797
|
+
/** Only for chart "stacked-area": true writes each marker label vertically next to its guide line on wide panels; narrow panels keep the pins. Default false. */
|
|
798
|
+
readonly markerLabels?: boolean;
|
|
797
799
|
};
|
|
798
800
|
export type DashboardListPanel = DashboardPanelQueryOptions & DashboardPanelEmptyState & DashboardPanelGate & {
|
|
799
801
|
readonly kind: "list";
|
|
@@ -1488,6 +1490,10 @@ export type SecretReveal = {
|
|
|
1488
1490
|
readonly warning?: string;
|
|
1489
1491
|
/** i18n key for the acknowledge button. Default "kumiko.secretMint.confirm". */
|
|
1490
1492
|
readonly confirmLabel?: string;
|
|
1493
|
+
/** i18n key for a checkbox on the reveal card ("I have saved my recovery
|
|
1494
|
+
* codes"). While unchecked, the confirm step's submit or the acknowledge
|
|
1495
|
+
* button stays disabled. The tick is UI-only and never part of a payload. */
|
|
1496
|
+
readonly acknowledge?: string;
|
|
1491
1497
|
};
|
|
1492
1498
|
/** Mint form → one-time reveal → explicit confirm. The secret (API token,
|
|
1493
1499
|
* recovery codes) lives only in the write-handler's own success payload —
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.358.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/changes.json
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.357.0",
|
|
4
|
+
"type": "improvement",
|
|
5
|
+
"title": "MultiSelectFieldDef.optionsAvailabilityQuery hides static multiSelect options per caller",
|
|
6
|
+
"detail": "The query returns { rows: { value, disabled?, hint? }[] }; disabled options are hidden unless currently selected."
|
|
7
|
+
},
|
|
2
8
|
{
|
|
3
9
|
"version": "0.352.0",
|
|
4
10
|
"type": "improvement",
|