jmap-kit 0.0.0 → 1.0.2
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/LICENSE +21 -0
- package/README.md +138 -3
- package/dist/src/capabilities/blob/blob.d.ts +83 -0
- package/dist/src/capabilities/blob/blob.js +98 -0
- package/dist/src/capabilities/blob/blob.js.map +1 -0
- package/dist/src/capabilities/blob/types.d.ts +212 -0
- package/dist/src/capabilities/blob/types.js +16 -0
- package/dist/src/capabilities/blob/types.js.map +1 -0
- package/dist/src/capabilities/blob-capability.d.ts +195 -0
- package/dist/src/capabilities/blob-capability.js +277 -0
- package/dist/src/capabilities/blob-capability.js.map +1 -0
- package/dist/src/capabilities/core/core.d.ts +47 -0
- package/dist/src/capabilities/core/core.js +59 -0
- package/dist/src/capabilities/core/core.js.map +1 -0
- package/dist/src/capabilities/core/types.d.ts +13 -0
- package/dist/src/capabilities/core/types.js +2 -0
- package/dist/src/capabilities/core/types.js.map +1 -0
- package/dist/src/capabilities/core-capability.d.ts +307 -0
- package/dist/src/capabilities/core-capability.js +344 -0
- package/dist/src/capabilities/core-capability.js.map +1 -0
- package/dist/src/capabilities/email/email.d.ts +124 -0
- package/dist/src/capabilities/email/email.js +136 -0
- package/dist/src/capabilities/email/email.js.map +1 -0
- package/dist/src/capabilities/email/types.d.ts +776 -0
- package/dist/src/capabilities/email/types.js +2 -0
- package/dist/src/capabilities/email/types.js.map +1 -0
- package/dist/src/capabilities/email-capability.d.ts +266 -0
- package/dist/src/capabilities/email-capability.js +241 -0
- package/dist/src/capabilities/email-capability.js.map +1 -0
- package/dist/src/capabilities/emailsubmission/emailsubmission.d.ts +95 -0
- package/dist/src/capabilities/emailsubmission/emailsubmission.js +107 -0
- package/dist/src/capabilities/emailsubmission/emailsubmission.js.map +1 -0
- package/dist/src/capabilities/emailsubmission/types.d.ts +256 -0
- package/dist/src/capabilities/emailsubmission/types.js +2 -0
- package/dist/src/capabilities/emailsubmission/types.js.map +1 -0
- package/dist/src/capabilities/example/example.d.ts +80 -0
- package/dist/src/capabilities/example/example.js +91 -0
- package/dist/src/capabilities/example/example.js.map +1 -0
- package/dist/src/capabilities/example/types.d.ts +33 -0
- package/dist/src/capabilities/example/types.js +2 -0
- package/dist/src/capabilities/example/types.js.map +1 -0
- package/dist/src/capabilities/identity/identity.d.ts +71 -0
- package/dist/src/capabilities/identity/identity.js +83 -0
- package/dist/src/capabilities/identity/identity.js.map +1 -0
- package/dist/src/capabilities/identity/types.d.ts +110 -0
- package/dist/src/capabilities/identity/types.js +2 -0
- package/dist/src/capabilities/identity/types.js.map +1 -0
- package/dist/src/capabilities/mailbox/mailbox.d.ts +91 -0
- package/dist/src/capabilities/mailbox/mailbox.js +103 -0
- package/dist/src/capabilities/mailbox/mailbox.js.map +1 -0
- package/dist/src/capabilities/mailbox/types.d.ts +248 -0
- package/dist/src/capabilities/mailbox/types.js +2 -0
- package/dist/src/capabilities/mailbox/types.js.map +1 -0
- package/dist/src/capabilities/maskedemail/maskedemail.d.ts +60 -0
- package/dist/src/capabilities/maskedemail/maskedemail.js +72 -0
- package/dist/src/capabilities/maskedemail/maskedemail.js.map +1 -0
- package/dist/src/capabilities/maskedemail/types.d.ts +67 -0
- package/dist/src/capabilities/maskedemail/types.js +4 -0
- package/dist/src/capabilities/maskedemail/types.js.map +1 -0
- package/dist/src/capabilities/maskedemail-capability.d.ts +112 -0
- package/dist/src/capabilities/maskedemail-capability.js +166 -0
- package/dist/src/capabilities/maskedemail-capability.js.map +1 -0
- package/dist/src/capabilities/searchsnippet/searchsnippet.d.ts +51 -0
- package/dist/src/capabilities/searchsnippet/searchsnippet.js +63 -0
- package/dist/src/capabilities/searchsnippet/searchsnippet.js.map +1 -0
- package/dist/src/capabilities/searchsnippet/types.d.ts +88 -0
- package/dist/src/capabilities/searchsnippet/types.js +2 -0
- package/dist/src/capabilities/searchsnippet/types.js.map +1 -0
- package/dist/src/capabilities/submission-capability.d.ts +89 -0
- package/dist/src/capabilities/submission-capability.js +75 -0
- package/dist/src/capabilities/submission-capability.js.map +1 -0
- package/dist/src/capabilities/thread/thread.d.ts +58 -0
- package/dist/src/capabilities/thread/thread.js +70 -0
- package/dist/src/capabilities/thread/thread.js.map +1 -0
- package/dist/src/capabilities/thread/types.d.ts +43 -0
- package/dist/src/capabilities/thread/types.js +2 -0
- package/dist/src/capabilities/thread/types.js.map +1 -0
- package/dist/src/capabilities/utils/assert-invocation-datatype.d.ts +7 -0
- package/dist/src/capabilities/utils/assert-invocation-datatype.js +13 -0
- package/dist/src/capabilities/utils/assert-invocation-datatype.js.map +1 -0
- package/dist/src/capabilities/utils/assert-invocation-method.d.ts +7 -0
- package/dist/src/capabilities/utils/assert-invocation-method.js +13 -0
- package/dist/src/capabilities/utils/assert-invocation-method.js.map +1 -0
- package/dist/src/capabilities/utils/assert-invocation.d.ts +7 -0
- package/dist/src/capabilities/utils/assert-invocation.js +22 -0
- package/dist/src/capabilities/utils/assert-invocation.js.map +1 -0
- package/dist/src/capabilities/utils/assert-non-nullish.d.ts +1 -0
- package/dist/src/capabilities/utils/assert-non-nullish.js +6 -0
- package/dist/src/capabilities/utils/assert-non-nullish.js.map +1 -0
- package/dist/src/capabilities/utils/create-readonly-account-validator.d.ts +49 -0
- package/dist/src/capabilities/utils/create-readonly-account-validator.js +80 -0
- package/dist/src/capabilities/utils/create-readonly-account-validator.js.map +1 -0
- package/dist/src/capabilities/vacationresponse/types.d.ts +100 -0
- package/dist/src/capabilities/vacationresponse/types.js +2 -0
- package/dist/src/capabilities/vacationresponse/types.js.map +1 -0
- package/dist/src/capabilities/vacationresponse/vacationresponse.d.ts +61 -0
- package/dist/src/capabilities/vacationresponse/vacationresponse.js +73 -0
- package/dist/src/capabilities/vacationresponse/vacationresponse.js.map +1 -0
- package/dist/src/capabilities/vacationresponse-capability.d.ts +65 -0
- package/dist/src/capabilities/vacationresponse-capability.js +68 -0
- package/dist/src/capabilities/vacationresponse-capability.js.map +1 -0
- package/dist/src/capability-registry/capability-registry.d.ts +148 -0
- package/dist/src/capability-registry/capability-registry.js +360 -0
- package/dist/src/capability-registry/capability-registry.js.map +1 -0
- package/dist/src/capability-registry/types.d.ts +385 -0
- package/dist/src/capability-registry/types.js +2 -0
- package/dist/src/capability-registry/types.js.map +1 -0
- package/dist/src/capability-registry/utils.d.ts +71 -0
- package/dist/src/capability-registry/utils.js +163 -0
- package/dist/src/capability-registry/utils.js.map +1 -0
- package/dist/src/common/registry.d.ts +366 -0
- package/dist/src/common/registry.js +321 -0
- package/dist/src/common/registry.js.map +1 -0
- package/dist/src/common/types.d.ts +338 -0
- package/dist/src/common/types.js +21 -0
- package/dist/src/common/types.js.map +1 -0
- package/dist/src/common/utils.d.ts +20 -0
- package/dist/src/common/utils.js +26 -0
- package/dist/src/common/utils.js.map +1 -0
- package/dist/src/index.d.ts +40 -0
- package/dist/src/index.js +33 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/invocation/arguments-proxy.d.ts +14 -0
- package/dist/src/invocation/arguments-proxy.js +37 -0
- package/dist/src/invocation/arguments-proxy.js.map +1 -0
- package/dist/src/invocation/error-invocation.d.ts +27 -0
- package/dist/src/invocation/error-invocation.js +39 -0
- package/dist/src/invocation/error-invocation.js.map +1 -0
- package/dist/src/invocation/invocation.d.ts +111 -0
- package/dist/src/invocation/invocation.js +158 -0
- package/dist/src/invocation/invocation.js.map +1 -0
- package/dist/src/invocation/result-reference.d.ts +86 -0
- package/dist/src/invocation/result-reference.js +118 -0
- package/dist/src/invocation/result-reference.js.map +1 -0
- package/dist/src/invocation/types.d.ts +637 -0
- package/dist/src/invocation/types.js +2 -0
- package/dist/src/invocation/types.js.map +1 -0
- package/dist/src/invocation/utils.d.ts +21 -0
- package/dist/src/invocation/utils.js +30 -0
- package/dist/src/invocation/utils.js.map +1 -0
- package/dist/src/invocation-factory/invocation-factory-manager.d.ts +20 -0
- package/dist/src/invocation-factory/invocation-factory-manager.js +50 -0
- package/dist/src/invocation-factory/invocation-factory-manager.js.map +1 -0
- package/dist/src/invocation-factory/invocation-list.d.ts +32 -0
- package/dist/src/invocation-factory/invocation-list.js +77 -0
- package/dist/src/invocation-factory/invocation-list.js.map +1 -0
- package/dist/src/invocation-factory/types.d.ts +11 -0
- package/dist/src/invocation-factory/types.js +2 -0
- package/dist/src/invocation-factory/types.js.map +1 -0
- package/dist/src/jmap-client/jmap-client.d.ts +252 -0
- package/dist/src/jmap-client/jmap-client.js +777 -0
- package/dist/src/jmap-client/jmap-client.js.map +1 -0
- package/dist/src/jmap-client/types.d.ts +427 -0
- package/dist/src/jmap-client/types.js +21 -0
- package/dist/src/jmap-client/types.js.map +1 -0
- package/dist/src/jmap-client/utils/abort-controller.d.ts +8 -0
- package/dist/src/jmap-client/utils/abort-controller.js +24 -0
- package/dist/src/jmap-client/utils/abort-controller.js.map +1 -0
- package/dist/src/jmap-client/utils/assert-connected.d.ts +7 -0
- package/dist/src/jmap-client/utils/assert-connected.js +11 -0
- package/dist/src/jmap-client/utils/assert-connected.js.map +1 -0
- package/dist/src/jmap-client/utils/deep-freeze.d.ts +7 -0
- package/dist/src/jmap-client/utils/deep-freeze.js +17 -0
- package/dist/src/jmap-client/utils/deep-freeze.js.map +1 -0
- package/dist/src/jmap-client/utils/emitter.d.ts +9 -0
- package/dist/src/jmap-client/utils/emitter.js +18 -0
- package/dist/src/jmap-client/utils/emitter.js.map +1 -0
- package/dist/src/jmap-client/utils/filter-session-capabilities.d.ts +22 -0
- package/dist/src/jmap-client/utils/filter-session-capabilities.js +40 -0
- package/dist/src/jmap-client/utils/filter-session-capabilities.js.map +1 -0
- package/dist/src/jmap-client/utils/jmap-request-error.d.ts +28 -0
- package/dist/src/jmap-client/utils/jmap-request-error.js +48 -0
- package/dist/src/jmap-client/utils/jmap-request-error.js.map +1 -0
- package/dist/src/jmap-client/utils/logger.d.ts +6 -0
- package/dist/src/jmap-client/utils/logger.js +22 -0
- package/dist/src/jmap-client/utils/logger.js.map +1 -0
- package/dist/src/jmap-client/utils/merge-headers.d.ts +11 -0
- package/dist/src/jmap-client/utils/merge-headers.js +40 -0
- package/dist/src/jmap-client/utils/merge-headers.js.map +1 -0
- package/dist/src/jmap-client/utils/template-utils.d.ts +27 -0
- package/dist/src/jmap-client/utils/template-utils.js +61 -0
- package/dist/src/jmap-client/utils/template-utils.js.map +1 -0
- package/dist/src/jmap-client/utils/track-utils.d.ts +19 -0
- package/dist/src/jmap-client/utils/track-utils.js +35 -0
- package/dist/src/jmap-client/utils/track-utils.js.map +1 -0
- package/dist/src/jmap-client/utils/transport.d.ts +12 -0
- package/dist/src/jmap-client/utils/transport.js +38 -0
- package/dist/src/jmap-client/utils/transport.js.map +1 -0
- package/dist/src/jmap-client/utils/validate-session.d.ts +19 -0
- package/dist/src/jmap-client/utils/validate-session.js +29 -0
- package/dist/src/jmap-client/utils/validate-session.js.map +1 -0
- package/dist/src/request-builder/request-builder.d.ts +95 -0
- package/dist/src/request-builder/request-builder.js +343 -0
- package/dist/src/request-builder/request-builder.js.map +1 -0
- package/dist/src/request-builder/types.d.ts +32 -0
- package/dist/src/request-builder/types.js +2 -0
- package/dist/src/request-builder/types.js.map +1 -0
- package/package.json +69 -3
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { JMAPCapability, JMAPMethodName } from "../../common/types.js";
|
|
2
|
+
import { Invocation } from "../../invocation/invocation.js";
|
|
3
|
+
import type { InvocationArgs, InvocationFactory } from "../../invocation/types.js";
|
|
4
|
+
import type { EmailCopyRequestInvocationArgs, EmailCopyResponseInvocationArgs, EmailGetRequestInvocationArgs, EmailGetResponseInvocationArgs, EmailImportRequestInvocationArgs, EmailImportResponseInvocationArgs, EmailParseRequestInvocationArgs, EmailParseResponseInvocationArgs, EmailQueryChangesRequestInvocationArgs, EmailQueryRequestInvocationArgs, EmailRequestInvocationArgs, EmailResponseInvocationArgs, EmailSetRequestInvocationArgs, EmailSetResponseInvocationArgs } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* EmailInvocation represents a JMAP Email capability invocation.
|
|
7
|
+
*
|
|
8
|
+
* The Email data type represents email messages as defined in RFC 8621. It supports standard
|
|
9
|
+
* JMAP methods for retrieving, querying, copying, modifying, importing, and parsing email messages.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4 | RFC 8621 Section 4: Emails}
|
|
12
|
+
*/
|
|
13
|
+
export declare class EmailInvocation<TArgs extends EmailRequestInvocationArgs> extends Invocation<TArgs> {
|
|
14
|
+
get uri(): JMAPCapability;
|
|
15
|
+
/**
|
|
16
|
+
* Constructs an EmailInvocation
|
|
17
|
+
*
|
|
18
|
+
* @param method The name of the method being invoked (e.g., "get", "set", "query")
|
|
19
|
+
* @param args The arguments for the method invocation
|
|
20
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
21
|
+
*/
|
|
22
|
+
constructor(method: JMAPMethodName, args: InvocationArgs<TArgs>, methodCallId?: symbol);
|
|
23
|
+
/**
|
|
24
|
+
* Create an invocation factory function
|
|
25
|
+
*
|
|
26
|
+
* @param method The name of the method to create
|
|
27
|
+
* @returns A new Email invocation factory function for creating invocations of the specified type
|
|
28
|
+
*/
|
|
29
|
+
static createInvocationFactory<TArgs extends EmailRequestInvocationArgs | EmailResponseInvocationArgs>(method: JMAPMethodName): InvocationFactory<TArgs, EmailInvocation<TArgs>>;
|
|
30
|
+
}
|
|
31
|
+
export declare const Email: {
|
|
32
|
+
request: {
|
|
33
|
+
/**
|
|
34
|
+
* Retrieves Email objects by their IDs.
|
|
35
|
+
*
|
|
36
|
+
* @param args The invocation arguments for Email/get
|
|
37
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
38
|
+
* @returns An EmailInvocation representing the Email/get request
|
|
39
|
+
*
|
|
40
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.2 | RFC 8621 Section 4.2: Email/get}
|
|
41
|
+
*/
|
|
42
|
+
get: InvocationFactory<EmailGetRequestInvocationArgs, EmailInvocation<EmailGetRequestInvocationArgs>>;
|
|
43
|
+
/**
|
|
44
|
+
* Returns changes to Email objects since a given state.
|
|
45
|
+
*
|
|
46
|
+
* @param args The invocation arguments for Email/changes
|
|
47
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
48
|
+
* @returns An EmailInvocation representing the Email/changes request
|
|
49
|
+
*
|
|
50
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.3 | RFC 8621 Section 4.3: Email/changes}
|
|
51
|
+
*/
|
|
52
|
+
changes: InvocationFactory<import("../../invocation/types.js").BaseChangesRequestInvocationArgs, EmailInvocation<import("../../invocation/types.js").BaseChangesRequestInvocationArgs>>;
|
|
53
|
+
/**
|
|
54
|
+
* Queries for Email objects matching specified criteria.
|
|
55
|
+
*
|
|
56
|
+
* @param args The invocation arguments for Email/query
|
|
57
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
58
|
+
* @returns An EmailInvocation representing the Email/query request
|
|
59
|
+
*
|
|
60
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.4 | RFC 8621 Section 4.4: Email/query}
|
|
61
|
+
*/
|
|
62
|
+
query: InvocationFactory<EmailQueryRequestInvocationArgs, EmailInvocation<EmailQueryRequestInvocationArgs>>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns changes to a query result since a given state.
|
|
65
|
+
*
|
|
66
|
+
* @param args The invocation arguments for Email/queryChanges
|
|
67
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
68
|
+
* @returns An EmailInvocation representing the Email/queryChanges request
|
|
69
|
+
*
|
|
70
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.5 | RFC 8621 Section 4.5: Email/queryChanges}
|
|
71
|
+
*/
|
|
72
|
+
queryChanges: InvocationFactory<EmailQueryChangesRequestInvocationArgs, EmailInvocation<EmailQueryChangesRequestInvocationArgs>>;
|
|
73
|
+
/**
|
|
74
|
+
* Copies Email objects from one account to another.
|
|
75
|
+
*
|
|
76
|
+
* @param args The invocation arguments for Email/copy
|
|
77
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
78
|
+
* @returns An EmailInvocation representing the Email/copy request
|
|
79
|
+
*
|
|
80
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.7 | RFC 8621 Section 4.7: Email/copy}
|
|
81
|
+
*/
|
|
82
|
+
copy: InvocationFactory<EmailCopyRequestInvocationArgs, EmailInvocation<EmailCopyRequestInvocationArgs>>;
|
|
83
|
+
/**
|
|
84
|
+
* Creates, updates, or destroys Email objects.
|
|
85
|
+
*
|
|
86
|
+
* @param args The invocation arguments for Email/set
|
|
87
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
88
|
+
* @returns An EmailInvocation representing the Email/set request
|
|
89
|
+
*
|
|
90
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.6 | RFC 8621 Section 4.6: Email/set}
|
|
91
|
+
*/
|
|
92
|
+
set: InvocationFactory<EmailSetRequestInvocationArgs, EmailInvocation<EmailSetRequestInvocationArgs>>;
|
|
93
|
+
/**
|
|
94
|
+
* Imports email messages from raw RFC 5322 message data.
|
|
95
|
+
*
|
|
96
|
+
* @param args The invocation arguments for Email/import
|
|
97
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
98
|
+
* @returns An EmailInvocation representing the Email/import request
|
|
99
|
+
*
|
|
100
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.8 | RFC 8621 Section 4.8: Email/import}
|
|
101
|
+
*/
|
|
102
|
+
import: InvocationFactory<EmailImportRequestInvocationArgs, EmailInvocation<EmailImportRequestInvocationArgs>>;
|
|
103
|
+
/**
|
|
104
|
+
* Parses email messages to extract structured information without importing them.
|
|
105
|
+
*
|
|
106
|
+
* @param args The invocation arguments for Email/parse
|
|
107
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
108
|
+
* @returns An EmailInvocation representing the Email/parse request
|
|
109
|
+
*
|
|
110
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.9 | RFC 8621 Section 4.9: Email/parse}
|
|
111
|
+
*/
|
|
112
|
+
parse: InvocationFactory<EmailParseRequestInvocationArgs, EmailInvocation<EmailParseRequestInvocationArgs>>;
|
|
113
|
+
};
|
|
114
|
+
response: {
|
|
115
|
+
get: InvocationFactory<EmailGetResponseInvocationArgs, EmailInvocation<EmailGetResponseInvocationArgs>>;
|
|
116
|
+
changes: InvocationFactory<import("../../invocation/types.js").BaseChangesResponseInvocationArgs, EmailInvocation<import("../../invocation/types.js").BaseChangesResponseInvocationArgs>>;
|
|
117
|
+
query: InvocationFactory<import("../../invocation/types.js").BaseQueryResponseInvocationArgs, EmailInvocation<import("../../invocation/types.js").BaseQueryResponseInvocationArgs>>;
|
|
118
|
+
queryChanges: InvocationFactory<import("../../invocation/types.js").BaseQueryChangesResponseInvocationArgs, EmailInvocation<import("../../invocation/types.js").BaseQueryChangesResponseInvocationArgs>>;
|
|
119
|
+
copy: InvocationFactory<EmailCopyResponseInvocationArgs, EmailInvocation<EmailCopyResponseInvocationArgs>>;
|
|
120
|
+
set: InvocationFactory<EmailSetResponseInvocationArgs, EmailInvocation<EmailSetResponseInvocationArgs>>;
|
|
121
|
+
import: InvocationFactory<EmailImportResponseInvocationArgs, EmailInvocation<EmailImportResponseInvocationArgs>>;
|
|
122
|
+
parse: InvocationFactory<EmailParseResponseInvocationArgs, EmailInvocation<EmailParseResponseInvocationArgs>>;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { EMAIL_CAPABILITY_URI } from "../../common/registry.js";
|
|
2
|
+
import { Invocation } from "../../invocation/invocation.js";
|
|
3
|
+
/**
|
|
4
|
+
* EmailInvocation represents a JMAP Email capability invocation.
|
|
5
|
+
*
|
|
6
|
+
* The Email data type represents email messages as defined in RFC 8621. It supports standard
|
|
7
|
+
* JMAP methods for retrieving, querying, copying, modifying, importing, and parsing email messages.
|
|
8
|
+
*
|
|
9
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4 | RFC 8621 Section 4: Emails}
|
|
10
|
+
*/
|
|
11
|
+
export class EmailInvocation extends Invocation {
|
|
12
|
+
get uri() {
|
|
13
|
+
return EMAIL_CAPABILITY_URI;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Constructs an EmailInvocation
|
|
17
|
+
*
|
|
18
|
+
* @param method The name of the method being invoked (e.g., "get", "set", "query")
|
|
19
|
+
* @param args The arguments for the method invocation
|
|
20
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
21
|
+
*/
|
|
22
|
+
constructor(method, args, methodCallId) {
|
|
23
|
+
super("Email", method, args, methodCallId);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create an invocation factory function
|
|
27
|
+
*
|
|
28
|
+
* @param method The name of the method to create
|
|
29
|
+
* @returns A new Email invocation factory function for creating invocations of the specified type
|
|
30
|
+
*/
|
|
31
|
+
static createInvocationFactory(method) {
|
|
32
|
+
/**
|
|
33
|
+
* An invocation factory function to create a `Email/*` invocation for the specified `method`
|
|
34
|
+
*
|
|
35
|
+
* @param args The invocation arguments for the specified `method`
|
|
36
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
37
|
+
* @returns An object representing the named arguments for the specified `method`
|
|
38
|
+
*/
|
|
39
|
+
return (args, methodCallId) => new EmailInvocation(method, args, methodCallId);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export const Email = {
|
|
43
|
+
request: {
|
|
44
|
+
/**
|
|
45
|
+
* Retrieves Email objects by their IDs.
|
|
46
|
+
*
|
|
47
|
+
* @param args The invocation arguments for Email/get
|
|
48
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
49
|
+
* @returns An EmailInvocation representing the Email/get request
|
|
50
|
+
*
|
|
51
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.2 | RFC 8621 Section 4.2: Email/get}
|
|
52
|
+
*/
|
|
53
|
+
get: EmailInvocation.createInvocationFactory("get"),
|
|
54
|
+
/**
|
|
55
|
+
* Returns changes to Email objects since a given state.
|
|
56
|
+
*
|
|
57
|
+
* @param args The invocation arguments for Email/changes
|
|
58
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
59
|
+
* @returns An EmailInvocation representing the Email/changes request
|
|
60
|
+
*
|
|
61
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.3 | RFC 8621 Section 4.3: Email/changes}
|
|
62
|
+
*/
|
|
63
|
+
changes: EmailInvocation.createInvocationFactory("changes"),
|
|
64
|
+
/**
|
|
65
|
+
* Queries for Email objects matching specified criteria.
|
|
66
|
+
*
|
|
67
|
+
* @param args The invocation arguments for Email/query
|
|
68
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
69
|
+
* @returns An EmailInvocation representing the Email/query request
|
|
70
|
+
*
|
|
71
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.4 | RFC 8621 Section 4.4: Email/query}
|
|
72
|
+
*/
|
|
73
|
+
query: EmailInvocation.createInvocationFactory("query"),
|
|
74
|
+
/**
|
|
75
|
+
* Returns changes to a query result since a given state.
|
|
76
|
+
*
|
|
77
|
+
* @param args The invocation arguments for Email/queryChanges
|
|
78
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
79
|
+
* @returns An EmailInvocation representing the Email/queryChanges request
|
|
80
|
+
*
|
|
81
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.5 | RFC 8621 Section 4.5: Email/queryChanges}
|
|
82
|
+
*/
|
|
83
|
+
queryChanges: EmailInvocation.createInvocationFactory("queryChanges"),
|
|
84
|
+
/**
|
|
85
|
+
* Copies Email objects from one account to another.
|
|
86
|
+
*
|
|
87
|
+
* @param args The invocation arguments for Email/copy
|
|
88
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
89
|
+
* @returns An EmailInvocation representing the Email/copy request
|
|
90
|
+
*
|
|
91
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.7 | RFC 8621 Section 4.7: Email/copy}
|
|
92
|
+
*/
|
|
93
|
+
copy: EmailInvocation.createInvocationFactory("copy"),
|
|
94
|
+
/**
|
|
95
|
+
* Creates, updates, or destroys Email objects.
|
|
96
|
+
*
|
|
97
|
+
* @param args The invocation arguments for Email/set
|
|
98
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
99
|
+
* @returns An EmailInvocation representing the Email/set request
|
|
100
|
+
*
|
|
101
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.6 | RFC 8621 Section 4.6: Email/set}
|
|
102
|
+
*/
|
|
103
|
+
set: EmailInvocation.createInvocationFactory("set"),
|
|
104
|
+
/**
|
|
105
|
+
* Imports email messages from raw RFC 5322 message data.
|
|
106
|
+
*
|
|
107
|
+
* @param args The invocation arguments for Email/import
|
|
108
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
109
|
+
* @returns An EmailInvocation representing the Email/import request
|
|
110
|
+
*
|
|
111
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.8 | RFC 8621 Section 4.8: Email/import}
|
|
112
|
+
*/
|
|
113
|
+
import: EmailInvocation.createInvocationFactory("import"),
|
|
114
|
+
/**
|
|
115
|
+
* Parses email messages to extract structured information without importing them.
|
|
116
|
+
*
|
|
117
|
+
* @param args The invocation arguments for Email/parse
|
|
118
|
+
* @param methodCallId An optional unique symbol to identify this method call for result referencing
|
|
119
|
+
* @returns An EmailInvocation representing the Email/parse request
|
|
120
|
+
*
|
|
121
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc8621.html#section-4.9 | RFC 8621 Section 4.9: Email/parse}
|
|
122
|
+
*/
|
|
123
|
+
parse: EmailInvocation.createInvocationFactory("parse"),
|
|
124
|
+
},
|
|
125
|
+
response: {
|
|
126
|
+
get: EmailInvocation.createInvocationFactory("get"),
|
|
127
|
+
changes: EmailInvocation.createInvocationFactory("changes"),
|
|
128
|
+
query: EmailInvocation.createInvocationFactory("query"),
|
|
129
|
+
queryChanges: EmailInvocation.createInvocationFactory("queryChanges"),
|
|
130
|
+
copy: EmailInvocation.createInvocationFactory("copy"),
|
|
131
|
+
set: EmailInvocation.createInvocationFactory("set"),
|
|
132
|
+
import: EmailInvocation.createInvocationFactory("import"),
|
|
133
|
+
parse: EmailInvocation.createInvocationFactory("parse"),
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/capabilities/email/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAuB5D;;;;;;;GAOG;AACH,MAAM,OAAO,eAA0D,SAAQ,UAAiB;IAC5F,IAAI,GAAG;QACH,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,MAAsB,EAAE,IAA2B,EAAE,YAAqB;QAClF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAC1B,MAAsB;QAEtB;;;;;;WAMG;QACH,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,eAAe,CAAQ,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1F,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,OAAO,EAAE;QACL;;;;;;;;WAQG;QACH,GAAG,EAAE,eAAe,CAAC,uBAAuB,CAAgC,KAAK,CAAC;QAClF;;;;;;;;WAQG;QACH,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAoC,SAAS,CAAC;QAC9F;;;;;;;;WAQG;QACH,KAAK,EAAE,eAAe,CAAC,uBAAuB,CAAkC,OAAO,CAAC;QACxF;;;;;;;;WAQG;QACH,YAAY,EAAE,eAAe,CAAC,uBAAuB,CAAyC,cAAc,CAAC;QAC7G;;;;;;;;WAQG;QACH,IAAI,EAAE,eAAe,CAAC,uBAAuB,CAAiC,MAAM,CAAC;QACrF;;;;;;;;WAQG;QACH,GAAG,EAAE,eAAe,CAAC,uBAAuB,CAAgC,KAAK,CAAC;QAClF;;;;;;;;WAQG;QACH,MAAM,EAAE,eAAe,CAAC,uBAAuB,CAAmC,QAAQ,CAAC;QAC3F;;;;;;;;WAQG;QACH,KAAK,EAAE,eAAe,CAAC,uBAAuB,CAAkC,OAAO,CAAC;KAC3F;IACD,QAAQ,EAAE;QACN,GAAG,EAAE,eAAe,CAAC,uBAAuB,CAAiC,KAAK,CAAC;QACnF,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAqC,SAAS,CAAC;QAC/F,KAAK,EAAE,eAAe,CAAC,uBAAuB,CAAmC,OAAO,CAAC;QACzF,YAAY,EAAE,eAAe,CAAC,uBAAuB,CAA0C,cAAc,CAAC;QAC9G,IAAI,EAAE,eAAe,CAAC,uBAAuB,CAAkC,MAAM,CAAC;QACtF,GAAG,EAAE,eAAe,CAAC,uBAAuB,CAAiC,KAAK,CAAC;QACnF,MAAM,EAAE,eAAe,CAAC,uBAAuB,CAAoC,QAAQ,CAAC;QAC5F,KAAK,EAAE,eAAe,CAAC,uBAAuB,CAAmC,OAAO,CAAC;KAC5F;CACkC,CAAC"}
|