@cosmicdrift/kumiko-bundled-features 0.382.0 → 0.383.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.
Files changed (57) hide show
  1. package/dist/audit/run-escape-hatch-retention.d.ts +1 -0
  2. package/dist/audit/run-escape-hatch-retention.js +54 -27
  3. package/dist/auth-mfa/schema/user-mfa.d.ts +6 -6
  4. package/dist/billing-foundation/entities.d.ts +8 -8
  5. package/dist/billing-foundation/projection.d.ts +8 -8
  6. package/dist/cap-counter/entity.d.ts +1 -1
  7. package/dist/cap-overview/handlers/tenant-caps-list.query.js +21 -6
  8. package/dist/compliance-profiles-ops/handlers/tenants-missing-profile.query.js +6 -4
  9. package/dist/config/table.d.ts +6 -6
  10. package/dist/custom-fields/entity.d.ts +4 -4
  11. package/dist/data-retention/schema/tenant-retention-override.d.ts +4 -4
  12. package/dist/delivery/attempt-log.d.ts +2 -0
  13. package/dist/delivery/attempt-log.js +12 -1
  14. package/dist/delivery/delivery-service.js +8 -3
  15. package/dist/delivery/feature.js +7 -9
  16. package/dist/delivery/mask-recipient-address.d.ts +1 -0
  17. package/dist/delivery/mask-recipient-address.js +16 -0
  18. package/dist/delivery/tables.d.ts +6 -6
  19. package/dist/document-ingest-foundation/entity.d.ts +4 -4
  20. package/dist/folders/entity.d.ts +8 -8
  21. package/dist/form-draft/entity.d.ts +2 -2
  22. package/dist/inbound-mail-foundation/entities.d.ts +25 -25
  23. package/dist/inbound-mail-foundation/projection.d.ts +20 -20
  24. package/dist/jobs/job-run-logger.d.ts +1 -1
  25. package/dist/jobs/job-run-logger.js +20 -0
  26. package/dist/jobs/job-run-table.d.ts +6 -6
  27. package/dist/ledger/entity.d.ts +13 -13
  28. package/dist/managed-pages/table.d.ts +12 -12
  29. package/dist/notes-history/entity.d.ts +12 -12
  30. package/dist/personal-access-tokens/schema/api-token.d.ts +6 -6
  31. package/dist/secrets/table.d.ts +1 -1
  32. package/dist/sessions/schema/user-session.d.ts +4 -4
  33. package/dist/sessions/session-callbacks.js +23 -16
  34. package/dist/tags/entity.d.ts +9 -9
  35. package/dist/template-resolver/table.d.ts +10 -10
  36. package/dist/template-resolver/user-content-table.d.ts +10 -10
  37. package/dist/tenant/decrypt-tenant-names.d.ts +4 -0
  38. package/dist/tenant/decrypt-tenant-names.js +15 -0
  39. package/dist/tenant/handlers/tenant-directory.query.js +6 -7
  40. package/dist/tenant/invitation-table.d.ts +6 -6
  41. package/dist/tenant/membership-table.d.ts +4 -4
  42. package/dist/tenant/schema/tenant.d.ts +6 -6
  43. package/dist/tier-engine/entity.d.ts +1 -1
  44. package/dist/tier-engine/tier-resolver.d.ts +1 -1
  45. package/dist/user/schema/user.d.ts +12 -12
  46. package/dist/user-data-rights/schema/download-attempt.d.ts +14 -14
  47. package/dist/user-data-rights/schema/download-token.d.ts +8 -8
  48. package/dist/user-data-rights/schema/export-job.d.ts +6 -6
  49. package/dist/waitlist/entity.d.ts +14 -14
  50. package/package.json +9 -9
  51. package/src/audit/changes.json +6 -0
  52. package/src/auth-email-password/changes.json +6 -0
  53. package/src/cap-overview/changes.json +6 -0
  54. package/src/delivery/changes.json +6 -0
  55. package/src/jobs/changes.json +7 -0
  56. package/src/sessions/changes.json +6 -0
  57. package/src/tenant/changes.json +6 -0
@@ -1,6 +1,7 @@
1
1
  import { updateMany, upsertByPk } from "@cosmicdrift/kumiko-framework/db";
2
2
  import { access, defineFeature, i18nKey, } from "@cosmicdrift/kumiko-framework/engine";
3
3
  import { ConsumerLagError } from "@cosmicdrift/kumiko-framework/pipeline";
4
+ import { projectedAttemptAddress, rememberConnectionNameChannel } from "./attempt-log.js";
4
5
  import { resolveAttemptLogRetentionDays, runAttemptLogRetention } from "./attempt-log-retention.js";
5
6
  import { DELIVERY_ATTEMPT_ADDRESS_ERASED_EVENT, DELIVERY_ATTEMPT_EVENT, DELIVERY_CHANNEL_CELL_COMPONENT, DELIVERY_CHANNEL_EXTENSION, DELIVERY_ERROR_CELL_COMPONENT, DELIVERY_LOG_SCREEN_ID, DELIVERY_STATUS_CELL_COMPONENT, DELIVERY_TIME_CELL_COMPONENT, DELIVERY_TYPE_CELL_COMPONENT, DeliveryJobNames, DeliveryQueries, } from "./constants.js";
6
7
  import { deliveryAttemptAddressErasedSchema, deliveryAttemptSchema } from "./events.js";
@@ -74,6 +75,7 @@ export function createDeliveryFeature(options) {
74
75
  // drain needed in tests. Chosen over a MultiStreamProjection because
75
76
  // delivery-log is a hot read-path for admin/audit UIs that expect
76
77
  // read-your-own-write semantics.
78
+ const connectionNameChannels = new Set();
77
79
  r.projection({
78
80
  name: "delivery-log",
79
81
  source: "deliveryAttempt",
@@ -81,6 +83,7 @@ export function createDeliveryFeature(options) {
81
83
  apply: {
82
84
  [DELIVERY_ATTEMPT_EVENT]: async (event, tx) => {
83
85
  const p = event.payload; // @cast-boundary engine-payload
86
+ const projectedAddress = projectedAttemptAddress(connectionNameChannels, p.channel, p.recipientAddress);
84
87
  // PK = aggregateId. An async attempt accrues multiple events on one
85
88
  // stream (queued → sent/failed): the first INSERTs, later events
86
89
  // UPDATE the same row. Events arrive in version order, so the last
@@ -91,7 +94,7 @@ export function createDeliveryFeature(options) {
91
94
  notificationType: p.notificationType,
92
95
  channel: p.channel,
93
96
  recipientId: p.recipientId,
94
- recipientAddress: p.recipientAddress,
97
+ recipientAddress: projectedAddress,
95
98
  status: p.status,
96
99
  error: p.error,
97
100
  priority: p.priority,
@@ -99,7 +102,7 @@ export function createDeliveryFeature(options) {
99
102
  }, {
100
103
  status: p.status,
101
104
  error: p.error,
102
- recipientAddress: p.recipientAddress,
105
+ recipientAddress: projectedAddress,
103
106
  confirmed: p.confirmed ?? null,
104
107
  });
105
108
  },
@@ -108,14 +111,9 @@ export function createDeliveryFeature(options) {
108
111
  },
109
112
  },
110
113
  });
111
- // Extension point: delivery-channels (email/in-app/push). Renderer-
112
- // Extension-Point lebt jetzt im `renderer-foundation`-Bundle als
113
- // `renderer` (Multi-Kind-Plugin-Contract). delivery hostet keinen
114
- // eigenen mehr — channel-email nimmt renderer als direkte
115
- // Konstruktor-Option (siehe email-channel.ts), nicht via Extension-
116
- // Usage. Migration 2026-05-19.
114
+ // Connection-name channels address a configured connection, not a person, so they stay unmasked.
117
115
  r.extendsRegistrar(DELIVERY_CHANNEL_EXTENSION, {
118
- onRegister: () => { },
116
+ onRegister: (channelName, channelOptions) => rememberConnectionNameChannel(connectionNameChannels, channelName, channelOptions),
119
117
  });
120
118
  // Async delivery pipeline for queued-mode channels. render decouples the
121
119
  // expensive template step (own worker, own retry) and dispatches send;
@@ -1 +1,2 @@
1
1
  export declare function maskRecipientAddress(address: string | null): string | null;
2
+ export declare function maskRecipientAddressOnce(address: string | null): string | null;
@@ -39,3 +39,19 @@ function maskStructuredOrTail(address) {
39
39
  return MASK;
40
40
  return `${MASK}${address.slice(-VISIBLE_TAIL_LENGTH)}`;
41
41
  }
42
+ // Masked output is itself a valid input; the projection sees both fresh (already masked) and legacy (full) events.
43
+ function isMaskedRecipientAddress(address) {
44
+ if (address.startsWith(MASK) && address.length <= MASK.length + VISIBLE_TAIL_LENGTH)
45
+ return true;
46
+ if (address.endsWith(`/${MASK}`))
47
+ return true;
48
+ return /^[^@]\*\*\*@[^@]+$/.test(address);
49
+ }
50
+ // Ciphertext passes through: it is decrypted at read time and a key erase removes it.
51
+ export function maskRecipientAddressOnce(address) {
52
+ if (address === null || isPiiCiphertext(address))
53
+ return address;
54
+ if (isMaskedRecipientAddress(address))
55
+ return address;
56
+ return maskPlainAddress(address);
57
+ }
@@ -16,7 +16,7 @@ export declare const notificationPreferenceEntity: import("@cosmicdrift/kumiko-t
16
16
  readonly sensitive?: boolean;
17
17
  readonly writeOnly?: boolean;
18
18
  readonly readAsInstruction?: boolean;
19
- readonly format?: "email" | "url" | "phone" | "password" | "month";
19
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
20
20
  readonly default?: string;
21
21
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
22
22
  readonly multiline?: boolean | {
@@ -39,7 +39,7 @@ export declare const notificationPreferenceEntity: import("@cosmicdrift/kumiko-t
39
39
  readonly sensitive?: boolean;
40
40
  readonly writeOnly?: boolean;
41
41
  readonly readAsInstruction?: boolean;
42
- readonly format?: "email" | "url" | "phone" | "password" | "month";
42
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
43
43
  readonly default?: string;
44
44
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
45
45
  readonly multiline?: boolean | {
@@ -62,7 +62,7 @@ export declare const notificationPreferenceEntity: import("@cosmicdrift/kumiko-t
62
62
  readonly sensitive?: boolean;
63
63
  readonly writeOnly?: boolean;
64
64
  readonly readAsInstruction?: boolean;
65
- readonly format?: "email" | "url" | "phone" | "password" | "month";
65
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
66
66
  readonly default?: string;
67
67
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
68
68
  readonly multiline?: boolean | {
@@ -92,7 +92,7 @@ export declare const notificationAddressOptOutEntity: import("@cosmicdrift/kumik
92
92
  readonly sensitive?: boolean;
93
93
  readonly writeOnly?: boolean;
94
94
  readonly readAsInstruction?: boolean;
95
- readonly format?: "email" | "url" | "phone" | "password" | "month";
95
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
96
96
  readonly default?: string;
97
97
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
98
98
  readonly multiline?: boolean | {
@@ -115,7 +115,7 @@ export declare const notificationAddressOptOutEntity: import("@cosmicdrift/kumik
115
115
  readonly sensitive?: boolean;
116
116
  readonly writeOnly?: boolean;
117
117
  readonly readAsInstruction?: boolean;
118
- readonly format?: "email" | "url" | "phone" | "password" | "month";
118
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
119
119
  readonly default?: string;
120
120
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
121
121
  readonly multiline?: boolean | {
@@ -138,7 +138,7 @@ export declare const notificationAddressOptOutEntity: import("@cosmicdrift/kumik
138
138
  readonly sensitive?: boolean;
139
139
  readonly writeOnly?: boolean;
140
140
  readonly readAsInstruction?: boolean;
141
- readonly format?: "email" | "url" | "phone" | "password" | "month";
141
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
142
142
  readonly default?: string;
143
143
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
144
144
  readonly multiline?: boolean | {
@@ -24,7 +24,7 @@ export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fi
24
24
  readonly sensitive?: boolean;
25
25
  readonly writeOnly?: boolean;
26
26
  readonly readAsInstruction?: boolean;
27
- readonly format?: "email" | "url" | "phone" | "password" | "month";
27
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
28
28
  readonly default?: string;
29
29
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
30
30
  readonly multiline?: boolean | {
@@ -47,7 +47,7 @@ export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fi
47
47
  readonly sensitive?: boolean;
48
48
  readonly writeOnly?: boolean;
49
49
  readonly readAsInstruction?: boolean;
50
- readonly format?: "email" | "url" | "phone" | "password" | "month";
50
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
51
51
  readonly default?: string;
52
52
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
53
53
  readonly multiline?: boolean | {
@@ -89,7 +89,7 @@ export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framewor
89
89
  readonly sensitive?: boolean;
90
90
  readonly writeOnly?: boolean;
91
91
  readonly readAsInstruction?: boolean;
92
- readonly format?: "email" | "url" | "phone" | "password" | "month";
92
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
93
93
  readonly default?: string;
94
94
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
95
95
  readonly multiline?: boolean | {
@@ -112,7 +112,7 @@ export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framewor
112
112
  readonly sensitive?: boolean;
113
113
  readonly writeOnly?: boolean;
114
114
  readonly readAsInstruction?: boolean;
115
- readonly format?: "email" | "url" | "phone" | "password" | "month";
115
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
116
116
  readonly default?: string;
117
117
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
118
118
  readonly multiline?: boolean | {
@@ -14,7 +14,7 @@ export declare const folderEntity: EntityDefinition<{
14
14
  readonly sensitive?: boolean;
15
15
  readonly writeOnly?: boolean;
16
16
  readonly readAsInstruction?: boolean;
17
- readonly format?: "email" | "url" | "phone" | "password" | "month";
17
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
18
18
  readonly default?: string;
19
19
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
20
20
  readonly multiline?: boolean | {
@@ -37,7 +37,7 @@ export declare const folderEntity: EntityDefinition<{
37
37
  readonly sensitive?: boolean;
38
38
  readonly writeOnly?: boolean;
39
39
  readonly readAsInstruction?: boolean;
40
- readonly format?: "email" | "url" | "phone" | "password" | "month";
40
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
41
41
  readonly default?: string;
42
42
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
43
43
  readonly multiline?: boolean | {
@@ -62,7 +62,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
62
62
  readonly sensitive?: boolean;
63
63
  readonly writeOnly?: boolean;
64
64
  readonly readAsInstruction?: boolean;
65
- readonly format?: "email" | "url" | "phone" | "password" | "month";
65
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
66
66
  readonly default?: string;
67
67
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
68
68
  readonly multiline?: boolean | {
@@ -85,7 +85,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
85
85
  readonly sensitive?: boolean;
86
86
  readonly writeOnly?: boolean;
87
87
  readonly readAsInstruction?: boolean;
88
- readonly format?: "email" | "url" | "phone" | "password" | "month";
88
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
89
89
  readonly default?: string;
90
90
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
91
91
  readonly multiline?: boolean | {
@@ -108,7 +108,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
108
108
  readonly sensitive?: boolean;
109
109
  readonly writeOnly?: boolean;
110
110
  readonly readAsInstruction?: boolean;
111
- readonly format?: "email" | "url" | "phone" | "password" | "month";
111
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
112
112
  readonly default?: string;
113
113
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
114
114
  readonly multiline?: boolean | {
@@ -133,7 +133,7 @@ export declare const folderAssignmentEntity: EntityDefinition<{
133
133
  readonly sensitive?: boolean;
134
134
  readonly writeOnly?: boolean;
135
135
  readonly readAsInstruction?: boolean;
136
- readonly format?: "email" | "url" | "phone" | "password" | "month";
136
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
137
137
  readonly default?: string;
138
138
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
139
139
  readonly multiline?: boolean | {
@@ -156,7 +156,7 @@ export declare const folderAssignmentEntity: EntityDefinition<{
156
156
  readonly sensitive?: boolean;
157
157
  readonly writeOnly?: boolean;
158
158
  readonly readAsInstruction?: boolean;
159
- readonly format?: "email" | "url" | "phone" | "password" | "month";
159
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
160
160
  readonly default?: string;
161
161
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
162
162
  readonly multiline?: boolean | {
@@ -179,7 +179,7 @@ export declare const folderAssignmentEntity: EntityDefinition<{
179
179
  readonly sensitive?: boolean;
180
180
  readonly writeOnly?: boolean;
181
181
  readonly readAsInstruction?: boolean;
182
- readonly format?: "email" | "url" | "phone" | "password" | "month";
182
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
183
183
  readonly default?: string;
184
184
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
185
185
  readonly multiline?: boolean | {
@@ -13,7 +13,7 @@ export declare const formDraftEntity: import("@cosmicdrift/kumiko-types/fields")
13
13
  readonly sensitive?: boolean;
14
14
  readonly writeOnly?: boolean;
15
15
  readonly readAsInstruction?: boolean;
16
- readonly format?: "email" | "url" | "phone" | "password" | "month";
16
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
17
17
  readonly default?: string;
18
18
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
19
19
  readonly multiline?: boolean | {
@@ -36,7 +36,7 @@ export declare const formDraftEntity: import("@cosmicdrift/kumiko-types/fields")
36
36
  readonly sensitive?: boolean;
37
37
  readonly writeOnly?: boolean;
38
38
  readonly readAsInstruction?: boolean;
39
- readonly format?: "email" | "url" | "phone" | "password" | "month";
39
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
40
40
  readonly default?: string;
41
41
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
42
42
  readonly multiline?: boolean | {
@@ -15,7 +15,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
15
15
  readonly sensitive?: boolean;
16
16
  readonly writeOnly?: boolean;
17
17
  readonly readAsInstruction?: boolean;
18
- readonly format?: "email" | "url" | "phone" | "password" | "month";
18
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
19
19
  readonly default?: string;
20
20
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
21
21
  readonly multiline?: boolean | {
@@ -38,7 +38,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
38
38
  readonly sensitive?: boolean;
39
39
  readonly writeOnly?: boolean;
40
40
  readonly readAsInstruction?: boolean;
41
- readonly format?: "email" | "url" | "phone" | "password" | "month";
41
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
42
42
  readonly default?: string;
43
43
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
44
44
  readonly multiline?: boolean | {
@@ -61,7 +61,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
61
61
  readonly sensitive?: boolean;
62
62
  readonly writeOnly?: boolean;
63
63
  readonly readAsInstruction?: boolean;
64
- readonly format?: "email" | "url" | "phone" | "password" | "month";
64
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
65
65
  readonly default?: string;
66
66
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
67
67
  readonly multiline?: boolean | {
@@ -84,7 +84,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
84
84
  readonly sensitive?: boolean;
85
85
  readonly writeOnly?: boolean;
86
86
  readonly readAsInstruction?: boolean;
87
- readonly format?: "email" | "url" | "phone" | "password" | "month";
87
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
88
88
  readonly default?: string;
89
89
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
90
90
  readonly multiline?: boolean | {
@@ -107,7 +107,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
107
107
  readonly sensitive?: boolean;
108
108
  readonly writeOnly?: boolean;
109
109
  readonly readAsInstruction?: boolean;
110
- readonly format?: "email" | "url" | "phone" | "password" | "month";
110
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
111
111
  readonly default?: string;
112
112
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
113
113
  readonly multiline?: boolean | {
@@ -130,7 +130,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
130
130
  readonly sensitive?: boolean;
131
131
  readonly writeOnly?: boolean;
132
132
  readonly readAsInstruction?: boolean;
133
- readonly format?: "email" | "url" | "phone" | "password" | "month";
133
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
134
134
  readonly default?: string;
135
135
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
136
136
  readonly multiline?: boolean | {
@@ -153,7 +153,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
153
153
  readonly sensitive?: boolean;
154
154
  readonly writeOnly?: boolean;
155
155
  readonly readAsInstruction?: boolean;
156
- readonly format?: "email" | "url" | "phone" | "password" | "month";
156
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
157
157
  readonly default?: string;
158
158
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
159
159
  readonly multiline?: boolean | {
@@ -196,7 +196,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
196
196
  readonly sensitive?: boolean;
197
197
  readonly writeOnly?: boolean;
198
198
  readonly readAsInstruction?: boolean;
199
- readonly format?: "email" | "url" | "phone" | "password" | "month";
199
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
200
200
  readonly default?: string;
201
201
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
202
202
  readonly multiline?: boolean | {
@@ -219,7 +219,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
219
219
  readonly sensitive?: boolean;
220
220
  readonly writeOnly?: boolean;
221
221
  readonly readAsInstruction?: boolean;
222
- readonly format?: "email" | "url" | "phone" | "password" | "month";
222
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
223
223
  readonly default?: string;
224
224
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
225
225
  readonly multiline?: boolean | {
@@ -242,7 +242,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
242
242
  readonly sensitive?: boolean;
243
243
  readonly writeOnly?: boolean;
244
244
  readonly readAsInstruction?: boolean;
245
- readonly format?: "email" | "url" | "phone" | "password" | "month";
245
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
246
246
  readonly default?: string;
247
247
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
248
248
  readonly multiline?: boolean | {
@@ -265,7 +265,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
265
265
  readonly sensitive?: boolean;
266
266
  readonly writeOnly?: boolean;
267
267
  readonly readAsInstruction?: boolean;
268
- readonly format?: "email" | "url" | "phone" | "password" | "month";
268
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
269
269
  readonly default?: string;
270
270
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
271
271
  readonly multiline?: boolean | {
@@ -288,7 +288,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
288
288
  readonly sensitive?: boolean;
289
289
  readonly writeOnly?: boolean;
290
290
  readonly readAsInstruction?: boolean;
291
- readonly format?: "email" | "url" | "phone" | "password" | "month";
291
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
292
292
  readonly default?: string;
293
293
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
294
294
  readonly multiline?: boolean | {
@@ -311,7 +311,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
311
311
  readonly sensitive?: boolean;
312
312
  readonly writeOnly?: boolean;
313
313
  readonly readAsInstruction?: boolean;
314
- readonly format?: "email" | "url" | "phone" | "password" | "month";
314
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
315
315
  readonly default?: string;
316
316
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
317
317
  readonly multiline?: boolean | {
@@ -334,7 +334,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
334
334
  readonly sensitive?: boolean;
335
335
  readonly writeOnly?: boolean;
336
336
  readonly readAsInstruction?: boolean;
337
- readonly format?: "email" | "url" | "phone" | "password" | "month";
337
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
338
338
  readonly default?: string;
339
339
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
340
340
  readonly multiline?: boolean | {
@@ -357,7 +357,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
357
357
  readonly sensitive?: boolean;
358
358
  readonly writeOnly?: boolean;
359
359
  readonly readAsInstruction?: boolean;
360
- readonly format?: "email" | "url" | "phone" | "password" | "month";
360
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
361
361
  readonly default?: string;
362
362
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
363
363
  readonly multiline?: boolean | {
@@ -380,7 +380,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
380
380
  readonly sensitive?: boolean;
381
381
  readonly writeOnly?: boolean;
382
382
  readonly readAsInstruction?: boolean;
383
- readonly format?: "email" | "url" | "phone" | "password" | "month";
383
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
384
384
  readonly default?: string;
385
385
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
386
386
  readonly multiline?: boolean | {
@@ -418,7 +418,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
418
418
  readonly sensitive?: boolean;
419
419
  readonly writeOnly?: boolean;
420
420
  readonly readAsInstruction?: boolean;
421
- readonly format?: "email" | "url" | "phone" | "password" | "month";
421
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
422
422
  readonly default?: string;
423
423
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
424
424
  readonly multiline?: boolean | {
@@ -441,7 +441,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
441
441
  readonly sensitive?: boolean;
442
442
  readonly writeOnly?: boolean;
443
443
  readonly readAsInstruction?: boolean;
444
- readonly format?: "email" | "url" | "phone" | "password" | "month";
444
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
445
445
  readonly default?: string;
446
446
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
447
447
  readonly multiline?: boolean | {
@@ -468,7 +468,7 @@ export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields"
468
468
  readonly sensitive?: boolean;
469
469
  readonly writeOnly?: boolean;
470
470
  readonly readAsInstruction?: boolean;
471
- readonly format?: "email" | "url" | "phone" | "password" | "month";
471
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
472
472
  readonly default?: string;
473
473
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
474
474
  readonly multiline?: boolean | {
@@ -491,7 +491,7 @@ export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields"
491
491
  readonly sensitive?: boolean;
492
492
  readonly writeOnly?: boolean;
493
493
  readonly readAsInstruction?: boolean;
494
- readonly format?: "email" | "url" | "phone" | "password" | "month";
494
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
495
495
  readonly default?: string;
496
496
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
497
497
  readonly multiline?: boolean | {
@@ -557,7 +557,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
557
557
  readonly sensitive?: boolean;
558
558
  readonly writeOnly?: boolean;
559
559
  readonly readAsInstruction?: boolean;
560
- readonly format?: "email" | "url" | "phone" | "password" | "month";
560
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
561
561
  readonly default?: string;
562
562
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
563
563
  readonly multiline?: boolean | {
@@ -580,7 +580,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
580
580
  readonly sensitive?: boolean;
581
581
  readonly writeOnly?: boolean;
582
582
  readonly readAsInstruction?: boolean;
583
- readonly format?: "email" | "url" | "phone" | "password" | "month";
583
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
584
584
  readonly default?: string;
585
585
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
586
586
  readonly multiline?: boolean | {
@@ -603,7 +603,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
603
603
  readonly sensitive?: boolean;
604
604
  readonly writeOnly?: boolean;
605
605
  readonly readAsInstruction?: boolean;
606
- readonly format?: "email" | "url" | "phone" | "password" | "month";
606
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
607
607
  readonly default?: string;
608
608
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
609
609
  readonly multiline?: boolean | {
@@ -647,7 +647,7 @@ export declare const seenMessageEntity: import("@cosmicdrift/kumiko-types/fields
647
647
  readonly sensitive?: boolean;
648
648
  readonly writeOnly?: boolean;
649
649
  readonly readAsInstruction?: boolean;
650
- readonly format?: "email" | "url" | "phone" | "password" | "month";
650
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
651
651
  readonly default?: string;
652
652
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
653
653
  readonly multiline?: boolean | {
@@ -670,7 +670,7 @@ export declare const seenMessageEntity: import("@cosmicdrift/kumiko-types/fields
670
670
  readonly sensitive?: boolean;
671
671
  readonly writeOnly?: boolean;
672
672
  readonly readAsInstruction?: boolean;
673
- readonly format?: "email" | "url" | "phone" | "password" | "month";
673
+ readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
674
674
  readonly default?: string;
675
675
  readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
676
676
  readonly multiline?: boolean | {