@cosmicdrift/kumiko-bundled-features 0.383.0 → 0.384.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/audit/event-classification.d.ts +8 -0
- package/dist/audit/event-classification.js +69 -0
- package/dist/audit/feature.js +3 -3
- package/dist/audit/handlers/audit-events.d.ts +25 -3
- package/dist/audit/handlers/audit-events.js +41 -7
- package/dist/audit/handlers/details-all-tenants.query.d.ts +3 -0
- package/dist/audit/handlers/details-all-tenants.query.js +2 -5
- package/dist/audit/handlers/details.query.d.ts +3 -0
- package/dist/audit/handlers/details.query.js +5 -3
- package/dist/audit/handlers/list-all-tenants.query.d.ts +9 -2
- package/dist/audit/handlers/list-all-tenants.query.js +10 -8
- package/dist/audit/handlers/list.query.d.ts +8 -0
- package/dist/audit/handlers/list.query.js +12 -4
- package/dist/audit/screens.d.ts +37 -0
- package/dist/audit/screens.js +26 -4
- package/dist/audit/web/audit-event-cell.d.ts +4 -0
- package/dist/audit/web/audit-event-cell.js +20 -0
- package/dist/audit/web/audit-event-labels.d.ts +7 -0
- package/dist/audit/web/audit-event-labels.js +23 -0
- package/dist/audit/web/client-plugin.js +6 -1
- package/dist/audit/web/constants.d.ts +8 -0
- package/dist/audit/web/constants.js +7 -0
- package/dist/audit/web/i18n.js +48 -1
- package/dist/auth-email-password/feature.js +3 -2
- package/dist/auth-email-password/handlers/login-options.query.d.ts +5 -0
- package/dist/auth-email-password/handlers/login-options.query.js +17 -0
- package/dist/auth-email-password/index.d.ts +1 -1
- package/dist/auth-email-password/index.js +1 -1
- package/dist/auth-email-password/{auth-paths.d.ts → web/auth-paths.d.ts} +5 -3
- package/dist/auth-email-password/{auth-paths.js → web/auth-paths.js} +5 -3
- package/dist/auth-email-password/web/client-plugin.d.ts +5 -0
- package/dist/auth-email-password/web/client-plugin.js +2 -0
- package/dist/auth-email-password/web/constants.d.ts +1 -0
- package/dist/auth-email-password/web/constants.js +1 -0
- package/dist/auth-email-password/web/default-auth-pages-gate.d.ts +4 -0
- package/dist/auth-email-password/web/default-auth-pages-gate.js +28 -0
- package/dist/auth-email-password/web/login-screen.d.ts +13 -18
- package/dist/auth-email-password/web/login-screen.js +31 -19
- package/dist/auth-mfa/schema/user-mfa.d.ts +6 -126
- package/dist/billing-foundation/entities.d.ts +8 -168
- package/dist/billing-foundation/projection.d.ts +8 -168
- package/dist/cap-counter/entity.d.ts +1 -21
- package/dist/compliance-profiles/schema/profile-selection.d.ts +2 -28
- package/dist/config/table.d.ts +6 -126
- package/dist/custom-fields/entity.d.ts +4 -84
- package/dist/data-retention/schema/tenant-retention-override.d.ts +6 -112
- package/dist/delivery/tables.d.ts +6 -126
- package/dist/document-ingest-foundation/entity.d.ts +6 -112
- package/dist/folders/entity.d.ts +8 -168
- package/dist/form-draft/entity.d.ts +2 -42
- package/dist/inbound-mail-foundation/entities.d.ts +25 -525
- package/dist/inbound-mail-foundation/projection.d.ts +20 -420
- package/dist/jobs/feature.js +22 -117
- package/dist/jobs/handlers/consumer.write.d.ts +37 -0
- package/dist/jobs/handlers/consumer.write.js +59 -0
- package/dist/jobs/handlers/consumers.query.d.ts +52 -0
- package/dist/jobs/handlers/consumers.query.js +114 -0
- package/dist/jobs/job-run-table.d.ts +6 -126
- package/dist/jobs/screens.d.ts +6 -0
- package/dist/jobs/screens.js +241 -0
- package/dist/jobs/web/constants.d.ts +20 -0
- package/dist/jobs/web/constants.js +21 -0
- package/dist/jobs/web/i18n.js +41 -0
- package/dist/ledger/entity.d.ts +13 -273
- package/dist/managed-pages/table.d.ts +12 -252
- package/dist/notes-history/entity.d.ts +14 -280
- package/dist/personal-access-tokens/schema/api-token.d.ts +6 -126
- package/dist/secrets/i18n.d.ts +0 -3
- package/dist/secrets/i18n.js +0 -3
- package/dist/secrets/table.d.ts +1 -21
- package/dist/sessions/constants.d.ts +2 -1
- package/dist/sessions/constants.js +2 -1
- package/dist/sessions/handlers/detail.query.d.ts +5 -0
- package/dist/sessions/handlers/detail.query.js +7 -3
- package/dist/sessions/handlers/list.query.d.ts +5 -0
- package/dist/sessions/handlers/list.query.js +16 -10
- package/dist/sessions/handlers/mine.query.d.ts +5 -0
- package/dist/sessions/handlers/mine.query.js +15 -9
- package/dist/sessions/schema/user-session.d.ts +4 -84
- package/dist/sessions/screens.js +22 -8
- package/dist/sessions/web/client-plugin.d.ts +6 -0
- package/dist/sessions/web/client-plugin.js +11 -0
- package/dist/sessions/web/constants.d.ts +3 -0
- package/dist/sessions/web/constants.js +3 -0
- package/dist/sessions/web/default-translations.d.ts +2 -0
- package/dist/sessions/web/default-translations.js +3 -0
- package/dist/sessions/web/i18n.js +5 -1
- package/dist/sessions/web/index.d.ts +1 -0
- package/dist/sessions/web/index.js +1 -0
- package/dist/sessions/web/session-device-cell.d.ts +3 -0
- package/dist/sessions/web/session-device-cell.js +16 -0
- package/dist/sessions/web/user-agent.d.ts +26 -0
- package/dist/sessions/web/user-agent.js +58 -0
- package/dist/tags/entity.d.ts +9 -189
- package/dist/template-resolver/feature.d.ts +1 -0
- package/dist/template-resolver/feature.js +2 -0
- package/dist/template-resolver/handlers/overview.query.d.ts +5 -0
- package/dist/template-resolver/handlers/overview.query.js +19 -2
- package/dist/template-resolver/handlers/tenant-override-counts.query.d.ts +17 -0
- package/dist/template-resolver/handlers/tenant-override-counts.query.js +35 -0
- package/dist/template-resolver/handlers/tenant-override-selection.d.ts +12 -0
- package/dist/template-resolver/handlers/tenant-override-selection.js +34 -0
- package/dist/template-resolver/handlers/tenant-overrides.query.js +3 -29
- package/dist/template-resolver/table.d.ts +20 -350
- package/dist/template-resolver/user-content-table.d.ts +12 -238
- package/dist/template-resolver/web/qualified-names.d.ts +1 -0
- package/dist/template-resolver/web/qualified-names.js +1 -0
- package/dist/tenant/invitation-table.d.ts +6 -126
- package/dist/tenant/membership-table.d.ts +4 -84
- package/dist/tenant/schema/tenant.d.ts +6 -126
- package/dist/tier-engine/entity.d.ts +1 -21
- package/dist/tier-engine/tier-resolver.d.ts +1 -21
- package/dist/user/schema/user.d.ts +12 -252
- package/dist/user-data-rights/feature.js +33 -33
- package/dist/user-data-rights/schema/download-attempt.d.ts +14 -294
- package/dist/user-data-rights/schema/download-token.d.ts +8 -168
- package/dist/user-data-rights/schema/export-job.d.ts +8 -154
- package/dist/user-data-rights/web/i18n.js +4 -1
- package/dist/waitlist/entity.d.ts +16 -322
- package/package.json +17 -9
- package/src/audit/changes.json +6 -0
- package/src/auth-email-password/changes.json +6 -0
- package/src/jobs/changes.json +6 -0
- package/src/sessions/changes.json +6 -0
- package/src/template-resolver/changes.json +6 -0
- package/src/user-data-rights/changes.json +18 -0
|
@@ -1,163 +1,23 @@
|
|
|
1
1
|
export declare const mailAccountsProjectionTable: import("@cosmicdrift/kumiko-framework/db").EntityTable<import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
2
|
-
readonly provider: {
|
|
3
|
-
readonly type: "text";
|
|
4
|
-
readonly description?: string;
|
|
5
|
-
readonly maxLength?: number;
|
|
6
|
-
readonly minLength?: number;
|
|
7
|
-
readonly autoComplete?: string;
|
|
8
|
-
readonly required?: boolean;
|
|
9
|
-
readonly searchable?: boolean;
|
|
10
|
-
readonly sortable?: boolean;
|
|
11
|
-
readonly filterable?: boolean;
|
|
12
|
-
readonly encrypted?: boolean;
|
|
13
|
-
readonly sensitive?: boolean;
|
|
14
|
-
readonly writeOnly?: boolean;
|
|
15
|
-
readonly readAsInstruction?: boolean;
|
|
16
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
17
|
-
readonly default?: string;
|
|
18
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
19
|
-
readonly multiline?: boolean | {
|
|
20
|
-
readonly rows?: number;
|
|
21
|
-
};
|
|
22
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
2
|
+
readonly provider: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
23
3
|
required: true;
|
|
24
4
|
};
|
|
25
|
-
readonly authMethod: {
|
|
26
|
-
readonly type: "text";
|
|
27
|
-
readonly description?: string;
|
|
28
|
-
readonly maxLength?: number;
|
|
29
|
-
readonly minLength?: number;
|
|
30
|
-
readonly autoComplete?: string;
|
|
31
|
-
readonly required?: boolean;
|
|
32
|
-
readonly searchable?: boolean;
|
|
33
|
-
readonly sortable?: boolean;
|
|
34
|
-
readonly filterable?: boolean;
|
|
35
|
-
readonly encrypted?: boolean;
|
|
36
|
-
readonly sensitive?: boolean;
|
|
37
|
-
readonly writeOnly?: boolean;
|
|
38
|
-
readonly readAsInstruction?: boolean;
|
|
39
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
40
|
-
readonly default?: string;
|
|
41
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
42
|
-
readonly multiline?: boolean | {
|
|
43
|
-
readonly rows?: number;
|
|
44
|
-
};
|
|
45
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
5
|
+
readonly authMethod: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
46
6
|
required: true;
|
|
47
7
|
};
|
|
48
|
-
readonly ownerUserId: {
|
|
49
|
-
readonly type: "text";
|
|
50
|
-
readonly description?: string;
|
|
51
|
-
readonly maxLength?: number;
|
|
52
|
-
readonly minLength?: number;
|
|
53
|
-
readonly autoComplete?: string;
|
|
54
|
-
readonly required?: boolean;
|
|
55
|
-
readonly searchable?: boolean;
|
|
56
|
-
readonly sortable?: boolean;
|
|
57
|
-
readonly filterable?: boolean;
|
|
58
|
-
readonly encrypted?: boolean;
|
|
59
|
-
readonly sensitive?: boolean;
|
|
60
|
-
readonly writeOnly?: boolean;
|
|
61
|
-
readonly readAsInstruction?: boolean;
|
|
62
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
63
|
-
readonly default?: string;
|
|
64
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
65
|
-
readonly multiline?: boolean | {
|
|
66
|
-
readonly rows?: number;
|
|
67
|
-
};
|
|
68
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
8
|
+
readonly ownerUserId: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
69
9
|
required: false;
|
|
70
10
|
};
|
|
71
|
-
readonly displayName: {
|
|
72
|
-
readonly type: "text";
|
|
73
|
-
readonly description?: string;
|
|
74
|
-
readonly maxLength?: number;
|
|
75
|
-
readonly minLength?: number;
|
|
76
|
-
readonly autoComplete?: string;
|
|
77
|
-
readonly required?: boolean;
|
|
78
|
-
readonly searchable?: boolean;
|
|
79
|
-
readonly sortable?: boolean;
|
|
80
|
-
readonly filterable?: boolean;
|
|
81
|
-
readonly encrypted?: boolean;
|
|
82
|
-
readonly sensitive?: boolean;
|
|
83
|
-
readonly writeOnly?: boolean;
|
|
84
|
-
readonly readAsInstruction?: boolean;
|
|
85
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
86
|
-
readonly default?: string;
|
|
87
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
88
|
-
readonly multiline?: boolean | {
|
|
89
|
-
readonly rows?: number;
|
|
90
|
-
};
|
|
91
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
11
|
+
readonly displayName: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
92
12
|
required: false;
|
|
93
13
|
};
|
|
94
|
-
readonly address: {
|
|
95
|
-
readonly type: "text";
|
|
96
|
-
readonly description?: string;
|
|
97
|
-
readonly maxLength?: number;
|
|
98
|
-
readonly minLength?: number;
|
|
99
|
-
readonly autoComplete?: string;
|
|
100
|
-
readonly required?: boolean;
|
|
101
|
-
readonly searchable?: boolean;
|
|
102
|
-
readonly sortable?: boolean;
|
|
103
|
-
readonly filterable?: boolean;
|
|
104
|
-
readonly encrypted?: boolean;
|
|
105
|
-
readonly sensitive?: boolean;
|
|
106
|
-
readonly writeOnly?: boolean;
|
|
107
|
-
readonly readAsInstruction?: boolean;
|
|
108
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
109
|
-
readonly default?: string;
|
|
110
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
111
|
-
readonly multiline?: boolean | {
|
|
112
|
-
readonly rows?: number;
|
|
113
|
-
};
|
|
114
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
14
|
+
readonly address: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
115
15
|
required: true;
|
|
116
16
|
};
|
|
117
|
-
readonly status: {
|
|
118
|
-
readonly type: "text";
|
|
119
|
-
readonly description?: string;
|
|
120
|
-
readonly maxLength?: number;
|
|
121
|
-
readonly minLength?: number;
|
|
122
|
-
readonly autoComplete?: string;
|
|
123
|
-
readonly required?: boolean;
|
|
124
|
-
readonly searchable?: boolean;
|
|
125
|
-
readonly sortable?: boolean;
|
|
126
|
-
readonly filterable?: boolean;
|
|
127
|
-
readonly encrypted?: boolean;
|
|
128
|
-
readonly sensitive?: boolean;
|
|
129
|
-
readonly writeOnly?: boolean;
|
|
130
|
-
readonly readAsInstruction?: boolean;
|
|
131
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
132
|
-
readonly default?: string;
|
|
133
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
134
|
-
readonly multiline?: boolean | {
|
|
135
|
-
readonly rows?: number;
|
|
136
|
-
};
|
|
137
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
17
|
+
readonly status: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
138
18
|
required: true;
|
|
139
19
|
};
|
|
140
|
-
readonly watchState: {
|
|
141
|
-
readonly type: "text";
|
|
142
|
-
readonly description?: string;
|
|
143
|
-
readonly maxLength?: number;
|
|
144
|
-
readonly minLength?: number;
|
|
145
|
-
readonly autoComplete?: string;
|
|
146
|
-
readonly required?: boolean;
|
|
147
|
-
readonly searchable?: boolean;
|
|
148
|
-
readonly sortable?: boolean;
|
|
149
|
-
readonly filterable?: boolean;
|
|
150
|
-
readonly encrypted?: boolean;
|
|
151
|
-
readonly sensitive?: boolean;
|
|
152
|
-
readonly writeOnly?: boolean;
|
|
153
|
-
readonly readAsInstruction?: boolean;
|
|
154
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
155
|
-
readonly default?: string;
|
|
156
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
157
|
-
readonly multiline?: boolean | {
|
|
158
|
-
readonly rows?: number;
|
|
159
|
-
};
|
|
160
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
20
|
+
readonly watchState: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
161
21
|
required: false;
|
|
162
22
|
};
|
|
163
23
|
readonly connectedAt: {
|
|
@@ -177,211 +37,31 @@ export declare const mailAccountsProjectionTable: import("@cosmicdrift/kumiko-fr
|
|
|
177
37
|
};
|
|
178
38
|
}, "tenant">>;
|
|
179
39
|
export declare const inboundMessagesProjectionTable: import("@cosmicdrift/kumiko-framework/db").EntityTable<import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
180
|
-
readonly accountId: {
|
|
181
|
-
readonly type: "text";
|
|
182
|
-
readonly description?: string;
|
|
183
|
-
readonly maxLength?: number;
|
|
184
|
-
readonly minLength?: number;
|
|
185
|
-
readonly autoComplete?: string;
|
|
186
|
-
readonly required?: boolean;
|
|
187
|
-
readonly searchable?: boolean;
|
|
188
|
-
readonly sortable?: boolean;
|
|
189
|
-
readonly filterable?: boolean;
|
|
190
|
-
readonly encrypted?: boolean;
|
|
191
|
-
readonly sensitive?: boolean;
|
|
192
|
-
readonly writeOnly?: boolean;
|
|
193
|
-
readonly readAsInstruction?: boolean;
|
|
194
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
195
|
-
readonly default?: string;
|
|
196
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
197
|
-
readonly multiline?: boolean | {
|
|
198
|
-
readonly rows?: number;
|
|
199
|
-
};
|
|
200
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
40
|
+
readonly accountId: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
201
41
|
required: true;
|
|
202
42
|
};
|
|
203
|
-
readonly ownerUserId: {
|
|
204
|
-
readonly type: "text";
|
|
205
|
-
readonly description?: string;
|
|
206
|
-
readonly maxLength?: number;
|
|
207
|
-
readonly minLength?: number;
|
|
208
|
-
readonly autoComplete?: string;
|
|
209
|
-
readonly required?: boolean;
|
|
210
|
-
readonly searchable?: boolean;
|
|
211
|
-
readonly sortable?: boolean;
|
|
212
|
-
readonly filterable?: boolean;
|
|
213
|
-
readonly encrypted?: boolean;
|
|
214
|
-
readonly sensitive?: boolean;
|
|
215
|
-
readonly writeOnly?: boolean;
|
|
216
|
-
readonly readAsInstruction?: boolean;
|
|
217
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
218
|
-
readonly default?: string;
|
|
219
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
220
|
-
readonly multiline?: boolean | {
|
|
221
|
-
readonly rows?: number;
|
|
222
|
-
};
|
|
223
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
43
|
+
readonly ownerUserId: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
224
44
|
required: false;
|
|
225
45
|
};
|
|
226
|
-
readonly messageIdHeader: {
|
|
227
|
-
readonly type: "text";
|
|
228
|
-
readonly description?: string;
|
|
229
|
-
readonly maxLength?: number;
|
|
230
|
-
readonly minLength?: number;
|
|
231
|
-
readonly autoComplete?: string;
|
|
232
|
-
readonly required?: boolean;
|
|
233
|
-
readonly searchable?: boolean;
|
|
234
|
-
readonly sortable?: boolean;
|
|
235
|
-
readonly filterable?: boolean;
|
|
236
|
-
readonly encrypted?: boolean;
|
|
237
|
-
readonly sensitive?: boolean;
|
|
238
|
-
readonly writeOnly?: boolean;
|
|
239
|
-
readonly readAsInstruction?: boolean;
|
|
240
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
241
|
-
readonly default?: string;
|
|
242
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
243
|
-
readonly multiline?: boolean | {
|
|
244
|
-
readonly rows?: number;
|
|
245
|
-
};
|
|
246
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
46
|
+
readonly messageIdHeader: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
247
47
|
required: true;
|
|
248
48
|
};
|
|
249
|
-
readonly threadKey: {
|
|
250
|
-
readonly type: "text";
|
|
251
|
-
readonly description?: string;
|
|
252
|
-
readonly maxLength?: number;
|
|
253
|
-
readonly minLength?: number;
|
|
254
|
-
readonly autoComplete?: string;
|
|
255
|
-
readonly required?: boolean;
|
|
256
|
-
readonly searchable?: boolean;
|
|
257
|
-
readonly sortable?: boolean;
|
|
258
|
-
readonly filterable?: boolean;
|
|
259
|
-
readonly encrypted?: boolean;
|
|
260
|
-
readonly sensitive?: boolean;
|
|
261
|
-
readonly writeOnly?: boolean;
|
|
262
|
-
readonly readAsInstruction?: boolean;
|
|
263
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
264
|
-
readonly default?: string;
|
|
265
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
266
|
-
readonly multiline?: boolean | {
|
|
267
|
-
readonly rows?: number;
|
|
268
|
-
};
|
|
269
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
49
|
+
readonly threadKey: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
270
50
|
required: true;
|
|
271
51
|
};
|
|
272
|
-
readonly from: {
|
|
273
|
-
readonly type: "text";
|
|
274
|
-
readonly description?: string;
|
|
275
|
-
readonly maxLength?: number;
|
|
276
|
-
readonly minLength?: number;
|
|
277
|
-
readonly autoComplete?: string;
|
|
278
|
-
readonly required?: boolean;
|
|
279
|
-
readonly searchable?: boolean;
|
|
280
|
-
readonly sortable?: boolean;
|
|
281
|
-
readonly filterable?: boolean;
|
|
282
|
-
readonly encrypted?: boolean;
|
|
283
|
-
readonly sensitive?: boolean;
|
|
284
|
-
readonly writeOnly?: boolean;
|
|
285
|
-
readonly readAsInstruction?: boolean;
|
|
286
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
287
|
-
readonly default?: string;
|
|
288
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
289
|
-
readonly multiline?: boolean | {
|
|
290
|
-
readonly rows?: number;
|
|
291
|
-
};
|
|
292
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
52
|
+
readonly from: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
293
53
|
required: true;
|
|
294
54
|
};
|
|
295
|
-
readonly to: {
|
|
296
|
-
readonly type: "text";
|
|
297
|
-
readonly description?: string;
|
|
298
|
-
readonly maxLength?: number;
|
|
299
|
-
readonly minLength?: number;
|
|
300
|
-
readonly autoComplete?: string;
|
|
301
|
-
readonly required?: boolean;
|
|
302
|
-
readonly searchable?: boolean;
|
|
303
|
-
readonly sortable?: boolean;
|
|
304
|
-
readonly filterable?: boolean;
|
|
305
|
-
readonly encrypted?: boolean;
|
|
306
|
-
readonly sensitive?: boolean;
|
|
307
|
-
readonly writeOnly?: boolean;
|
|
308
|
-
readonly readAsInstruction?: boolean;
|
|
309
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
310
|
-
readonly default?: string;
|
|
311
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
312
|
-
readonly multiline?: boolean | {
|
|
313
|
-
readonly rows?: number;
|
|
314
|
-
};
|
|
315
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
55
|
+
readonly to: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
316
56
|
required: false;
|
|
317
57
|
};
|
|
318
|
-
readonly cc: {
|
|
319
|
-
readonly type: "text";
|
|
320
|
-
readonly description?: string;
|
|
321
|
-
readonly maxLength?: number;
|
|
322
|
-
readonly minLength?: number;
|
|
323
|
-
readonly autoComplete?: string;
|
|
324
|
-
readonly required?: boolean;
|
|
325
|
-
readonly searchable?: boolean;
|
|
326
|
-
readonly sortable?: boolean;
|
|
327
|
-
readonly filterable?: boolean;
|
|
328
|
-
readonly encrypted?: boolean;
|
|
329
|
-
readonly sensitive?: boolean;
|
|
330
|
-
readonly writeOnly?: boolean;
|
|
331
|
-
readonly readAsInstruction?: boolean;
|
|
332
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
333
|
-
readonly default?: string;
|
|
334
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
335
|
-
readonly multiline?: boolean | {
|
|
336
|
-
readonly rows?: number;
|
|
337
|
-
};
|
|
338
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
58
|
+
readonly cc: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
339
59
|
required: false;
|
|
340
60
|
};
|
|
341
|
-
readonly subject: {
|
|
342
|
-
readonly type: "text";
|
|
343
|
-
readonly description?: string;
|
|
344
|
-
readonly maxLength?: number;
|
|
345
|
-
readonly minLength?: number;
|
|
346
|
-
readonly autoComplete?: string;
|
|
347
|
-
readonly required?: boolean;
|
|
348
|
-
readonly searchable?: boolean;
|
|
349
|
-
readonly sortable?: boolean;
|
|
350
|
-
readonly filterable?: boolean;
|
|
351
|
-
readonly encrypted?: boolean;
|
|
352
|
-
readonly sensitive?: boolean;
|
|
353
|
-
readonly writeOnly?: boolean;
|
|
354
|
-
readonly readAsInstruction?: boolean;
|
|
355
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
356
|
-
readonly default?: string;
|
|
357
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
358
|
-
readonly multiline?: boolean | {
|
|
359
|
-
readonly rows?: number;
|
|
360
|
-
};
|
|
361
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
61
|
+
readonly subject: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
362
62
|
required: false;
|
|
363
63
|
};
|
|
364
|
-
readonly snippet: {
|
|
365
|
-
readonly type: "text";
|
|
366
|
-
readonly description?: string;
|
|
367
|
-
readonly maxLength?: number;
|
|
368
|
-
readonly minLength?: number;
|
|
369
|
-
readonly autoComplete?: string;
|
|
370
|
-
readonly required?: boolean;
|
|
371
|
-
readonly searchable?: boolean;
|
|
372
|
-
readonly sortable?: boolean;
|
|
373
|
-
readonly filterable?: boolean;
|
|
374
|
-
readonly encrypted?: boolean;
|
|
375
|
-
readonly sensitive?: boolean;
|
|
376
|
-
readonly writeOnly?: boolean;
|
|
377
|
-
readonly readAsInstruction?: boolean;
|
|
378
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
379
|
-
readonly default?: string;
|
|
380
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
381
|
-
readonly multiline?: boolean | {
|
|
382
|
-
readonly rows?: number;
|
|
383
|
-
};
|
|
384
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
64
|
+
readonly snippet: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
385
65
|
required: false;
|
|
386
66
|
};
|
|
387
67
|
readonly receivedAt: {
|
|
@@ -399,98 +79,18 @@ export declare const inboundMessagesProjectionTable: import("@cosmicdrift/kumiko
|
|
|
399
79
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
400
80
|
required: true;
|
|
401
81
|
};
|
|
402
|
-
readonly bodyRef: {
|
|
403
|
-
readonly type: "text";
|
|
404
|
-
readonly description?: string;
|
|
405
|
-
readonly maxLength?: number;
|
|
406
|
-
readonly minLength?: number;
|
|
407
|
-
readonly autoComplete?: string;
|
|
408
|
-
readonly required?: boolean;
|
|
409
|
-
readonly searchable?: boolean;
|
|
410
|
-
readonly sortable?: boolean;
|
|
411
|
-
readonly filterable?: boolean;
|
|
412
|
-
readonly encrypted?: boolean;
|
|
413
|
-
readonly sensitive?: boolean;
|
|
414
|
-
readonly writeOnly?: boolean;
|
|
415
|
-
readonly readAsInstruction?: boolean;
|
|
416
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
417
|
-
readonly default?: string;
|
|
418
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
419
|
-
readonly multiline?: boolean | {
|
|
420
|
-
readonly rows?: number;
|
|
421
|
-
};
|
|
422
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
82
|
+
readonly bodyRef: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
423
83
|
required: false;
|
|
424
84
|
};
|
|
425
|
-
readonly scope: {
|
|
426
|
-
readonly type: "text";
|
|
427
|
-
readonly description?: string;
|
|
428
|
-
readonly maxLength?: number;
|
|
429
|
-
readonly minLength?: number;
|
|
430
|
-
readonly autoComplete?: string;
|
|
431
|
-
readonly required?: boolean;
|
|
432
|
-
readonly searchable?: boolean;
|
|
433
|
-
readonly sortable?: boolean;
|
|
434
|
-
readonly filterable?: boolean;
|
|
435
|
-
readonly encrypted?: boolean;
|
|
436
|
-
readonly sensitive?: boolean;
|
|
437
|
-
readonly writeOnly?: boolean;
|
|
438
|
-
readonly readAsInstruction?: boolean;
|
|
439
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
440
|
-
readonly default?: string;
|
|
441
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
442
|
-
readonly multiline?: boolean | {
|
|
443
|
-
readonly rows?: number;
|
|
444
|
-
};
|
|
445
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
85
|
+
readonly scope: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
446
86
|
required: false;
|
|
447
87
|
};
|
|
448
88
|
}, "tenant">>;
|
|
449
89
|
export declare const mailThreadsProjectionTable: import("@cosmicdrift/kumiko-framework/db").EntityTable<import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
450
|
-
readonly threadKey: {
|
|
451
|
-
readonly type: "text";
|
|
452
|
-
readonly description?: string;
|
|
453
|
-
readonly maxLength?: number;
|
|
454
|
-
readonly minLength?: number;
|
|
455
|
-
readonly autoComplete?: string;
|
|
456
|
-
readonly required?: boolean;
|
|
457
|
-
readonly searchable?: boolean;
|
|
458
|
-
readonly sortable?: boolean;
|
|
459
|
-
readonly filterable?: boolean;
|
|
460
|
-
readonly encrypted?: boolean;
|
|
461
|
-
readonly sensitive?: boolean;
|
|
462
|
-
readonly writeOnly?: boolean;
|
|
463
|
-
readonly readAsInstruction?: boolean;
|
|
464
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
465
|
-
readonly default?: string;
|
|
466
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
467
|
-
readonly multiline?: boolean | {
|
|
468
|
-
readonly rows?: number;
|
|
469
|
-
};
|
|
470
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
90
|
+
readonly threadKey: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
471
91
|
required: true;
|
|
472
92
|
};
|
|
473
|
-
readonly subject: {
|
|
474
|
-
readonly type: "text";
|
|
475
|
-
readonly description?: string;
|
|
476
|
-
readonly maxLength?: number;
|
|
477
|
-
readonly minLength?: number;
|
|
478
|
-
readonly autoComplete?: string;
|
|
479
|
-
readonly required?: boolean;
|
|
480
|
-
readonly searchable?: boolean;
|
|
481
|
-
readonly sortable?: boolean;
|
|
482
|
-
readonly filterable?: boolean;
|
|
483
|
-
readonly encrypted?: boolean;
|
|
484
|
-
readonly sensitive?: boolean;
|
|
485
|
-
readonly writeOnly?: boolean;
|
|
486
|
-
readonly readAsInstruction?: boolean;
|
|
487
|
-
readonly format?: "email" | "url" | "phone" | "password" | "month" | "iban";
|
|
488
|
-
readonly default?: string;
|
|
489
|
-
readonly access?: import("@cosmicdrift/kumiko-types/fields").FieldAccess;
|
|
490
|
-
readonly multiline?: boolean | {
|
|
491
|
-
readonly rows?: number;
|
|
492
|
-
};
|
|
493
|
-
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
93
|
+
readonly subject: import("@cosmicdrift/kumiko-types/fields").EntityTextFieldDef & {
|
|
494
94
|
required: false;
|
|
495
95
|
};
|
|
496
96
|
readonly lastMessageAt: {
|
package/dist/jobs/feature.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { defineFeature
|
|
1
|
+
import { defineFeature } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
import { catalogQuery } from "./handlers/catalog.query.js";
|
|
3
|
+
import { consumerDisableWrite, consumerEnableWrite, consumerRestartWrite, consumerSkipWrite, } from "./handlers/consumer.write.js";
|
|
4
|
+
import { consumerDetailQuery, consumersQuery } from "./handlers/consumers.query.js";
|
|
3
5
|
import { detailQuery } from "./handlers/detail.query.js";
|
|
4
6
|
import { listQuery } from "./handlers/list.query.js";
|
|
5
7
|
import { projectionRebuildJob, projectionRebuildPayloadSchema, } from "./handlers/projection-rebuild.job.js";
|
|
@@ -11,9 +13,9 @@ import { tenantFailuresQuery } from "./handlers/tenant-failures.query.js";
|
|
|
11
13
|
import { tenantRunsQuery } from "./handlers/tenant-runs.query.js";
|
|
12
14
|
import { triggerWrite } from "./handlers/trigger.write.js";
|
|
13
15
|
import { jobRunLogsTableMeta, jobRunsTableMeta } from "./job-run-table.js";
|
|
16
|
+
import { eventConsumerDetailScreen, eventConsumersScreen, jobRunDetailScreen, jobRunsScreen, jobTriggerScreen, } from "./screens.js";
|
|
14
17
|
import { tenantJobFailuresTableMeta } from "./tenant-job-failure-table.js";
|
|
15
18
|
import { tenantJobRunsTableMeta } from "./tenant-job-run-table.js";
|
|
16
|
-
import { JOB_RUN_DETAIL_SCREEN_ID, JOB_RUNS_SCREEN_ID, JobHandlers, JobQueries, } from "./web/constants.js";
|
|
17
19
|
import { JOBS_I18N } from "./web/i18n.js";
|
|
18
20
|
export function createJobsFeature(options = {}) {
|
|
19
21
|
const retentionDays = options.retentionDays ?? DEFAULT_JOB_RUN_RETENTION_DAYS;
|
|
@@ -69,6 +71,10 @@ export function createJobsFeature(options = {}) {
|
|
|
69
71
|
const handlers = {
|
|
70
72
|
trigger: r.writeHandler(triggerWrite),
|
|
71
73
|
retry: r.writeHandler(retryWrite),
|
|
74
|
+
consumerRestart: r.writeHandler(consumerRestartWrite),
|
|
75
|
+
consumerSkip: r.writeHandler(consumerSkipWrite),
|
|
76
|
+
consumerDisable: r.writeHandler(consumerDisableWrite),
|
|
77
|
+
consumerEnable: r.writeHandler(consumerEnableWrite),
|
|
72
78
|
};
|
|
73
79
|
const queries = {
|
|
74
80
|
list: r.queryHandler(listQuery),
|
|
@@ -76,123 +82,13 @@ export function createJobsFeature(options = {}) {
|
|
|
76
82
|
catalog: r.queryHandler(catalogQuery),
|
|
77
83
|
failures: r.queryHandler(tenantFailuresQuery),
|
|
78
84
|
tenantRuns: r.queryHandler(tenantRunsQuery),
|
|
85
|
+
consumers: r.queryHandler(consumersQuery),
|
|
86
|
+
consumerDetails: r.queryHandler(consumerDetailQuery),
|
|
79
87
|
};
|
|
80
|
-
const systemAdminAccess = { roles: ["SystemAdmin"] };
|
|
81
88
|
r.translations({ keys: JOBS_I18N });
|
|
82
|
-
r.screen(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
query: JobQueries.list,
|
|
86
|
-
columns: [
|
|
87
|
-
{ field: "jobName", label: i18nKey("jobs.runs.col.job") },
|
|
88
|
-
{ field: "status", label: i18nKey("jobs.runs.col.status") },
|
|
89
|
-
{
|
|
90
|
-
field: "startedAt",
|
|
91
|
-
label: i18nKey("jobs.runs.col.started"),
|
|
92
|
-
renderer: { format: "timestamp" },
|
|
93
|
-
},
|
|
94
|
-
{ field: "duration", label: i18nKey("jobs.runs.col.duration") },
|
|
95
|
-
],
|
|
96
|
-
defaultSort: { field: "startedAt", dir: "desc" },
|
|
97
|
-
facets: [
|
|
98
|
-
{
|
|
99
|
-
field: "status",
|
|
100
|
-
type: "select",
|
|
101
|
-
label: i18nKey("jobs.runs.filter.status"),
|
|
102
|
-
options: [
|
|
103
|
-
{ value: "queued", label: i18nKey("jobs.runs.filter.queued") },
|
|
104
|
-
{ value: "running", label: i18nKey("jobs.runs.filter.running") },
|
|
105
|
-
{ value: "completed", label: i18nKey("jobs.runs.filter.completed") },
|
|
106
|
-
{ value: "failed", label: i18nKey("jobs.runs.filter.failed") },
|
|
107
|
-
],
|
|
108
|
-
},
|
|
109
|
-
],
|
|
110
|
-
rowActions: [
|
|
111
|
-
{
|
|
112
|
-
kind: "navigate",
|
|
113
|
-
id: "open",
|
|
114
|
-
label: i18nKey("jobs.runs.open"),
|
|
115
|
-
screen: JOB_RUN_DETAIL_SCREEN_ID,
|
|
116
|
-
entityId: "id",
|
|
117
|
-
rowClick: true,
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
toolbarActions: [
|
|
121
|
-
{
|
|
122
|
-
kind: "drawer",
|
|
123
|
-
id: "trigger",
|
|
124
|
-
label: i18nKey("jobs.trigger.title"),
|
|
125
|
-
screen: "job-trigger",
|
|
126
|
-
style: "primary",
|
|
127
|
-
},
|
|
128
|
-
],
|
|
129
|
-
pagination: "infinite",
|
|
130
|
-
access: systemAdminAccess,
|
|
131
|
-
});
|
|
132
|
-
r.screen({
|
|
133
|
-
id: "job-trigger",
|
|
134
|
-
type: "actionForm",
|
|
135
|
-
handler: JobHandlers.trigger,
|
|
136
|
-
fields: {
|
|
137
|
-
jobName: { type: "text", required: true },
|
|
138
|
-
payload: { type: "longText", multiline: true, default: "{}" },
|
|
139
|
-
},
|
|
140
|
-
layout: { sections: [{ fields: ["jobName", "payload"] }] },
|
|
141
|
-
submitLabel: i18nKey("jobs.trigger.submit"),
|
|
142
|
-
access: systemAdminAccess,
|
|
143
|
-
description: "jobs.screen.job-trigger.subtitle",
|
|
144
|
-
});
|
|
145
|
-
r.screen({
|
|
146
|
-
id: JOB_RUN_DETAIL_SCREEN_ID,
|
|
147
|
-
type: "projectionDetail",
|
|
148
|
-
query: JobQueries.details,
|
|
149
|
-
idParam: "runId",
|
|
150
|
-
fieldLabels: {
|
|
151
|
-
jobName: i18nKey("jobs.detail.field.job"),
|
|
152
|
-
status: i18nKey("jobs.detail.field.status"),
|
|
153
|
-
id: i18nKey("jobs.detail.field.id"),
|
|
154
|
-
startedAt: i18nKey("jobs.detail.field.started"),
|
|
155
|
-
finishedAt: i18nKey("jobs.detail.field.finished"),
|
|
156
|
-
duration: i18nKey("jobs.detail.field.duration"),
|
|
157
|
-
error: i18nKey("jobs.detail.field.error"),
|
|
158
|
-
logs: i18nKey("jobs.detail.logs"),
|
|
159
|
-
},
|
|
160
|
-
layout: {
|
|
161
|
-
sections: [
|
|
162
|
-
{
|
|
163
|
-
fields: [
|
|
164
|
-
"jobName",
|
|
165
|
-
"status",
|
|
166
|
-
"id",
|
|
167
|
-
{ field: "startedAt", renderer: { format: "timestamp" } },
|
|
168
|
-
{ field: "finishedAt", renderer: { format: "timestamp" } },
|
|
169
|
-
"duration",
|
|
170
|
-
"error",
|
|
171
|
-
],
|
|
172
|
-
},
|
|
173
|
-
// No section `title` here (fw#2312 label-dedup fix): the section
|
|
174
|
-
// holds exactly one field, so a title would repeat the field's own
|
|
175
|
-
// label (rendered by RenderField as the Field's heading) verbatim.
|
|
176
|
-
{
|
|
177
|
-
fields: [{ field: "logs", renderer: { format: "json" } }],
|
|
178
|
-
},
|
|
179
|
-
],
|
|
180
|
-
},
|
|
181
|
-
actions: [
|
|
182
|
-
{
|
|
183
|
-
kind: "writeHandler",
|
|
184
|
-
id: "retry",
|
|
185
|
-
label: i18nKey("jobs.detail.retry"),
|
|
186
|
-
handler: JobHandlers.retry,
|
|
187
|
-
payload: { map: { runId: "id" } },
|
|
188
|
-
visible: { field: "status", eq: "failed" },
|
|
189
|
-
style: "primary",
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
description: "jobs.screen.job-run-detail.subtitle",
|
|
193
|
-
listScreenId: JOB_RUNS_SCREEN_ID,
|
|
194
|
-
access: systemAdminAccess,
|
|
195
|
-
});
|
|
89
|
+
r.screen(jobRunsScreen);
|
|
90
|
+
r.screen(jobTriggerScreen);
|
|
91
|
+
r.screen(jobRunDetailScreen);
|
|
196
92
|
r.nav({
|
|
197
93
|
id: "job-runs",
|
|
198
94
|
label: "jobs:nav.jobRuns",
|
|
@@ -200,6 +96,15 @@ export function createJobsFeature(options = {}) {
|
|
|
200
96
|
screen: "jobs:screen:job-runs",
|
|
201
97
|
order: 10,
|
|
202
98
|
});
|
|
99
|
+
r.screen(eventConsumersScreen);
|
|
100
|
+
r.screen(eventConsumerDetailScreen);
|
|
101
|
+
r.nav({
|
|
102
|
+
id: "event-consumers",
|
|
103
|
+
label: "jobs:nav.eventConsumers",
|
|
104
|
+
icon: "list",
|
|
105
|
+
screen: "jobs:screen:event-consumers",
|
|
106
|
+
order: 11,
|
|
107
|
+
});
|
|
203
108
|
return { handlers, queries };
|
|
204
109
|
});
|
|
205
110
|
}
|