@cosmicdrift/kumiko-bundled-features 0.351.0 → 0.353.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/agent-tools/agent-manifest.js +8 -2
- package/dist/agent-tools/manifest-deny-qns.d.ts +3 -0
- package/dist/agent-tools/manifest-deny-qns.js +17 -0
- package/dist/agent-tools/tool-catalog.d.ts +2 -1
- package/dist/agent-tools/tool-catalog.js +4 -1
- package/dist/audit/handlers/list.query.js +13 -8
- package/dist/auth-email-password/handlers/signup-confirm.write.js +2 -3
- package/dist/auth-mfa/schema/user-mfa.d.ts +6 -0
- package/dist/auth-mfa/screens.js +2 -2
- package/dist/billing-foundation/checkout-core.d.ts +7 -0
- package/dist/billing-foundation/checkout-core.js +7 -2
- package/dist/billing-foundation/entities.d.ts +8 -0
- package/dist/billing-foundation/handlers/start-plan-checkout.write.js +7 -1
- package/dist/billing-foundation/projection.d.ts +8 -0
- package/dist/cap-counter/book-cap-usage.d.ts +5 -1
- package/dist/cap-counter/book-cap-usage.js +65 -44
- package/dist/cap-counter/cap-reservation.d.ts +12 -0
- package/dist/cap-counter/cap-reservation.js +135 -0
- package/dist/cap-counter/constants.d.ts +3 -0
- package/dist/cap-counter/constants.js +6 -0
- package/dist/cap-counter/entity.d.ts +1 -0
- package/dist/cap-counter/feature.js +7 -2
- package/dist/cap-counter/handlers/increment-rolling.write.d.ts +5 -0
- package/dist/cap-counter/handlers/increment-rolling.write.js +4 -0
- package/dist/cap-counter/index.d.ts +4 -2
- package/dist/cap-counter/index.js +3 -1
- package/dist/cap-counter/payload-field.d.ts +1 -0
- package/dist/cap-counter/payload-field.js +11 -0
- package/dist/cap-counter/reservation-chain.d.ts +2 -0
- package/dist/cap-counter/reservation-chain.js +44 -0
- package/dist/cap-counter/stock-cap-guard.d.ts +3 -0
- package/dist/cap-counter/tables.d.ts +3 -0
- package/dist/cap-counter/tables.js +36 -0
- package/dist/cap-counter/value-cap-guard.d.ts +18 -0
- package/dist/cap-counter/value-cap-guard.js +33 -0
- package/dist/cap-counter/with-cap-enforcement.d.ts +5 -7
- package/dist/cap-counter/with-cap-enforcement.js +35 -51
- package/dist/cap-overview/access.js +2 -9
- package/dist/cap-overview/handlers/tenant-caps-list.query.js +2 -2
- package/dist/cap-overview/handlers/tenant-options.query.js +4 -5
- package/dist/channel-discord/feature.js +1 -0
- package/dist/channel-slack/feature.js +1 -0
- package/dist/channel-teams/feature.js +1 -0
- package/dist/compliance-profiles/schema/profile-selection.d.ts +10 -8
- package/dist/compliance-profiles-ops/handlers/tenants-missing-profile.query.js +2 -4
- package/dist/config/handlers/values.query.d.ts +3 -1
- package/dist/config/handlers/values.query.js +7 -2
- package/dist/config/table.d.ts +6 -0
- package/dist/custom-fields/entity.d.ts +4 -0
- package/dist/data-retention/schema/tenant-retention-override.d.ts +4 -0
- package/dist/delivery/attempt-log-retention.d.ts +9 -0
- package/dist/delivery/attempt-log-retention.js +23 -0
- package/dist/delivery/attempt-log.d.ts +1 -1
- package/dist/delivery/attempt-log.js +21 -2
- package/dist/delivery/constants.d.ts +1 -1
- package/dist/delivery/constants.js +1 -1
- package/dist/delivery/events.d.ts +1 -0
- package/dist/delivery/events.js +2 -0
- package/dist/delivery/feature.d.ts +1 -0
- package/dist/delivery/feature.js +39 -3
- package/dist/delivery/index.d.ts +2 -1
- package/dist/delivery/index.js +2 -1
- package/dist/delivery/mask-recipient-address.d.ts +1 -0
- package/dist/delivery/mask-recipient-address.js +41 -0
- package/dist/delivery/public-names.d.ts +2 -0
- package/dist/delivery/public-names.js +4 -1
- package/dist/delivery/tables.d.ts +6 -0
- package/dist/delivery/types.d.ts +1 -0
- package/dist/delivery/types.js +6 -2
- package/dist/document-ingest-foundation/entity.d.ts +4 -0
- package/dist/files-tenant-data/hooks.js +3 -2
- package/dist/folders/entity.d.ts +8 -0
- package/dist/folders/feature.js +2 -10
- package/dist/form-draft/db/queries/cleanup.d.ts +1 -1
- package/dist/form-draft/db/queries/cleanup.js +4 -3
- package/dist/form-draft/entity.d.ts +2 -0
- package/dist/form-draft/handlers/cleanup.job.d.ts +5 -1
- package/dist/form-draft/handlers/cleanup.job.js +11 -5
- package/dist/inbound-mail-foundation/entities.d.ts +25 -0
- package/dist/inbound-mail-foundation/projection.d.ts +20 -0
- package/dist/jobs/handlers/list.query.d.ts +2 -1
- package/dist/jobs/handlers/list.query.js +39 -14
- package/dist/jobs/i18n.js +1 -0
- package/dist/jobs/job-run-table.d.ts +6 -0
- package/dist/ledger/entity.d.ts +24 -8
- package/dist/ledger/entity.js +4 -0
- package/dist/ledger/schemas.js +8 -2
- package/dist/managed-pages/feature.js +28 -10
- package/dist/managed-pages/table.d.ts +12 -0
- package/dist/notes-history/entity.d.ts +12 -0
- package/dist/notes-history/feature.js +2 -10
- package/dist/personal-access-tokens/schema/api-token.d.ts +6 -0
- package/dist/personal-access-tokens/screens.js +14 -3
- package/dist/renderer-foundation/types.d.ts +1 -0
- package/dist/renderer-simple/feature.js +4 -6
- package/dist/renderer-simple/index.d.ts +1 -0
- package/dist/renderer-simple/mail-blocks.d.ts +21 -0
- package/dist/renderer-simple/mail-blocks.js +107 -0
- package/dist/renderer-simple/simple-renderer.js +21 -3
- package/dist/secrets/table.d.ts +1 -0
- package/dist/seo/feature.js +28 -6
- package/dist/sessions/schema/user-session.d.ts +4 -0
- package/dist/shared/assert-no-where-rule-in-ownership-write.d.ts +2 -0
- package/dist/shared/assert-no-where-rule-in-ownership-write.js +18 -0
- package/dist/shared/index.d.ts +2 -1
- package/dist/shared/index.js +2 -1
- package/dist/shared/rate-limited-text-response.d.ts +2 -0
- package/dist/shared/rate-limited-text-response.js +9 -0
- package/dist/tags/entity.d.ts +9 -0
- package/dist/tags/feature.js +2 -10
- package/dist/template-resolver/table.d.ts +48 -30
- package/dist/template-resolver/user-content-table.d.ts +34 -20
- package/dist/tenant/decrypt-tenant-names.d.ts +3 -0
- package/dist/tenant/decrypt-tenant-names.js +10 -0
- package/dist/tenant/handlers/me.query.js +5 -1
- package/dist/tenant/handlers/memberships.query.js +3 -2
- package/dist/tenant/handlers/tenant-directory.query.js +9 -3
- package/dist/tenant/index.d.ts +1 -0
- package/dist/tenant/index.js +1 -0
- package/dist/tenant/invitation-table.d.ts +16 -8
- package/dist/tenant/membership-table.d.ts +4 -0
- package/dist/tenant/schema/tenant.d.ts +18 -10
- package/dist/tenant/schema/tenant.js +4 -6
- package/dist/tenant/screens.js +1 -1
- package/dist/tenant-handover/move-entity-graph.js +11 -18
- package/dist/tenant-lifecycle/feature.js +1 -0
- package/dist/tenant-lifecycle/run-tenant-destroy.d.ts +3 -0
- package/dist/tenant-lifecycle/run-tenant-destroy.js +2 -0
- package/dist/tenant-lifecycle/stages.d.ts +2 -0
- package/dist/tenant-lifecycle/stages.js +7 -1
- package/dist/tier-engine/entity.d.ts +2 -0
- package/dist/tier-engine/index.d.ts +1 -0
- package/dist/tier-engine/index.js +1 -0
- package/dist/tier-engine/tier-option-gate.d.ts +32 -0
- package/dist/tier-engine/tier-option-gate.js +62 -0
- package/dist/tier-engine/tier-resolver.d.ts +2 -0
- package/dist/user/handlers/list.query.js +2 -2
- package/dist/user/schema/user.d.ts +22 -8
- package/dist/user-data-rights/boot-checks.js +5 -0
- package/dist/user-data-rights/handlers/confirm-deletion-by-token.write.js +2 -2
- package/dist/user-data-rights/schema/download-attempt.d.ts +14 -0
- package/dist/user-data-rights/schema/download-token.d.ts +8 -0
- package/dist/user-data-rights/schema/export-job.d.ts +16 -8
- package/dist/user-data-rights-defaults/hooks/delivery-attempt.userdata-hook.js +25 -6
- package/dist/waitlist/entity.d.ts +22 -6
- package/dist/workflow-runner/event-trigger.js +6 -3
- package/dist/workflow-runner/handlers/resume-run.write.js +3 -0
- package/package.json +10 -10
- package/src/agent-tools/changes.json +12 -0
- package/src/audit/changes.json +6 -0
- package/src/cap-counter/changes.json +28 -0
- package/src/delivery/changes.json +12 -0
- package/src/derivatives-sharp/changes.json +6 -0
- package/src/form-draft/changes.json +7 -1
- package/src/legal-pages/changes.json +6 -0
- package/src/managed-pages/changes.json +6 -0
- package/src/renderer-simple/changes.json +6 -0
- package/src/seo/changes.json +5 -0
- package/src/tenant/changes.json +7 -0
- package/src/tenant-handover/changes.json +6 -0
- package/src/tier-engine/changes.json +6 -0
- package/src/workflow-runner/changes.json +5 -0
- package/dist/shared/has-where-rule.d.ts +0 -2
- package/dist/shared/has-where-rule.js +0 -10
|
@@ -4,6 +4,7 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
4
4
|
readonly type: "text";
|
|
5
5
|
readonly description?: string;
|
|
6
6
|
readonly maxLength?: number;
|
|
7
|
+
readonly minLength?: number;
|
|
7
8
|
readonly required?: boolean;
|
|
8
9
|
readonly searchable?: boolean;
|
|
9
10
|
readonly sortable?: boolean;
|
|
@@ -33,15 +34,16 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
33
34
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
34
35
|
readonly display?: "radio" | "dropdown";
|
|
35
36
|
readonly optionTones?: {
|
|
36
|
-
readonly "ai-prompt"?:
|
|
37
|
-
readonly "document-pdf"?:
|
|
38
|
-
readonly "image-snapshot"?:
|
|
39
|
-
readonly "mail-html"?:
|
|
40
|
-
readonly notification?:
|
|
41
|
-
readonly "text-block"?:
|
|
37
|
+
readonly "ai-prompt"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
38
|
+
readonly "document-pdf"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
39
|
+
readonly "image-snapshot"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
40
|
+
readonly "mail-html"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
41
|
+
readonly notification?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
42
|
+
readonly "text-block"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
42
43
|
} | undefined;
|
|
43
44
|
readonly optionsQuery?: string;
|
|
44
45
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
46
|
+
readonly optionsAvailabilityQuery?: string;
|
|
45
47
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
46
48
|
required: true;
|
|
47
49
|
};
|
|
@@ -49,6 +51,7 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
49
51
|
readonly type: "text";
|
|
50
52
|
readonly description?: string;
|
|
51
53
|
readonly maxLength?: number;
|
|
54
|
+
readonly minLength?: number;
|
|
52
55
|
readonly required?: boolean;
|
|
53
56
|
readonly searchable?: boolean;
|
|
54
57
|
readonly sortable?: boolean;
|
|
@@ -70,6 +73,7 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
70
73
|
readonly type: "text";
|
|
71
74
|
readonly description?: string;
|
|
72
75
|
readonly maxLength?: number;
|
|
76
|
+
readonly minLength?: number;
|
|
73
77
|
readonly required?: boolean;
|
|
74
78
|
readonly searchable?: boolean;
|
|
75
79
|
readonly sortable?: boolean;
|
|
@@ -91,6 +95,7 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
91
95
|
readonly type: "text";
|
|
92
96
|
readonly description?: string;
|
|
93
97
|
readonly maxLength?: number;
|
|
98
|
+
readonly minLength?: number;
|
|
94
99
|
readonly required?: boolean;
|
|
95
100
|
readonly searchable?: boolean;
|
|
96
101
|
readonly sortable?: boolean;
|
|
@@ -136,13 +141,14 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
136
141
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
137
142
|
readonly display?: "radio" | "dropdown";
|
|
138
143
|
readonly optionTones?: {
|
|
139
|
-
readonly html?:
|
|
140
|
-
readonly markdown?:
|
|
141
|
-
readonly mjml?:
|
|
142
|
-
readonly plain?:
|
|
144
|
+
readonly html?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
145
|
+
readonly markdown?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
146
|
+
readonly mjml?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
147
|
+
readonly plain?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
143
148
|
} | undefined;
|
|
144
149
|
readonly optionsQuery?: string;
|
|
145
150
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
151
|
+
readonly optionsAvailabilityQuery?: string;
|
|
146
152
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
147
153
|
required: true;
|
|
148
154
|
};
|
|
@@ -190,11 +196,12 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
190
196
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
191
197
|
readonly display?: "radio" | "dropdown";
|
|
192
198
|
readonly optionTones?: {
|
|
193
|
-
readonly system?:
|
|
194
|
-
readonly tenant?:
|
|
199
|
+
readonly system?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
200
|
+
readonly tenant?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
195
201
|
} | undefined;
|
|
196
202
|
readonly optionsQuery?: string;
|
|
197
203
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
204
|
+
readonly optionsAvailabilityQuery?: string;
|
|
198
205
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
199
206
|
required: true;
|
|
200
207
|
};
|
|
@@ -202,6 +209,7 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
202
209
|
readonly type: "text";
|
|
203
210
|
readonly description?: string;
|
|
204
211
|
readonly maxLength?: number;
|
|
212
|
+
readonly minLength?: number;
|
|
205
213
|
readonly required?: boolean;
|
|
206
214
|
readonly searchable?: boolean;
|
|
207
215
|
readonly sortable?: boolean;
|
|
@@ -231,12 +239,13 @@ export declare const templateResourceEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
231
239
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
232
240
|
readonly display?: "radio" | "dropdown";
|
|
233
241
|
readonly optionTones?: {
|
|
234
|
-
readonly active?:
|
|
235
|
-
readonly archived?:
|
|
236
|
-
readonly draft?:
|
|
242
|
+
readonly active?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
243
|
+
readonly archived?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
244
|
+
readonly draft?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
237
245
|
} | undefined;
|
|
238
246
|
readonly optionsQuery?: string;
|
|
239
247
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
248
|
+
readonly optionsAvailabilityQuery?: string;
|
|
240
249
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
241
250
|
required: true;
|
|
242
251
|
};
|
|
@@ -246,6 +255,7 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
246
255
|
readonly type: "text";
|
|
247
256
|
readonly description?: string;
|
|
248
257
|
readonly maxLength?: number;
|
|
258
|
+
readonly minLength?: number;
|
|
249
259
|
readonly required?: boolean;
|
|
250
260
|
readonly searchable?: boolean;
|
|
251
261
|
readonly sortable?: boolean;
|
|
@@ -275,15 +285,16 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
275
285
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
276
286
|
readonly display?: "radio" | "dropdown";
|
|
277
287
|
readonly optionTones?: {
|
|
278
|
-
readonly "ai-prompt"?:
|
|
279
|
-
readonly "document-pdf"?:
|
|
280
|
-
readonly "image-snapshot"?:
|
|
281
|
-
readonly "mail-html"?:
|
|
282
|
-
readonly notification?:
|
|
283
|
-
readonly "text-block"?:
|
|
288
|
+
readonly "ai-prompt"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
289
|
+
readonly "document-pdf"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
290
|
+
readonly "image-snapshot"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
291
|
+
readonly "mail-html"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
292
|
+
readonly notification?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
293
|
+
readonly "text-block"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
284
294
|
} | undefined;
|
|
285
295
|
readonly optionsQuery?: string;
|
|
286
296
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
297
|
+
readonly optionsAvailabilityQuery?: string;
|
|
287
298
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
288
299
|
required: true;
|
|
289
300
|
};
|
|
@@ -291,6 +302,7 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
291
302
|
readonly type: "text";
|
|
292
303
|
readonly description?: string;
|
|
293
304
|
readonly maxLength?: number;
|
|
305
|
+
readonly minLength?: number;
|
|
294
306
|
readonly required?: boolean;
|
|
295
307
|
readonly searchable?: boolean;
|
|
296
308
|
readonly sortable?: boolean;
|
|
@@ -312,6 +324,7 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
312
324
|
readonly type: "text";
|
|
313
325
|
readonly description?: string;
|
|
314
326
|
readonly maxLength?: number;
|
|
327
|
+
readonly minLength?: number;
|
|
315
328
|
readonly required?: boolean;
|
|
316
329
|
readonly searchable?: boolean;
|
|
317
330
|
readonly sortable?: boolean;
|
|
@@ -333,6 +346,7 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
333
346
|
readonly type: "text";
|
|
334
347
|
readonly description?: string;
|
|
335
348
|
readonly maxLength?: number;
|
|
349
|
+
readonly minLength?: number;
|
|
336
350
|
readonly required?: boolean;
|
|
337
351
|
readonly searchable?: boolean;
|
|
338
352
|
readonly sortable?: boolean;
|
|
@@ -378,13 +392,14 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
378
392
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
379
393
|
readonly display?: "radio" | "dropdown";
|
|
380
394
|
readonly optionTones?: {
|
|
381
|
-
readonly html?:
|
|
382
|
-
readonly markdown?:
|
|
383
|
-
readonly mjml?:
|
|
384
|
-
readonly plain?:
|
|
395
|
+
readonly html?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
396
|
+
readonly markdown?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
397
|
+
readonly mjml?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
398
|
+
readonly plain?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
385
399
|
} | undefined;
|
|
386
400
|
readonly optionsQuery?: string;
|
|
387
401
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
402
|
+
readonly optionsAvailabilityQuery?: string;
|
|
388
403
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
389
404
|
required: true;
|
|
390
405
|
};
|
|
@@ -432,11 +447,12 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
432
447
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
433
448
|
readonly display?: "radio" | "dropdown";
|
|
434
449
|
readonly optionTones?: {
|
|
435
|
-
readonly system?:
|
|
436
|
-
readonly tenant?:
|
|
450
|
+
readonly system?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
451
|
+
readonly tenant?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
437
452
|
} | undefined;
|
|
438
453
|
readonly optionsQuery?: string;
|
|
439
454
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
455
|
+
readonly optionsAvailabilityQuery?: string;
|
|
440
456
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
441
457
|
required: true;
|
|
442
458
|
};
|
|
@@ -444,6 +460,7 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
444
460
|
readonly type: "text";
|
|
445
461
|
readonly description?: string;
|
|
446
462
|
readonly maxLength?: number;
|
|
463
|
+
readonly minLength?: number;
|
|
447
464
|
readonly required?: boolean;
|
|
448
465
|
readonly searchable?: boolean;
|
|
449
466
|
readonly sortable?: boolean;
|
|
@@ -473,12 +490,13 @@ export declare const templateResourcesTable: import("@cosmicdrift/kumiko-framewo
|
|
|
473
490
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
474
491
|
readonly display?: "radio" | "dropdown";
|
|
475
492
|
readonly optionTones?: {
|
|
476
|
-
readonly active?:
|
|
477
|
-
readonly archived?:
|
|
478
|
-
readonly draft?:
|
|
493
|
+
readonly active?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
494
|
+
readonly archived?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
495
|
+
readonly draft?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
479
496
|
} | undefined;
|
|
480
497
|
readonly optionsQuery?: string;
|
|
481
498
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
499
|
+
readonly optionsAvailabilityQuery?: string;
|
|
482
500
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
483
501
|
required: true;
|
|
484
502
|
};
|
|
@@ -4,6 +4,7 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
4
4
|
readonly type: "text";
|
|
5
5
|
readonly description?: string;
|
|
6
6
|
readonly maxLength?: number;
|
|
7
|
+
readonly minLength?: number;
|
|
7
8
|
readonly required?: boolean;
|
|
8
9
|
readonly searchable?: boolean;
|
|
9
10
|
readonly sortable?: boolean;
|
|
@@ -25,6 +26,7 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
25
26
|
readonly type: "text";
|
|
26
27
|
readonly description?: string;
|
|
27
28
|
readonly maxLength?: number;
|
|
29
|
+
readonly minLength?: number;
|
|
28
30
|
readonly required?: boolean;
|
|
29
31
|
readonly searchable?: boolean;
|
|
30
32
|
readonly sortable?: boolean;
|
|
@@ -54,15 +56,16 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
54
56
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
55
57
|
readonly display?: "radio" | "dropdown";
|
|
56
58
|
readonly optionTones?: {
|
|
57
|
-
readonly "ai-prompt"?:
|
|
58
|
-
readonly "document-pdf"?:
|
|
59
|
-
readonly "image-snapshot"?:
|
|
60
|
-
readonly "mail-html"?:
|
|
61
|
-
readonly notification?:
|
|
62
|
-
readonly "text-block"?:
|
|
59
|
+
readonly "ai-prompt"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
60
|
+
readonly "document-pdf"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
61
|
+
readonly "image-snapshot"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
62
|
+
readonly "mail-html"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
63
|
+
readonly notification?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
64
|
+
readonly "text-block"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
63
65
|
} | undefined;
|
|
64
66
|
readonly optionsQuery?: string;
|
|
65
67
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
68
|
+
readonly optionsAvailabilityQuery?: string;
|
|
66
69
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
67
70
|
required: true;
|
|
68
71
|
};
|
|
@@ -70,6 +73,7 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
70
73
|
readonly type: "text";
|
|
71
74
|
readonly description?: string;
|
|
72
75
|
readonly maxLength?: number;
|
|
76
|
+
readonly minLength?: number;
|
|
73
77
|
readonly required?: boolean;
|
|
74
78
|
readonly searchable?: boolean;
|
|
75
79
|
readonly sortable?: boolean;
|
|
@@ -91,6 +95,7 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
91
95
|
readonly type: "text";
|
|
92
96
|
readonly description?: string;
|
|
93
97
|
readonly maxLength?: number;
|
|
98
|
+
readonly minLength?: number;
|
|
94
99
|
readonly required?: boolean;
|
|
95
100
|
readonly searchable?: boolean;
|
|
96
101
|
readonly sortable?: boolean;
|
|
@@ -112,6 +117,7 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
112
117
|
readonly type: "text";
|
|
113
118
|
readonly description?: string;
|
|
114
119
|
readonly maxLength?: number;
|
|
120
|
+
readonly minLength?: number;
|
|
115
121
|
readonly required?: boolean;
|
|
116
122
|
readonly searchable?: boolean;
|
|
117
123
|
readonly sortable?: boolean;
|
|
@@ -157,13 +163,14 @@ export declare const userContentEntryEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
157
163
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
158
164
|
readonly display?: "radio" | "dropdown";
|
|
159
165
|
readonly optionTones?: {
|
|
160
|
-
readonly html?:
|
|
161
|
-
readonly markdown?:
|
|
162
|
-
readonly mjml?:
|
|
163
|
-
readonly plain?:
|
|
166
|
+
readonly html?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
167
|
+
readonly markdown?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
168
|
+
readonly mjml?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
169
|
+
readonly plain?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
164
170
|
} | undefined;
|
|
165
171
|
readonly optionsQuery?: string;
|
|
166
172
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
173
|
+
readonly optionsAvailabilityQuery?: string;
|
|
167
174
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
168
175
|
required: true;
|
|
169
176
|
};
|
|
@@ -173,6 +180,7 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
173
180
|
readonly type: "text";
|
|
174
181
|
readonly description?: string;
|
|
175
182
|
readonly maxLength?: number;
|
|
183
|
+
readonly minLength?: number;
|
|
176
184
|
readonly required?: boolean;
|
|
177
185
|
readonly searchable?: boolean;
|
|
178
186
|
readonly sortable?: boolean;
|
|
@@ -194,6 +202,7 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
194
202
|
readonly type: "text";
|
|
195
203
|
readonly description?: string;
|
|
196
204
|
readonly maxLength?: number;
|
|
205
|
+
readonly minLength?: number;
|
|
197
206
|
readonly required?: boolean;
|
|
198
207
|
readonly searchable?: boolean;
|
|
199
208
|
readonly sortable?: boolean;
|
|
@@ -223,15 +232,16 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
223
232
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
224
233
|
readonly display?: "radio" | "dropdown";
|
|
225
234
|
readonly optionTones?: {
|
|
226
|
-
readonly "ai-prompt"?:
|
|
227
|
-
readonly "document-pdf"?:
|
|
228
|
-
readonly "image-snapshot"?:
|
|
229
|
-
readonly "mail-html"?:
|
|
230
|
-
readonly notification?:
|
|
231
|
-
readonly "text-block"?:
|
|
235
|
+
readonly "ai-prompt"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
236
|
+
readonly "document-pdf"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
237
|
+
readonly "image-snapshot"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
238
|
+
readonly "mail-html"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
239
|
+
readonly notification?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
240
|
+
readonly "text-block"?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
232
241
|
} | undefined;
|
|
233
242
|
readonly optionsQuery?: string;
|
|
234
243
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
244
|
+
readonly optionsAvailabilityQuery?: string;
|
|
235
245
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
236
246
|
required: true;
|
|
237
247
|
};
|
|
@@ -239,6 +249,7 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
239
249
|
readonly type: "text";
|
|
240
250
|
readonly description?: string;
|
|
241
251
|
readonly maxLength?: number;
|
|
252
|
+
readonly minLength?: number;
|
|
242
253
|
readonly required?: boolean;
|
|
243
254
|
readonly searchable?: boolean;
|
|
244
255
|
readonly sortable?: boolean;
|
|
@@ -260,6 +271,7 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
260
271
|
readonly type: "text";
|
|
261
272
|
readonly description?: string;
|
|
262
273
|
readonly maxLength?: number;
|
|
274
|
+
readonly minLength?: number;
|
|
263
275
|
readonly required?: boolean;
|
|
264
276
|
readonly searchable?: boolean;
|
|
265
277
|
readonly sortable?: boolean;
|
|
@@ -281,6 +293,7 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
281
293
|
readonly type: "text";
|
|
282
294
|
readonly description?: string;
|
|
283
295
|
readonly maxLength?: number;
|
|
296
|
+
readonly minLength?: number;
|
|
284
297
|
readonly required?: boolean;
|
|
285
298
|
readonly searchable?: boolean;
|
|
286
299
|
readonly sortable?: boolean;
|
|
@@ -326,13 +339,14 @@ export declare const userContentEntriesTable: import("@cosmicdrift/kumiko-framew
|
|
|
326
339
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
327
340
|
readonly display?: "radio" | "dropdown";
|
|
328
341
|
readonly optionTones?: {
|
|
329
|
-
readonly html?:
|
|
330
|
-
readonly markdown?:
|
|
331
|
-
readonly mjml?:
|
|
332
|
-
readonly plain?:
|
|
342
|
+
readonly html?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
343
|
+
readonly markdown?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
344
|
+
readonly mjml?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
345
|
+
readonly plain?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
333
346
|
} | undefined;
|
|
334
347
|
readonly optionsQuery?: string;
|
|
335
348
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
349
|
+
readonly optionsAvailabilityQuery?: string;
|
|
336
350
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
337
351
|
required: true;
|
|
338
352
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { decryptStoredPii, mapWithConcurrency } from "../shared/index.js";
|
|
2
|
+
// Bounded like tenant:query:members: each decrypt hits the KMS adapter's small pool.
|
|
3
|
+
const KMS_POOL_CONCURRENCY = 4;
|
|
4
|
+
// Raw reads of read_tenants return the stored column, which is ciphertext
|
|
5
|
+
// under an active KMS; executor reads (crud.list/detail) decrypt on their own.
|
|
6
|
+
export async function decryptTenantNames(rows, fallbackRequestId) {
|
|
7
|
+
return mapWithConcurrency(rows, KMS_POOL_CONCURRENCY, async (row) => typeof row.name === "string"
|
|
8
|
+
? { ...row, name: await decryptStoredPii(row.name, "name", fallbackRequestId) }
|
|
9
|
+
: row);
|
|
10
|
+
}
|
|
@@ -2,6 +2,7 @@ import { fetchOne } from "@cosmicdrift/kumiko-framework/bun-db";
|
|
|
2
2
|
import { defineQueryHandler } from "@cosmicdrift/kumiko-framework/engine";
|
|
3
3
|
import { InternalError } from "@cosmicdrift/kumiko-framework/errors";
|
|
4
4
|
import * as z from "zod";
|
|
5
|
+
import { decryptTenantNames } from "../decrypt-tenant-names.js";
|
|
5
6
|
import { tenantTable } from "../schema/tenant.js";
|
|
6
7
|
// Direct query — query handlers don't have a tenant-crud handle. A direct
|
|
7
8
|
// select is trivial: WHERE id = tenantId (both UUID). No CRUD detour needed.
|
|
@@ -28,6 +29,9 @@ export const meQuery = defineQueryHandler({
|
|
|
28
29
|
}
|
|
29
30
|
const db = ctx.systemDb.assertTenantMatch(query.user.tenantId);
|
|
30
31
|
const row = await fetchOne(db, tenantTable, { id: query.user.tenantId });
|
|
31
|
-
|
|
32
|
+
if (row === undefined)
|
|
33
|
+
return null;
|
|
34
|
+
const [decrypted] = await decryptTenantNames([row], "tenant:me");
|
|
35
|
+
return decrypted ?? null;
|
|
32
36
|
},
|
|
33
37
|
});
|
|
@@ -3,6 +3,7 @@ import { defineQueryHandler, SYSTEM_ROLE } from "@cosmicdrift/kumiko-framework/e
|
|
|
3
3
|
import { InternalError } from "@cosmicdrift/kumiko-framework/errors";
|
|
4
4
|
import { parseRoles } from "@cosmicdrift/kumiko-framework/utils";
|
|
5
5
|
import * as z from "zod";
|
|
6
|
+
import { decryptTenantNames } from "../decrypt-tenant-names.js";
|
|
6
7
|
import { tenantMembershipsTable } from "../membership-table.js";
|
|
7
8
|
import { tenantTable } from "../schema/tenant.js";
|
|
8
9
|
export const membershipsQuery = defineQueryHandler({
|
|
@@ -22,9 +23,9 @@ export const membershipsQuery = defineQueryHandler({
|
|
|
22
23
|
const rows = await selectMany(db, tenantMembershipsTable, { userId: query.payload.userId });
|
|
23
24
|
if (rows.length === 0)
|
|
24
25
|
return [];
|
|
25
|
-
const tenants = await selectMany(db, tenantTable, {
|
|
26
|
+
const tenants = await decryptTenantNames(await selectMany(db, tenantTable, {
|
|
26
27
|
id: rows.map((row) => row["tenantId"]),
|
|
27
|
-
});
|
|
28
|
+
}), "tenant:memberships");
|
|
28
29
|
const tenantById = new Map(tenants.map((t) => [t.id, t]));
|
|
29
30
|
return rows
|
|
30
31
|
.map((row) => {
|
|
@@ -2,6 +2,7 @@ import { fetchOne, selectMany } from "@cosmicdrift/kumiko-framework/bun-db";
|
|
|
2
2
|
import { access, definePagedQueryHandler, MAX_LIST_LIMIT, } from "@cosmicdrift/kumiko-framework/engine";
|
|
3
3
|
import { InternalError } from "@cosmicdrift/kumiko-framework/errors";
|
|
4
4
|
import * as z from "zod";
|
|
5
|
+
import { decryptTenantNames } from "../decrypt-tenant-names.js";
|
|
5
6
|
import { tenantTable } from "../schema/tenant.js";
|
|
6
7
|
import { isSystemAdmin } from "./is-system-admin.js";
|
|
7
8
|
// Label source behind every `tenant:tenant` reference column (fw#3142). The
|
|
@@ -38,7 +39,7 @@ export const tenantDirectoryQuery = definePagedQueryHandler({
|
|
|
38
39
|
tenants = await selectMany(db, tenantTable, undefined, {
|
|
39
40
|
limit: scanLimit,
|
|
40
41
|
orderBy: [
|
|
41
|
-
{ col: "
|
|
42
|
+
{ col: "key", direction: "asc" },
|
|
42
43
|
{ col: "id", direction: "asc" },
|
|
43
44
|
],
|
|
44
45
|
});
|
|
@@ -48,10 +49,15 @@ export const tenantDirectoryQuery = definePagedQueryHandler({
|
|
|
48
49
|
const row = await fetchOne(db, tenantTable, { id: query.user.tenantId });
|
|
49
50
|
tenants = row ? [row] : [];
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
+
// name is ciphertext at rest, so the SQL page is keyed by the plaintext
|
|
53
|
+
// `key`; label order and search happen in memory after decrypting.
|
|
54
|
+
const decrypted = await decryptTenantNames(tenants, "tenant:tenant-directory");
|
|
55
|
+
const labeled = decrypted
|
|
56
|
+
.map((tenant) => {
|
|
52
57
|
const id = String(tenant.id);
|
|
53
58
|
return { id, label: typeof tenant.name === "string" ? tenant.name : id };
|
|
54
|
-
})
|
|
59
|
+
})
|
|
60
|
+
.sort((a, b) => a.label.localeCompare(b.label) || a.id.localeCompare(b.id));
|
|
55
61
|
const needle = search?.toLowerCase();
|
|
56
62
|
const rows = needle === undefined
|
|
57
63
|
? labeled
|
package/dist/tenant/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { cancelPendingInvitation } from "./cancel-pending-invitation.js";
|
|
2
2
|
export { TenantCommandSchemas } from "./command-schemas.js";
|
|
3
3
|
export { OWNER_INVITE_ROLE_OPTIONS, TENANT_FEATURE, TenantErrors, TenantHandlers, TenantQueries, } from "./constants.js";
|
|
4
|
+
export { decryptTenantNames } from "./decrypt-tenant-names.js";
|
|
4
5
|
export { collectAssignableAppRoles, createTenantFeature } from "./feature.js";
|
|
5
6
|
export type { InvitationStatus } from "./invitation-table.js";
|
|
6
7
|
export { INVITATION_STATUS, INVITATION_STATUSES, tenantInvitationEntity, tenantInvitationsTable, } from "./invitation-table.js";
|
package/dist/tenant/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { cancelPendingInvitation } from "./cancel-pending-invitation.js";
|
|
2
2
|
export { TenantCommandSchemas } from "./command-schemas.js";
|
|
3
3
|
export { OWNER_INVITE_ROLE_OPTIONS, TENANT_FEATURE, TenantErrors, TenantHandlers, TenantQueries, } from "./constants.js";
|
|
4
|
+
export { decryptTenantNames } from "./decrypt-tenant-names.js";
|
|
4
5
|
export { collectAssignableAppRoles, createTenantFeature } from "./feature.js";
|
|
5
6
|
export { INVITATION_STATUS, INVITATION_STATUSES, tenantInvitationEntity, tenantInvitationsTable, } from "./invitation-table.js";
|
|
6
7
|
export { isTenantServingPublicContent } from "./is-tenant-serving-public-content.js";
|
|
@@ -11,6 +11,7 @@ export declare const tenantInvitationEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
11
11
|
readonly type: "text";
|
|
12
12
|
readonly description?: string;
|
|
13
13
|
readonly maxLength?: number;
|
|
14
|
+
readonly minLength?: number;
|
|
14
15
|
readonly required?: boolean;
|
|
15
16
|
readonly searchable?: boolean;
|
|
16
17
|
readonly sortable?: boolean;
|
|
@@ -32,6 +33,7 @@ export declare const tenantInvitationEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
32
33
|
readonly type: "text";
|
|
33
34
|
readonly description?: string;
|
|
34
35
|
readonly maxLength?: number;
|
|
36
|
+
readonly minLength?: number;
|
|
35
37
|
readonly required?: boolean;
|
|
36
38
|
readonly searchable?: boolean;
|
|
37
39
|
readonly sortable?: boolean;
|
|
@@ -62,13 +64,14 @@ export declare const tenantInvitationEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
62
64
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
63
65
|
readonly display?: "radio" | "dropdown";
|
|
64
66
|
readonly optionTones?: {
|
|
65
|
-
readonly accepted?:
|
|
66
|
-
readonly cancelled?:
|
|
67
|
-
readonly expired?:
|
|
68
|
-
readonly pending?:
|
|
67
|
+
readonly accepted?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
68
|
+
readonly cancelled?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
69
|
+
readonly expired?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
70
|
+
readonly pending?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
69
71
|
} | undefined;
|
|
70
72
|
readonly optionsQuery?: string;
|
|
71
73
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
74
|
+
readonly optionsAvailabilityQuery?: string;
|
|
72
75
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
73
76
|
required: true;
|
|
74
77
|
};
|
|
@@ -76,6 +79,7 @@ export declare const tenantInvitationEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
76
79
|
readonly type: "text";
|
|
77
80
|
readonly description?: string;
|
|
78
81
|
readonly maxLength?: number;
|
|
82
|
+
readonly minLength?: number;
|
|
79
83
|
readonly required?: boolean;
|
|
80
84
|
readonly searchable?: boolean;
|
|
81
85
|
readonly sortable?: boolean;
|
|
@@ -114,6 +118,7 @@ export declare const tenantInvitationsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
114
118
|
readonly type: "text";
|
|
115
119
|
readonly description?: string;
|
|
116
120
|
readonly maxLength?: number;
|
|
121
|
+
readonly minLength?: number;
|
|
117
122
|
readonly required?: boolean;
|
|
118
123
|
readonly searchable?: boolean;
|
|
119
124
|
readonly sortable?: boolean;
|
|
@@ -135,6 +140,7 @@ export declare const tenantInvitationsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
135
140
|
readonly type: "text";
|
|
136
141
|
readonly description?: string;
|
|
137
142
|
readonly maxLength?: number;
|
|
143
|
+
readonly minLength?: number;
|
|
138
144
|
readonly required?: boolean;
|
|
139
145
|
readonly searchable?: boolean;
|
|
140
146
|
readonly sortable?: boolean;
|
|
@@ -165,13 +171,14 @@ export declare const tenantInvitationsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
165
171
|
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
166
172
|
readonly display?: "radio" | "dropdown";
|
|
167
173
|
readonly optionTones?: {
|
|
168
|
-
readonly accepted?:
|
|
169
|
-
readonly cancelled?:
|
|
170
|
-
readonly expired?:
|
|
171
|
-
readonly pending?:
|
|
174
|
+
readonly accepted?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
175
|
+
readonly cancelled?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
176
|
+
readonly expired?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
177
|
+
readonly pending?: "bad" | "neutral" | "ok" | "warn" | undefined;
|
|
172
178
|
} | undefined;
|
|
173
179
|
readonly optionsQuery?: string;
|
|
174
180
|
readonly optionsQueryPayload?: import("@cosmicdrift/kumiko-types/fields").OptionsQueryPayload;
|
|
181
|
+
readonly optionsAvailabilityQuery?: string;
|
|
175
182
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
176
183
|
required: true;
|
|
177
184
|
};
|
|
@@ -179,6 +186,7 @@ export declare const tenantInvitationsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
179
186
|
readonly type: "text";
|
|
180
187
|
readonly description?: string;
|
|
181
188
|
readonly maxLength?: number;
|
|
189
|
+
readonly minLength?: number;
|
|
182
190
|
readonly required?: boolean;
|
|
183
191
|
readonly searchable?: boolean;
|
|
184
192
|
readonly sortable?: boolean;
|
|
@@ -3,6 +3,7 @@ export declare const tenantMembershipEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
3
3
|
readonly type: "text";
|
|
4
4
|
readonly description?: string;
|
|
5
5
|
readonly maxLength?: number;
|
|
6
|
+
readonly minLength?: number;
|
|
6
7
|
readonly required?: boolean;
|
|
7
8
|
readonly searchable?: boolean;
|
|
8
9
|
readonly sortable?: boolean;
|
|
@@ -24,6 +25,7 @@ export declare const tenantMembershipEntity: import("@cosmicdrift/kumiko-types/f
|
|
|
24
25
|
readonly type: "text";
|
|
25
26
|
readonly description?: string;
|
|
26
27
|
readonly maxLength?: number;
|
|
28
|
+
readonly minLength?: number;
|
|
27
29
|
readonly required?: boolean;
|
|
28
30
|
readonly searchable?: boolean;
|
|
29
31
|
readonly sortable?: boolean;
|
|
@@ -47,6 +49,7 @@ export declare const tenantMembershipsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
47
49
|
readonly type: "text";
|
|
48
50
|
readonly description?: string;
|
|
49
51
|
readonly maxLength?: number;
|
|
52
|
+
readonly minLength?: number;
|
|
50
53
|
readonly required?: boolean;
|
|
51
54
|
readonly searchable?: boolean;
|
|
52
55
|
readonly sortable?: boolean;
|
|
@@ -68,6 +71,7 @@ export declare const tenantMembershipsTable: import("@cosmicdrift/kumiko-framewo
|
|
|
68
71
|
readonly type: "text";
|
|
69
72
|
readonly description?: string;
|
|
70
73
|
readonly maxLength?: number;
|
|
74
|
+
readonly minLength?: number;
|
|
71
75
|
readonly required?: boolean;
|
|
72
76
|
readonly searchable?: boolean;
|
|
73
77
|
readonly sortable?: boolean;
|