@cosmicdrift/kumiko-bundled-features 0.371.0 → 0.372.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/auth-mfa/db/queries.d.ts +3 -2
- package/dist/auth-mfa/db/queries.js +2 -5
- package/dist/auth-mfa/schema/user-mfa.d.ts +10 -10
- package/dist/billing-foundation/entities.d.ts +10 -10
- package/dist/billing-foundation/projection.d.ts +10 -10
- package/dist/cap-counter/entity.d.ts +4 -4
- package/dist/cap-overview/web/cap-cards-panel.js +2 -1
- package/dist/compliance-profiles/schema/profile-selection.d.ts +4 -4
- package/dist/config/table.d.ts +6 -6
- package/dist/config/web/index.d.ts +1 -0
- package/dist/config/web/index.js +1 -0
- package/dist/crypto-shredding/handlers/forget-subject.write.js +55 -30
- package/dist/crypto-shredding/resolve-file-bytes-deleter.d.ts +3 -0
- package/dist/crypto-shredding/resolve-file-bytes-deleter.js +24 -0
- package/dist/custom-fields/entity.d.ts +9 -7
- package/dist/custom-fields/executor.d.ts +19 -1
- package/dist/data-retention/index.d.ts +1 -0
- package/dist/data-retention/index.js +1 -0
- package/dist/data-retention/run-retention-cleanup.js +27 -159
- package/dist/data-retention/schema/tenant-retention-override.d.ts +6 -6
- package/dist/delivery/delivery-service.d.ts +2 -1
- package/dist/delivery/delivery-service.js +3 -2
- package/dist/delivery/handlers/unsubscribe-page-chrome.query.js +2 -2
- package/dist/delivery/index.d.ts +1 -1
- package/dist/delivery/index.js +1 -1
- package/dist/delivery/jobs.js +21 -7
- package/dist/delivery/recipient-address-seal.d.ts +13 -0
- package/dist/delivery/recipient-address-seal.js +53 -0
- package/dist/delivery/tables.d.ts +8 -7
- package/dist/delivery/testing.d.ts +2 -1
- package/dist/delivery/testing.js +1 -0
- package/dist/delivery/unsubscribe.d.ts +13 -2
- package/dist/delivery/unsubscribe.js +9 -1
- package/dist/document-ingest-foundation/entity.d.ts +8 -8
- package/dist/document-ingest-foundation/executor.d.ts +16 -1
- package/dist/file-foundation/read-file-ref-content.js +2 -2
- package/dist/folders/entity.d.ts +8 -8
- package/dist/folders/executor.d.ts +29 -2
- package/dist/form-draft/entity.d.ts +3 -3
- package/dist/form-draft/executor.d.ts +15 -1
- package/dist/inbound-mail-foundation/entities.d.ts +31 -31
- package/dist/inbound-mail-foundation/projection.d.ts +24 -24
- package/dist/jobs/job-run-table.d.ts +10 -10
- package/dist/ledger/entity.d.ts +21 -21
- package/dist/ledger/executor.d.ts +57 -3
- package/dist/managed-pages/table.d.ts +16 -14
- package/dist/notes-history/entity.d.ts +14 -14
- package/dist/notes-history/executor.d.ts +31 -2
- package/dist/personal-access-tokens/schema/api-token.d.ts +9 -9
- package/dist/personal-access-tokens/screens.js +14 -9
- package/dist/secrets/table.d.ts +2 -2
- package/dist/sessions/schema/user-session.d.ts +8 -8
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.js +2 -0
- package/dist/shared/purge-files-reaching-subject.d.ts +25 -0
- package/dist/shared/purge-files-reaching-subject.js +146 -0
- package/dist/shared/purge-row-file-refs.d.ts +33 -0
- package/dist/shared/purge-row-file-refs.js +152 -0
- package/dist/tags/entity.d.ts +9 -9
- package/dist/tags/executor.d.ts +30 -2
- package/dist/template-resolver/handlers/shared.d.ts +28 -1
- package/dist/template-resolver/table.d.ts +32 -32
- package/dist/template-resolver/template-preview.js +13 -4
- package/dist/template-resolver/user-content-table.d.ts +16 -16
- package/dist/template-resolver/web/client-plugin.js +2 -1
- package/dist/template-resolver/web/document-editor-extensions.d.ts +1 -1
- package/dist/template-resolver/web/document-editor-extensions.js +2 -5
- package/dist/template-resolver/web/placeholder-line-editor.js +2 -2
- package/dist/tenant/handlers/list.query.d.ts +21 -1
- package/dist/tenant/invitation-table.d.ts +14 -14
- package/dist/tenant/membership-table.d.ts +4 -4
- package/dist/tenant/schema/tenant.d.ts +20 -18
- package/dist/tier-engine/entity.d.ts +2 -2
- package/dist/tier-engine/tier-resolver.d.ts +2 -2
- package/dist/user/handlers/me.query.d.ts +21 -0
- package/dist/user/schema/user.d.ts +24 -22
- package/dist/user-data-rights/run-export-jobs.d.ts +20 -1
- package/dist/user-data-rights/run-forget-cleanup.js +35 -1
- package/dist/user-data-rights/schema/download-attempt.d.ts +16 -16
- package/dist/user-data-rights/schema/download-token.d.ts +16 -16
- package/dist/user-data-rights/schema/export-job.d.ts +20 -20
- package/dist/user-data-rights/web/privacy-center-screen.js +2 -1
- package/dist/waitlist/entity.d.ts +24 -24
- package/dist/waitlist/lib.d.ts +24 -1
- package/package.json +11 -11
- package/src/crypto-shredding/changes.json +6 -0
- package/src/data-retention/changes.json +6 -0
- package/src/delivery/changes.json +13 -0
- package/src/files/changes.json +7 -0
- package/src/personal-access-tokens/changes.json +12 -0
- package/src/template-resolver/changes.json +6 -0
- package/src/user-data-rights/changes.json +6 -0
|
@@ -275,7 +275,9 @@ function pageLocale(locale) {
|
|
|
275
275
|
}
|
|
276
276
|
/** The result page the unsubscribe routes answer with, for apps serving their own
|
|
277
277
|
* (e.g. legacy) unsubscribe links. Texts come from the mail translations of `locale`;
|
|
278
|
-
* `chrome`
|
|
278
|
+
* `chrome` adds the tenant's brand row and footer: read it with
|
|
279
|
+
* createUnsubscribePageChromeReader for a tenant the server resolved itself (e.g. by
|
|
280
|
+
* Host), never for a tenantId taken from the query string or body.
|
|
279
281
|
* Served under runProdApp's default CSP the style block and the same-origin font pass;
|
|
280
282
|
* an https logo additionally needs its origin, e.g.
|
|
281
283
|
* `securityHeaders: { csp: { extend: { "img-src": [logoOrigin] } } }`. A hand-written CSP
|
|
@@ -317,6 +319,12 @@ async function readPageChrome(deps, tenantId, locale) {
|
|
|
317
319
|
return null;
|
|
318
320
|
}
|
|
319
321
|
}
|
|
322
|
+
/** Reads the chrome for renderUnsubscribeResultPage in an app route without
|
|
323
|
+
* public access: build it once in the `wire` hook from its dispatchSystemQuery.
|
|
324
|
+
* Null without a mail renderer or when the read fails. */
|
|
325
|
+
export function createUnsubscribePageChromeReader(deps) {
|
|
326
|
+
return (tenantId, locale) => readPageChrome(deps, tenantId, pageLocale(locale));
|
|
327
|
+
}
|
|
320
328
|
// no-referrer on every page: the GET page carries the token in its URL, and the
|
|
321
329
|
// tenant logo and site link would otherwise receive it in the Referer header.
|
|
322
330
|
const PAGE_HEADERS = {
|
|
@@ -10,7 +10,7 @@ export type DocumentExtractMeta = {
|
|
|
10
10
|
readonly totalPages: number;
|
|
11
11
|
};
|
|
12
12
|
export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
13
|
-
fileRefId: {
|
|
13
|
+
readonly fileRefId: {
|
|
14
14
|
readonly type: "text";
|
|
15
15
|
readonly description?: string;
|
|
16
16
|
readonly maxLength?: number;
|
|
@@ -33,7 +33,7 @@ export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fi
|
|
|
33
33
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
34
34
|
required: true;
|
|
35
35
|
};
|
|
36
|
-
storageKey: {
|
|
36
|
+
readonly storageKey: {
|
|
37
37
|
readonly type: "text";
|
|
38
38
|
readonly description?: string;
|
|
39
39
|
readonly maxLength?: number;
|
|
@@ -56,7 +56,7 @@ export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fi
|
|
|
56
56
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
57
57
|
required: true;
|
|
58
58
|
};
|
|
59
|
-
pages: {
|
|
59
|
+
readonly pages: {
|
|
60
60
|
readonly type: "longText";
|
|
61
61
|
readonly description?: string;
|
|
62
62
|
readonly maxLength?: number;
|
|
@@ -72,10 +72,10 @@ export declare const documentExtractEntity: import("@cosmicdrift/kumiko-types/fi
|
|
|
72
72
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
73
73
|
required: false;
|
|
74
74
|
};
|
|
75
|
-
meta: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
75
|
+
readonly meta: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
76
76
|
}, "tenant">;
|
|
77
77
|
export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framework/db").EntityTable<import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
78
|
-
fileRefId: {
|
|
78
|
+
readonly fileRefId: {
|
|
79
79
|
readonly type: "text";
|
|
80
80
|
readonly description?: string;
|
|
81
81
|
readonly maxLength?: number;
|
|
@@ -98,7 +98,7 @@ export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framewor
|
|
|
98
98
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
99
99
|
required: true;
|
|
100
100
|
};
|
|
101
|
-
storageKey: {
|
|
101
|
+
readonly storageKey: {
|
|
102
102
|
readonly type: "text";
|
|
103
103
|
readonly description?: string;
|
|
104
104
|
readonly maxLength?: number;
|
|
@@ -121,7 +121,7 @@ export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framewor
|
|
|
121
121
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
122
122
|
required: true;
|
|
123
123
|
};
|
|
124
|
-
pages: {
|
|
124
|
+
readonly pages: {
|
|
125
125
|
readonly type: "longText";
|
|
126
126
|
readonly description?: string;
|
|
127
127
|
readonly maxLength?: number;
|
|
@@ -137,5 +137,5 @@ export declare const documentExtractsTable: import("@cosmicdrift/kumiko-framewor
|
|
|
137
137
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
138
138
|
required: false;
|
|
139
139
|
};
|
|
140
|
-
meta: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
140
|
+
readonly meta: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
141
141
|
}, "tenant">>;
|
|
@@ -1 +1,16 @@
|
|
|
1
|
-
export declare const documentExtractExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor
|
|
1
|
+
export declare const documentExtractExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor<{
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly tenantId: string;
|
|
4
|
+
readonly version: number;
|
|
5
|
+
readonly insertedAt: Temporal.Instant;
|
|
6
|
+
readonly modifiedAt: Temporal.Instant | null;
|
|
7
|
+
readonly insertedById: string | null;
|
|
8
|
+
readonly modifiedById: string | null;
|
|
9
|
+
readonly isDeleted?: boolean | undefined;
|
|
10
|
+
readonly deletedAt?: Temporal.Instant | null | undefined;
|
|
11
|
+
readonly deletedById?: string | null | undefined;
|
|
12
|
+
readonly fileRefId: string;
|
|
13
|
+
readonly meta: unknown;
|
|
14
|
+
readonly pages: string | null;
|
|
15
|
+
readonly storageKey: string;
|
|
16
|
+
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { selectMany } from "@cosmicdrift/kumiko-framework/db";
|
|
2
2
|
import { isUuid } from "@cosmicdrift/kumiko-framework/engine";
|
|
3
|
-
import {
|
|
3
|
+
import { createTenantFileContext, fileRefsTable, } from "@cosmicdrift/kumiko-framework/files";
|
|
4
4
|
// Tenant-bound on purpose: without a resolver `ctx.files` only reaches the storage of the
|
|
5
5
|
// context's own tenant (`contextTenantId`), so a request for another tenant's files is
|
|
6
6
|
// undefined instead of silently reading through the wrong tenant's storage.
|
|
@@ -13,7 +13,7 @@ export function fileContextForTenant(ctx, contextTenantId, tenantId) {
|
|
|
13
13
|
export function fileContextFromResolver(resolver, tenantId) {
|
|
14
14
|
// @cast-boundary engine-payload — tenantId comes from a trusted job payload or session
|
|
15
15
|
const brandedTenantId = tenantId;
|
|
16
|
-
return
|
|
16
|
+
return createTenantFileContext(resolver, brandedTenantId);
|
|
17
17
|
}
|
|
18
18
|
export class FileRefTooLargeError extends Error {
|
|
19
19
|
size;
|
package/dist/folders/entity.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EntityDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
export declare const folderEntity: EntityDefinition<{
|
|
3
|
-
name: {
|
|
3
|
+
readonly name: {
|
|
4
4
|
readonly type: "text";
|
|
5
5
|
readonly description?: string;
|
|
6
6
|
readonly maxLength?: number;
|
|
@@ -23,7 +23,7 @@ export declare const folderEntity: EntityDefinition<{
|
|
|
23
23
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
24
24
|
required: true;
|
|
25
25
|
};
|
|
26
|
-
parentId: {
|
|
26
|
+
readonly parentId: {
|
|
27
27
|
readonly type: "text";
|
|
28
28
|
readonly description?: string;
|
|
29
29
|
readonly maxLength?: number;
|
|
@@ -48,7 +48,7 @@ export declare const folderEntity: EntityDefinition<{
|
|
|
48
48
|
};
|
|
49
49
|
}, "tenant">;
|
|
50
50
|
export declare function createFolderAssignmentEntity(access?: EntityDefinition["access"], parents?: readonly string[]): EntityDefinition<{
|
|
51
|
-
folderId: {
|
|
51
|
+
readonly folderId: {
|
|
52
52
|
readonly type: "text";
|
|
53
53
|
readonly description?: string;
|
|
54
54
|
readonly maxLength?: number;
|
|
@@ -71,7 +71,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
|
|
|
71
71
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
72
72
|
required: true;
|
|
73
73
|
};
|
|
74
|
-
entityType: {
|
|
74
|
+
readonly entityType: {
|
|
75
75
|
readonly type: "text";
|
|
76
76
|
readonly description?: string;
|
|
77
77
|
readonly maxLength?: number;
|
|
@@ -94,7 +94,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
|
|
|
94
94
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
95
95
|
required: true;
|
|
96
96
|
};
|
|
97
|
-
entityId: {
|
|
97
|
+
readonly entityId: {
|
|
98
98
|
readonly type: "text";
|
|
99
99
|
readonly description?: string;
|
|
100
100
|
readonly maxLength?: number;
|
|
@@ -119,7 +119,7 @@ export declare function createFolderAssignmentEntity(access?: EntityDefinition["
|
|
|
119
119
|
};
|
|
120
120
|
}, "tenant">;
|
|
121
121
|
export declare const folderAssignmentEntity: EntityDefinition<{
|
|
122
|
-
folderId: {
|
|
122
|
+
readonly folderId: {
|
|
123
123
|
readonly type: "text";
|
|
124
124
|
readonly description?: string;
|
|
125
125
|
readonly maxLength?: number;
|
|
@@ -142,7 +142,7 @@ export declare const folderAssignmentEntity: EntityDefinition<{
|
|
|
142
142
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
143
143
|
required: true;
|
|
144
144
|
};
|
|
145
|
-
entityType: {
|
|
145
|
+
readonly entityType: {
|
|
146
146
|
readonly type: "text";
|
|
147
147
|
readonly description?: string;
|
|
148
148
|
readonly maxLength?: number;
|
|
@@ -165,7 +165,7 @@ export declare const folderAssignmentEntity: EntityDefinition<{
|
|
|
165
165
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
166
166
|
required: true;
|
|
167
167
|
};
|
|
168
|
-
entityId: {
|
|
168
|
+
readonly entityId: {
|
|
169
169
|
readonly type: "text";
|
|
170
170
|
readonly description?: string;
|
|
171
171
|
readonly maxLength?: number;
|
|
@@ -1,2 +1,29 @@
|
|
|
1
|
-
export declare const folderExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor
|
|
2
|
-
|
|
1
|
+
export declare const folderExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor<{
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly tenantId: string;
|
|
4
|
+
readonly version: number;
|
|
5
|
+
readonly insertedAt: Temporal.Instant;
|
|
6
|
+
readonly modifiedAt: Temporal.Instant | null;
|
|
7
|
+
readonly insertedById: string | null;
|
|
8
|
+
readonly modifiedById: string | null;
|
|
9
|
+
readonly isDeleted?: boolean | undefined;
|
|
10
|
+
readonly deletedAt?: Temporal.Instant | null | undefined;
|
|
11
|
+
readonly deletedById?: string | null | undefined;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly parentId: string | null;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const folderAssignmentExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor<{
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly tenantId: string;
|
|
18
|
+
readonly version: number;
|
|
19
|
+
readonly insertedAt: Temporal.Instant;
|
|
20
|
+
readonly modifiedAt: Temporal.Instant | null;
|
|
21
|
+
readonly insertedById: string | null;
|
|
22
|
+
readonly modifiedById: string | null;
|
|
23
|
+
readonly isDeleted?: boolean | undefined;
|
|
24
|
+
readonly deletedAt?: Temporal.Instant | null | undefined;
|
|
25
|
+
readonly deletedById?: string | null | undefined;
|
|
26
|
+
readonly entityId: string;
|
|
27
|
+
readonly entityType: string;
|
|
28
|
+
readonly folderId: string;
|
|
29
|
+
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const formDraftEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
2
|
-
ownerId: {
|
|
2
|
+
readonly ownerId: {
|
|
3
3
|
readonly type: "text";
|
|
4
4
|
readonly description?: string;
|
|
5
5
|
readonly maxLength?: number;
|
|
@@ -22,7 +22,7 @@ export declare const formDraftEntity: import("@cosmicdrift/kumiko-types/fields")
|
|
|
22
22
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
23
23
|
required: true;
|
|
24
24
|
};
|
|
25
|
-
draftKey: {
|
|
25
|
+
readonly draftKey: {
|
|
26
26
|
readonly type: "text";
|
|
27
27
|
readonly description?: string;
|
|
28
28
|
readonly maxLength?: number;
|
|
@@ -45,5 +45,5 @@ export declare const formDraftEntity: import("@cosmicdrift/kumiko-types/fields")
|
|
|
45
45
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
46
46
|
required: true;
|
|
47
47
|
};
|
|
48
|
-
draft: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
48
|
+
readonly draft: import("@cosmicdrift/kumiko-types/fields").JsonbFieldDef;
|
|
49
49
|
}, "tenant">;
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
export declare const formDraftExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor
|
|
1
|
+
export declare const formDraftExecutor: import("@cosmicdrift/kumiko-types/event-store-executor-types").EventStoreExecutor<{
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly tenantId: string;
|
|
4
|
+
readonly version: number;
|
|
5
|
+
readonly insertedAt: Temporal.Instant;
|
|
6
|
+
readonly modifiedAt: Temporal.Instant | null;
|
|
7
|
+
readonly insertedById: string | null;
|
|
8
|
+
readonly modifiedById: string | null;
|
|
9
|
+
readonly isDeleted?: boolean | undefined;
|
|
10
|
+
readonly deletedAt?: Temporal.Instant | null | undefined;
|
|
11
|
+
readonly deletedById?: string | null | undefined;
|
|
12
|
+
readonly draft: unknown;
|
|
13
|
+
readonly draftKey: string;
|
|
14
|
+
readonly ownerId: string;
|
|
15
|
+
}>, formDraftTable: import("@cosmicdrift/kumiko-framework/db").EntityTable;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Ein verbundenes Postfach. Eine Row pro Account, PK = aggregateId
|
|
2
2
|
* (= accountId, random uuid beim connect). */
|
|
3
3
|
export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
4
|
-
provider: {
|
|
4
|
+
readonly provider: {
|
|
5
5
|
readonly type: "text";
|
|
6
6
|
readonly description?: string;
|
|
7
7
|
readonly maxLength?: number;
|
|
@@ -24,7 +24,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
24
24
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
25
25
|
required: true;
|
|
26
26
|
};
|
|
27
|
-
authMethod: {
|
|
27
|
+
readonly authMethod: {
|
|
28
28
|
readonly type: "text";
|
|
29
29
|
readonly description?: string;
|
|
30
30
|
readonly maxLength?: number;
|
|
@@ -47,7 +47,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
47
47
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
48
48
|
required: true;
|
|
49
49
|
};
|
|
50
|
-
ownerUserId: {
|
|
50
|
+
readonly ownerUserId: {
|
|
51
51
|
readonly type: "text";
|
|
52
52
|
readonly description?: string;
|
|
53
53
|
readonly maxLength?: number;
|
|
@@ -70,7 +70,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
70
70
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
71
71
|
required: false;
|
|
72
72
|
};
|
|
73
|
-
displayName: {
|
|
73
|
+
readonly displayName: {
|
|
74
74
|
readonly type: "text";
|
|
75
75
|
readonly description?: string;
|
|
76
76
|
readonly maxLength?: number;
|
|
@@ -93,7 +93,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
93
93
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
94
94
|
required: false;
|
|
95
95
|
};
|
|
96
|
-
address: {
|
|
96
|
+
readonly address: {
|
|
97
97
|
readonly type: "text";
|
|
98
98
|
readonly description?: string;
|
|
99
99
|
readonly maxLength?: number;
|
|
@@ -116,7 +116,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
116
116
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
117
117
|
required: true;
|
|
118
118
|
};
|
|
119
|
-
status: {
|
|
119
|
+
readonly status: {
|
|
120
120
|
readonly type: "text";
|
|
121
121
|
readonly description?: string;
|
|
122
122
|
readonly maxLength?: number;
|
|
@@ -139,7 +139,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
139
139
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
140
140
|
required: true;
|
|
141
141
|
};
|
|
142
|
-
watchState: {
|
|
142
|
+
readonly watchState: {
|
|
143
143
|
readonly type: "text";
|
|
144
144
|
readonly description?: string;
|
|
145
145
|
readonly maxLength?: number;
|
|
@@ -162,7 +162,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
162
162
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
163
163
|
required: false;
|
|
164
164
|
};
|
|
165
|
-
connectedAt: {
|
|
165
|
+
readonly connectedAt: {
|
|
166
166
|
readonly type: "timestamp";
|
|
167
167
|
readonly description?: string;
|
|
168
168
|
readonly required?: boolean;
|
|
@@ -182,7 +182,7 @@ export declare const mailAccountEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
182
182
|
* zeigt auf file-foundation). PK = aggregateId =
|
|
183
183
|
* inboundMessageAggregateId(accountId, providerMessageId). */
|
|
184
184
|
export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
185
|
-
accountId: {
|
|
185
|
+
readonly accountId: {
|
|
186
186
|
readonly type: "text";
|
|
187
187
|
readonly description?: string;
|
|
188
188
|
readonly maxLength?: number;
|
|
@@ -205,7 +205,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
205
205
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
206
206
|
required: true;
|
|
207
207
|
};
|
|
208
|
-
ownerUserId: {
|
|
208
|
+
readonly ownerUserId: {
|
|
209
209
|
readonly type: "text";
|
|
210
210
|
readonly description?: string;
|
|
211
211
|
readonly maxLength?: number;
|
|
@@ -228,7 +228,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
228
228
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
229
229
|
required: false;
|
|
230
230
|
};
|
|
231
|
-
messageIdHeader: {
|
|
231
|
+
readonly messageIdHeader: {
|
|
232
232
|
readonly type: "text";
|
|
233
233
|
readonly description?: string;
|
|
234
234
|
readonly maxLength?: number;
|
|
@@ -251,7 +251,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
251
251
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
252
252
|
required: true;
|
|
253
253
|
};
|
|
254
|
-
threadKey: {
|
|
254
|
+
readonly threadKey: {
|
|
255
255
|
readonly type: "text";
|
|
256
256
|
readonly description?: string;
|
|
257
257
|
readonly maxLength?: number;
|
|
@@ -274,7 +274,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
274
274
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
275
275
|
required: true;
|
|
276
276
|
};
|
|
277
|
-
from: {
|
|
277
|
+
readonly from: {
|
|
278
278
|
readonly type: "text";
|
|
279
279
|
readonly description?: string;
|
|
280
280
|
readonly maxLength?: number;
|
|
@@ -297,7 +297,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
297
297
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
298
298
|
required: true;
|
|
299
299
|
};
|
|
300
|
-
to: {
|
|
300
|
+
readonly to: {
|
|
301
301
|
readonly type: "text";
|
|
302
302
|
readonly description?: string;
|
|
303
303
|
readonly maxLength?: number;
|
|
@@ -320,7 +320,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
320
320
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
321
321
|
required: false;
|
|
322
322
|
};
|
|
323
|
-
cc: {
|
|
323
|
+
readonly cc: {
|
|
324
324
|
readonly type: "text";
|
|
325
325
|
readonly description?: string;
|
|
326
326
|
readonly maxLength?: number;
|
|
@@ -343,7 +343,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
343
343
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
344
344
|
required: false;
|
|
345
345
|
};
|
|
346
|
-
subject: {
|
|
346
|
+
readonly subject: {
|
|
347
347
|
readonly type: "text";
|
|
348
348
|
readonly description?: string;
|
|
349
349
|
readonly maxLength?: number;
|
|
@@ -366,7 +366,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
366
366
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
367
367
|
required: false;
|
|
368
368
|
};
|
|
369
|
-
snippet: {
|
|
369
|
+
readonly snippet: {
|
|
370
370
|
readonly type: "text";
|
|
371
371
|
readonly description?: string;
|
|
372
372
|
readonly maxLength?: number;
|
|
@@ -389,7 +389,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
389
389
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
390
390
|
required: false;
|
|
391
391
|
};
|
|
392
|
-
receivedAt: {
|
|
392
|
+
readonly receivedAt: {
|
|
393
393
|
readonly type: "timestamp";
|
|
394
394
|
readonly description?: string;
|
|
395
395
|
readonly required?: boolean;
|
|
@@ -404,7 +404,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
404
404
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
405
405
|
required: true;
|
|
406
406
|
};
|
|
407
|
-
bodyRef: {
|
|
407
|
+
readonly bodyRef: {
|
|
408
408
|
readonly type: "text";
|
|
409
409
|
readonly description?: string;
|
|
410
410
|
readonly maxLength?: number;
|
|
@@ -427,7 +427,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
427
427
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
428
428
|
required: false;
|
|
429
429
|
};
|
|
430
|
-
scope: {
|
|
430
|
+
readonly scope: {
|
|
431
431
|
readonly type: "text";
|
|
432
432
|
readonly description?: string;
|
|
433
433
|
readonly maxLength?: number;
|
|
@@ -454,7 +454,7 @@ export declare const inboundMessageEntity: import("@cosmicdrift/kumiko-types/fie
|
|
|
454
454
|
/** Thread-Rollup. PK = aggregateId = mailThreadAggregateId(tenantId,
|
|
455
455
|
* threadKey). */
|
|
456
456
|
export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
457
|
-
threadKey: {
|
|
457
|
+
readonly threadKey: {
|
|
458
458
|
readonly type: "text";
|
|
459
459
|
readonly description?: string;
|
|
460
460
|
readonly maxLength?: number;
|
|
@@ -477,7 +477,7 @@ export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
477
477
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
478
478
|
required: true;
|
|
479
479
|
};
|
|
480
|
-
subject: {
|
|
480
|
+
readonly subject: {
|
|
481
481
|
readonly type: "text";
|
|
482
482
|
readonly description?: string;
|
|
483
483
|
readonly maxLength?: number;
|
|
@@ -500,7 +500,7 @@ export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
500
500
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
501
501
|
required: false;
|
|
502
502
|
};
|
|
503
|
-
lastMessageAt: {
|
|
503
|
+
readonly lastMessageAt: {
|
|
504
504
|
readonly type: "timestamp";
|
|
505
505
|
readonly description?: string;
|
|
506
506
|
readonly required?: boolean;
|
|
@@ -515,7 +515,7 @@ export declare const mailThreadEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
515
515
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
516
516
|
required: true;
|
|
517
517
|
};
|
|
518
|
-
messageCount: {
|
|
518
|
+
readonly messageCount: {
|
|
519
519
|
readonly type: "number";
|
|
520
520
|
readonly description?: string;
|
|
521
521
|
readonly required?: boolean;
|
|
@@ -543,7 +543,7 @@ export declare const MAIL_THREAD_PII_FIELDS: readonly string[];
|
|
|
543
543
|
* Write-locked auf privileged — nur Foundation-Handler/Supervisor
|
|
544
544
|
* schreiben, kein Tenant-Request. */
|
|
545
545
|
export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
546
|
-
accountId: {
|
|
546
|
+
readonly accountId: {
|
|
547
547
|
readonly type: "text";
|
|
548
548
|
readonly description?: string;
|
|
549
549
|
readonly maxLength?: number;
|
|
@@ -566,7 +566,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
566
566
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
567
567
|
required: true;
|
|
568
568
|
};
|
|
569
|
-
scope: {
|
|
569
|
+
readonly scope: {
|
|
570
570
|
readonly type: "text";
|
|
571
571
|
readonly description?: string;
|
|
572
572
|
readonly maxLength?: number;
|
|
@@ -589,7 +589,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
589
589
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
590
590
|
required: true;
|
|
591
591
|
};
|
|
592
|
-
cursor: {
|
|
592
|
+
readonly cursor: {
|
|
593
593
|
readonly type: "text";
|
|
594
594
|
readonly description?: string;
|
|
595
595
|
readonly maxLength?: number;
|
|
@@ -612,7 +612,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
612
612
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
613
613
|
required: true;
|
|
614
614
|
};
|
|
615
|
-
updatedAt: {
|
|
615
|
+
readonly updatedAt: {
|
|
616
616
|
readonly type: "timestamp";
|
|
617
617
|
readonly description?: string;
|
|
618
618
|
readonly required?: boolean;
|
|
@@ -633,7 +633,7 @@ export declare const syncCursorEntity: import("@cosmicdrift/kumiko-types/fields"
|
|
|
633
633
|
* ingest-handler prüft zuerst hier (cheap), der Stream-Scan bleibt
|
|
634
634
|
* Defense-in-depth. */
|
|
635
635
|
export declare const seenMessageEntity: import("@cosmicdrift/kumiko-types/fields").EntityDefinition<{
|
|
636
|
-
accountId: {
|
|
636
|
+
readonly accountId: {
|
|
637
637
|
readonly type: "text";
|
|
638
638
|
readonly description?: string;
|
|
639
639
|
readonly maxLength?: number;
|
|
@@ -656,7 +656,7 @@ export declare const seenMessageEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
656
656
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
657
657
|
required: true;
|
|
658
658
|
};
|
|
659
|
-
providerMessageId: {
|
|
659
|
+
readonly providerMessageId: {
|
|
660
660
|
readonly type: "text";
|
|
661
661
|
readonly description?: string;
|
|
662
662
|
readonly maxLength?: number;
|
|
@@ -679,7 +679,7 @@ export declare const seenMessageEntity: import("@cosmicdrift/kumiko-types/fields
|
|
|
679
679
|
} & import("@cosmicdrift/kumiko-types/fields").ResolvedPiiFlags & {
|
|
680
680
|
required: true;
|
|
681
681
|
};
|
|
682
|
-
seenAt: {
|
|
682
|
+
readonly seenAt: {
|
|
683
683
|
readonly type: "timestamp";
|
|
684
684
|
readonly description?: string;
|
|
685
685
|
readonly required?: boolean;
|