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.
Files changed (198) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -3
  3. package/dist/src/capabilities/blob/blob.d.ts +83 -0
  4. package/dist/src/capabilities/blob/blob.js +98 -0
  5. package/dist/src/capabilities/blob/blob.js.map +1 -0
  6. package/dist/src/capabilities/blob/types.d.ts +212 -0
  7. package/dist/src/capabilities/blob/types.js +16 -0
  8. package/dist/src/capabilities/blob/types.js.map +1 -0
  9. package/dist/src/capabilities/blob-capability.d.ts +195 -0
  10. package/dist/src/capabilities/blob-capability.js +277 -0
  11. package/dist/src/capabilities/blob-capability.js.map +1 -0
  12. package/dist/src/capabilities/core/core.d.ts +47 -0
  13. package/dist/src/capabilities/core/core.js +59 -0
  14. package/dist/src/capabilities/core/core.js.map +1 -0
  15. package/dist/src/capabilities/core/types.d.ts +13 -0
  16. package/dist/src/capabilities/core/types.js +2 -0
  17. package/dist/src/capabilities/core/types.js.map +1 -0
  18. package/dist/src/capabilities/core-capability.d.ts +307 -0
  19. package/dist/src/capabilities/core-capability.js +344 -0
  20. package/dist/src/capabilities/core-capability.js.map +1 -0
  21. package/dist/src/capabilities/email/email.d.ts +124 -0
  22. package/dist/src/capabilities/email/email.js +136 -0
  23. package/dist/src/capabilities/email/email.js.map +1 -0
  24. package/dist/src/capabilities/email/types.d.ts +776 -0
  25. package/dist/src/capabilities/email/types.js +2 -0
  26. package/dist/src/capabilities/email/types.js.map +1 -0
  27. package/dist/src/capabilities/email-capability.d.ts +266 -0
  28. package/dist/src/capabilities/email-capability.js +241 -0
  29. package/dist/src/capabilities/email-capability.js.map +1 -0
  30. package/dist/src/capabilities/emailsubmission/emailsubmission.d.ts +95 -0
  31. package/dist/src/capabilities/emailsubmission/emailsubmission.js +107 -0
  32. package/dist/src/capabilities/emailsubmission/emailsubmission.js.map +1 -0
  33. package/dist/src/capabilities/emailsubmission/types.d.ts +256 -0
  34. package/dist/src/capabilities/emailsubmission/types.js +2 -0
  35. package/dist/src/capabilities/emailsubmission/types.js.map +1 -0
  36. package/dist/src/capabilities/example/example.d.ts +80 -0
  37. package/dist/src/capabilities/example/example.js +91 -0
  38. package/dist/src/capabilities/example/example.js.map +1 -0
  39. package/dist/src/capabilities/example/types.d.ts +33 -0
  40. package/dist/src/capabilities/example/types.js +2 -0
  41. package/dist/src/capabilities/example/types.js.map +1 -0
  42. package/dist/src/capabilities/identity/identity.d.ts +71 -0
  43. package/dist/src/capabilities/identity/identity.js +83 -0
  44. package/dist/src/capabilities/identity/identity.js.map +1 -0
  45. package/dist/src/capabilities/identity/types.d.ts +110 -0
  46. package/dist/src/capabilities/identity/types.js +2 -0
  47. package/dist/src/capabilities/identity/types.js.map +1 -0
  48. package/dist/src/capabilities/mailbox/mailbox.d.ts +91 -0
  49. package/dist/src/capabilities/mailbox/mailbox.js +103 -0
  50. package/dist/src/capabilities/mailbox/mailbox.js.map +1 -0
  51. package/dist/src/capabilities/mailbox/types.d.ts +248 -0
  52. package/dist/src/capabilities/mailbox/types.js +2 -0
  53. package/dist/src/capabilities/mailbox/types.js.map +1 -0
  54. package/dist/src/capabilities/maskedemail/maskedemail.d.ts +60 -0
  55. package/dist/src/capabilities/maskedemail/maskedemail.js +72 -0
  56. package/dist/src/capabilities/maskedemail/maskedemail.js.map +1 -0
  57. package/dist/src/capabilities/maskedemail/types.d.ts +67 -0
  58. package/dist/src/capabilities/maskedemail/types.js +4 -0
  59. package/dist/src/capabilities/maskedemail/types.js.map +1 -0
  60. package/dist/src/capabilities/maskedemail-capability.d.ts +112 -0
  61. package/dist/src/capabilities/maskedemail-capability.js +166 -0
  62. package/dist/src/capabilities/maskedemail-capability.js.map +1 -0
  63. package/dist/src/capabilities/searchsnippet/searchsnippet.d.ts +51 -0
  64. package/dist/src/capabilities/searchsnippet/searchsnippet.js +63 -0
  65. package/dist/src/capabilities/searchsnippet/searchsnippet.js.map +1 -0
  66. package/dist/src/capabilities/searchsnippet/types.d.ts +88 -0
  67. package/dist/src/capabilities/searchsnippet/types.js +2 -0
  68. package/dist/src/capabilities/searchsnippet/types.js.map +1 -0
  69. package/dist/src/capabilities/submission-capability.d.ts +89 -0
  70. package/dist/src/capabilities/submission-capability.js +75 -0
  71. package/dist/src/capabilities/submission-capability.js.map +1 -0
  72. package/dist/src/capabilities/thread/thread.d.ts +58 -0
  73. package/dist/src/capabilities/thread/thread.js +70 -0
  74. package/dist/src/capabilities/thread/thread.js.map +1 -0
  75. package/dist/src/capabilities/thread/types.d.ts +43 -0
  76. package/dist/src/capabilities/thread/types.js +2 -0
  77. package/dist/src/capabilities/thread/types.js.map +1 -0
  78. package/dist/src/capabilities/utils/assert-invocation-datatype.d.ts +7 -0
  79. package/dist/src/capabilities/utils/assert-invocation-datatype.js +13 -0
  80. package/dist/src/capabilities/utils/assert-invocation-datatype.js.map +1 -0
  81. package/dist/src/capabilities/utils/assert-invocation-method.d.ts +7 -0
  82. package/dist/src/capabilities/utils/assert-invocation-method.js +13 -0
  83. package/dist/src/capabilities/utils/assert-invocation-method.js.map +1 -0
  84. package/dist/src/capabilities/utils/assert-invocation.d.ts +7 -0
  85. package/dist/src/capabilities/utils/assert-invocation.js +22 -0
  86. package/dist/src/capabilities/utils/assert-invocation.js.map +1 -0
  87. package/dist/src/capabilities/utils/assert-non-nullish.d.ts +1 -0
  88. package/dist/src/capabilities/utils/assert-non-nullish.js +6 -0
  89. package/dist/src/capabilities/utils/assert-non-nullish.js.map +1 -0
  90. package/dist/src/capabilities/utils/create-readonly-account-validator.d.ts +49 -0
  91. package/dist/src/capabilities/utils/create-readonly-account-validator.js +80 -0
  92. package/dist/src/capabilities/utils/create-readonly-account-validator.js.map +1 -0
  93. package/dist/src/capabilities/vacationresponse/types.d.ts +100 -0
  94. package/dist/src/capabilities/vacationresponse/types.js +2 -0
  95. package/dist/src/capabilities/vacationresponse/types.js.map +1 -0
  96. package/dist/src/capabilities/vacationresponse/vacationresponse.d.ts +61 -0
  97. package/dist/src/capabilities/vacationresponse/vacationresponse.js +73 -0
  98. package/dist/src/capabilities/vacationresponse/vacationresponse.js.map +1 -0
  99. package/dist/src/capabilities/vacationresponse-capability.d.ts +65 -0
  100. package/dist/src/capabilities/vacationresponse-capability.js +68 -0
  101. package/dist/src/capabilities/vacationresponse-capability.js.map +1 -0
  102. package/dist/src/capability-registry/capability-registry.d.ts +148 -0
  103. package/dist/src/capability-registry/capability-registry.js +360 -0
  104. package/dist/src/capability-registry/capability-registry.js.map +1 -0
  105. package/dist/src/capability-registry/types.d.ts +385 -0
  106. package/dist/src/capability-registry/types.js +2 -0
  107. package/dist/src/capability-registry/types.js.map +1 -0
  108. package/dist/src/capability-registry/utils.d.ts +71 -0
  109. package/dist/src/capability-registry/utils.js +163 -0
  110. package/dist/src/capability-registry/utils.js.map +1 -0
  111. package/dist/src/common/registry.d.ts +366 -0
  112. package/dist/src/common/registry.js +321 -0
  113. package/dist/src/common/registry.js.map +1 -0
  114. package/dist/src/common/types.d.ts +338 -0
  115. package/dist/src/common/types.js +21 -0
  116. package/dist/src/common/types.js.map +1 -0
  117. package/dist/src/common/utils.d.ts +20 -0
  118. package/dist/src/common/utils.js +26 -0
  119. package/dist/src/common/utils.js.map +1 -0
  120. package/dist/src/index.d.ts +40 -0
  121. package/dist/src/index.js +33 -0
  122. package/dist/src/index.js.map +1 -0
  123. package/dist/src/invocation/arguments-proxy.d.ts +14 -0
  124. package/dist/src/invocation/arguments-proxy.js +37 -0
  125. package/dist/src/invocation/arguments-proxy.js.map +1 -0
  126. package/dist/src/invocation/error-invocation.d.ts +27 -0
  127. package/dist/src/invocation/error-invocation.js +39 -0
  128. package/dist/src/invocation/error-invocation.js.map +1 -0
  129. package/dist/src/invocation/invocation.d.ts +111 -0
  130. package/dist/src/invocation/invocation.js +158 -0
  131. package/dist/src/invocation/invocation.js.map +1 -0
  132. package/dist/src/invocation/result-reference.d.ts +86 -0
  133. package/dist/src/invocation/result-reference.js +118 -0
  134. package/dist/src/invocation/result-reference.js.map +1 -0
  135. package/dist/src/invocation/types.d.ts +637 -0
  136. package/dist/src/invocation/types.js +2 -0
  137. package/dist/src/invocation/types.js.map +1 -0
  138. package/dist/src/invocation/utils.d.ts +21 -0
  139. package/dist/src/invocation/utils.js +30 -0
  140. package/dist/src/invocation/utils.js.map +1 -0
  141. package/dist/src/invocation-factory/invocation-factory-manager.d.ts +20 -0
  142. package/dist/src/invocation-factory/invocation-factory-manager.js +50 -0
  143. package/dist/src/invocation-factory/invocation-factory-manager.js.map +1 -0
  144. package/dist/src/invocation-factory/invocation-list.d.ts +32 -0
  145. package/dist/src/invocation-factory/invocation-list.js +77 -0
  146. package/dist/src/invocation-factory/invocation-list.js.map +1 -0
  147. package/dist/src/invocation-factory/types.d.ts +11 -0
  148. package/dist/src/invocation-factory/types.js +2 -0
  149. package/dist/src/invocation-factory/types.js.map +1 -0
  150. package/dist/src/jmap-client/jmap-client.d.ts +252 -0
  151. package/dist/src/jmap-client/jmap-client.js +777 -0
  152. package/dist/src/jmap-client/jmap-client.js.map +1 -0
  153. package/dist/src/jmap-client/types.d.ts +427 -0
  154. package/dist/src/jmap-client/types.js +21 -0
  155. package/dist/src/jmap-client/types.js.map +1 -0
  156. package/dist/src/jmap-client/utils/abort-controller.d.ts +8 -0
  157. package/dist/src/jmap-client/utils/abort-controller.js +24 -0
  158. package/dist/src/jmap-client/utils/abort-controller.js.map +1 -0
  159. package/dist/src/jmap-client/utils/assert-connected.d.ts +7 -0
  160. package/dist/src/jmap-client/utils/assert-connected.js +11 -0
  161. package/dist/src/jmap-client/utils/assert-connected.js.map +1 -0
  162. package/dist/src/jmap-client/utils/deep-freeze.d.ts +7 -0
  163. package/dist/src/jmap-client/utils/deep-freeze.js +17 -0
  164. package/dist/src/jmap-client/utils/deep-freeze.js.map +1 -0
  165. package/dist/src/jmap-client/utils/emitter.d.ts +9 -0
  166. package/dist/src/jmap-client/utils/emitter.js +18 -0
  167. package/dist/src/jmap-client/utils/emitter.js.map +1 -0
  168. package/dist/src/jmap-client/utils/filter-session-capabilities.d.ts +22 -0
  169. package/dist/src/jmap-client/utils/filter-session-capabilities.js +40 -0
  170. package/dist/src/jmap-client/utils/filter-session-capabilities.js.map +1 -0
  171. package/dist/src/jmap-client/utils/jmap-request-error.d.ts +28 -0
  172. package/dist/src/jmap-client/utils/jmap-request-error.js +48 -0
  173. package/dist/src/jmap-client/utils/jmap-request-error.js.map +1 -0
  174. package/dist/src/jmap-client/utils/logger.d.ts +6 -0
  175. package/dist/src/jmap-client/utils/logger.js +22 -0
  176. package/dist/src/jmap-client/utils/logger.js.map +1 -0
  177. package/dist/src/jmap-client/utils/merge-headers.d.ts +11 -0
  178. package/dist/src/jmap-client/utils/merge-headers.js +40 -0
  179. package/dist/src/jmap-client/utils/merge-headers.js.map +1 -0
  180. package/dist/src/jmap-client/utils/template-utils.d.ts +27 -0
  181. package/dist/src/jmap-client/utils/template-utils.js +61 -0
  182. package/dist/src/jmap-client/utils/template-utils.js.map +1 -0
  183. package/dist/src/jmap-client/utils/track-utils.d.ts +19 -0
  184. package/dist/src/jmap-client/utils/track-utils.js +35 -0
  185. package/dist/src/jmap-client/utils/track-utils.js.map +1 -0
  186. package/dist/src/jmap-client/utils/transport.d.ts +12 -0
  187. package/dist/src/jmap-client/utils/transport.js +38 -0
  188. package/dist/src/jmap-client/utils/transport.js.map +1 -0
  189. package/dist/src/jmap-client/utils/validate-session.d.ts +19 -0
  190. package/dist/src/jmap-client/utils/validate-session.js +29 -0
  191. package/dist/src/jmap-client/utils/validate-session.js.map +1 -0
  192. package/dist/src/request-builder/request-builder.d.ts +95 -0
  193. package/dist/src/request-builder/request-builder.js +343 -0
  194. package/dist/src/request-builder/request-builder.js.map +1 -0
  195. package/dist/src/request-builder/types.d.ts +32 -0
  196. package/dist/src/request-builder/types.js +2 -0
  197. package/dist/src/request-builder/types.js.map +1 -0
  198. 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"}