@dbx-tools/shared-email 0.3.43 → 0.4.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/lib/index.d.ts +3 -0
- package/lib/index.js +6 -0
- package/lib/src/email.d.ts +66 -0
- package/lib/src/email.js +86 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -6
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// GENERATED by projen watch - DO NOT EDIT.
|
|
2
|
+
// Regenerated from the exporting modules in ./src.
|
|
3
|
+
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
|
+
export * as email from "./src/email.js";
|
|
5
|
+
export { emailAttachmentSchema, emailMessageSchema, emailResultSchema, emailSendersSchema } from "./src/email.js";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgKiBhcyBlbWFpbCBmcm9tIFwiLi9zcmMvZW1haWxcIjtcbmV4cG9ydCB7IGVtYWlsQXR0YWNobWVudFNjaGVtYSwgZW1haWxNZXNzYWdlU2NoZW1hLCBlbWFpbFJlc3VsdFNjaGVtYSwgZW1haWxTZW5kZXJzU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2VtYWlsXCI7XG5leHBvcnQgdHlwZSB7IEVtYWlsQXR0YWNobWVudCwgRW1haWxNZXNzYWdlLCBFbWFpbFJlc3VsdCwgRW1haWxTZW5kZXJzIH0gZnJvbSBcIi4vc3JjL2VtYWlsXCI7XG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-format contract for the email add-on: the email a model drafts and the
|
|
3
|
+
* result of dispatching it. Pure (zod + inferred types, no Node-only imports)
|
|
4
|
+
* so the server-side sender, the Mastra tool, and the React approval UI all
|
|
5
|
+
* validate / type against one definition.
|
|
6
|
+
*
|
|
7
|
+
* Array fields intentionally avoid `.min()` / `.nonempty()`: those emit
|
|
8
|
+
* `minItems` in the JSON schema, which some Model Serving endpoints reject
|
|
9
|
+
* ("array types do not support minItems") when the schema is forwarded as a
|
|
10
|
+
* tool definition.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
/** Schema for a single file attached to an outbound email. */
|
|
16
|
+
export declare const emailAttachmentSchema: z.ZodObject<{
|
|
17
|
+
filename: z.ZodString;
|
|
18
|
+
content: z.ZodOptional<z.ZodString>;
|
|
19
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
20
|
+
path: z.ZodOptional<z.ZodString>;
|
|
21
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
/** A single file attached to an {@link EmailMessage}. */
|
|
24
|
+
export type EmailAttachment = z.infer<typeof emailAttachmentSchema>;
|
|
25
|
+
/** Schema for the email a model asks to send (the tool input). */
|
|
26
|
+
export declare const emailMessageSchema: z.ZodObject<{
|
|
27
|
+
to: z.ZodArray<z.ZodString>;
|
|
28
|
+
subject: z.ZodString;
|
|
29
|
+
body: z.ZodString;
|
|
30
|
+
cc: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
bcc: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
33
|
+
filename: z.ZodString;
|
|
34
|
+
content: z.ZodOptional<z.ZodString>;
|
|
35
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
36
|
+
path: z.ZodOptional<z.ZodString>;
|
|
37
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>>>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
/** A validated outbound email message. */
|
|
41
|
+
export type EmailMessage = z.infer<typeof emailMessageSchema>;
|
|
42
|
+
/** Schema for the dispatch result returned to the model after a send. */
|
|
43
|
+
export declare const emailResultSchema: z.ZodObject<{
|
|
44
|
+
sent: z.ZodBoolean;
|
|
45
|
+
recipient: z.ZodString;
|
|
46
|
+
from: z.ZodString;
|
|
47
|
+
messageId: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
/** The outcome of dispatching an {@link EmailMessage}. */
|
|
50
|
+
export type EmailResult = z.infer<typeof emailResultSchema>;
|
|
51
|
+
/**
|
|
52
|
+
* Schema for the sender options a UI can offer for the `From` address - the
|
|
53
|
+
* payload of the plugin's `GET /senders` route. When the plugin configures a
|
|
54
|
+
* sender allow-list, `senders` holds the concrete addresses the current user
|
|
55
|
+
* may send as (domain wildcards expanded against the user's local part) and
|
|
56
|
+
* `restricted` is true; a picker should require a choice from the list. When
|
|
57
|
+
* unrestricted, `senders` holds at most the single default address (if one can
|
|
58
|
+
* be resolved) and `restricted` is false, so a UI may allow free entry.
|
|
59
|
+
*/
|
|
60
|
+
export declare const emailSendersSchema: z.ZodObject<{
|
|
61
|
+
senders: z.ZodArray<z.ZodString>;
|
|
62
|
+
defaultSender: z.ZodOptional<z.ZodString>;
|
|
63
|
+
restricted: z.ZodBoolean;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
/** Sender options for a `From` picker (see {@link emailSendersSchema}). */
|
|
66
|
+
export type EmailSenders = z.infer<typeof emailSendersSchema>;
|
package/lib/src/email.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-format contract for the email add-on: the email a model drafts and the
|
|
3
|
+
* result of dispatching it. Pure (zod + inferred types, no Node-only imports)
|
|
4
|
+
* so the server-side sender, the Mastra tool, and the React approval UI all
|
|
5
|
+
* validate / type against one definition.
|
|
6
|
+
*
|
|
7
|
+
* Array fields intentionally avoid `.min()` / `.nonempty()`: those emit
|
|
8
|
+
* `minItems` in the JSON schema, which some Model Serving endpoints reject
|
|
9
|
+
* ("array types do not support minItems") when the schema is forwarded as a
|
|
10
|
+
* tool definition.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
/** Schema for a single file attached to an outbound email. */
|
|
16
|
+
export const emailAttachmentSchema = z.object({
|
|
17
|
+
filename: z.string().describe('File name shown to the recipient (e.g. "report.pdf").'),
|
|
18
|
+
content: z
|
|
19
|
+
.string()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Inline file content as a string. For binary data set `encoding` (e.g. "base64"). Provide this or `path`, not both.'),
|
|
22
|
+
encoding: z
|
|
23
|
+
.string()
|
|
24
|
+
.optional()
|
|
25
|
+
.describe('Encoding of `content` (e.g. "base64", "utf-8", "hex"). Defaults to utf-8 when omitted.'),
|
|
26
|
+
path: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Read the content from here instead of inlining it: a local file path, a data: URI, or an https URL. Provide this or `content`, not both."),
|
|
30
|
+
contentType: z
|
|
31
|
+
.string()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe('MIME type override (e.g. "application/pdf"). Inferred from the filename when omitted.'),
|
|
34
|
+
});
|
|
35
|
+
/** Schema for the email a model asks to send (the tool input). */
|
|
36
|
+
export const emailMessageSchema = z.object({
|
|
37
|
+
to: z
|
|
38
|
+
.array(z.string())
|
|
39
|
+
.describe('One or more recipient email addresses (e.g. ["alice@example.com", "bob@example.com"]). Provide at least one.'),
|
|
40
|
+
subject: z.string().describe("Subject line. Keep it short and specific."),
|
|
41
|
+
body: z
|
|
42
|
+
.string()
|
|
43
|
+
.describe([
|
|
44
|
+
"Email body in GitHub-Flavored Markdown; it is rendered to HTML before sending.",
|
|
45
|
+
"Use real Markdown structure: '#'/'##' headings, '-' or '1.' lists, **bold**/_italic_, '>' blockquotes, and fenced ``` code blocks.",
|
|
46
|
+
"For tabular data, emit a real Markdown table: a header row, then a '| --- | --- |' separator row, then one '| ... |' row per record.",
|
|
47
|
+
"Do NOT format with ASCII art: no '=====' or '-----' divider lines, and never hand-draw tables or bar charts with spaces, pipes, or '#'. Use the Markdown constructs above instead.",
|
|
48
|
+
"Be self-contained: the recipient has none of the chat context.",
|
|
49
|
+
].join(" ")),
|
|
50
|
+
cc: z.array(z.string()).optional().describe("Optional CC recipient addresses (one or more)."),
|
|
51
|
+
bcc: z.array(z.string()).optional().describe("Optional BCC recipient addresses (one or more)."),
|
|
52
|
+
attachments: z
|
|
53
|
+
.array(emailAttachmentSchema)
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Optional file attachments to include with the message."),
|
|
56
|
+
});
|
|
57
|
+
/** Schema for the dispatch result returned to the model after a send. */
|
|
58
|
+
export const emailResultSchema = z.object({
|
|
59
|
+
sent: z.boolean().describe("True once the message was handed to the SMTP server."),
|
|
60
|
+
recipient: z.string().describe("Echo of the `to` recipients (comma-joined) for confirmation."),
|
|
61
|
+
from: z.string().describe("The resolved sender address the message was actually sent from."),
|
|
62
|
+
messageId: z
|
|
63
|
+
.string()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("SMTP message id assigned by the server, when one was returned."),
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Schema for the sender options a UI can offer for the `From` address - the
|
|
69
|
+
* payload of the plugin's `GET /senders` route. When the plugin configures a
|
|
70
|
+
* sender allow-list, `senders` holds the concrete addresses the current user
|
|
71
|
+
* may send as (domain wildcards expanded against the user's local part) and
|
|
72
|
+
* `restricted` is true; a picker should require a choice from the list. When
|
|
73
|
+
* unrestricted, `senders` holds at most the single default address (if one can
|
|
74
|
+
* be resolved) and `restricted` is false, so a UI may allow free entry.
|
|
75
|
+
*/
|
|
76
|
+
export const emailSendersSchema = z.object({
|
|
77
|
+
senders: z.array(z.string()).describe("Permitted sender addresses to offer as `From` choices."),
|
|
78
|
+
defaultSender: z
|
|
79
|
+
.string()
|
|
80
|
+
.optional()
|
|
81
|
+
.describe("The address a send uses by default (first `senders` entry, if any)."),
|
|
82
|
+
restricted: z
|
|
83
|
+
.boolean()
|
|
84
|
+
.describe("True when `senders` is an enforced allow-list rather than a hint."),
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qiw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx1REFBdUQsQ0FBQztJQUN0RixPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCxvSEFBb0gsQ0FDckg7SUFDSCxRQUFRLEVBQUUsQ0FBQztTQUNSLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx3RkFBd0YsQ0FDekY7SUFDSCxJQUFJLEVBQUUsQ0FBQztTQUNKLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCwwSUFBMEksQ0FDM0k7SUFDSCxXQUFXLEVBQUUsQ0FBQztTQUNYLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx1RkFBdUYsQ0FDeEY7Q0FDSixDQUFDLENBQUM7QUFLSCxrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxFQUFFLEVBQUUsQ0FBQztTQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakIsUUFBUSxDQUNQLDhHQUE4RyxDQUMvRztJQUNILE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLDJDQUEyQyxDQUFDO0lBQ3pFLElBQUksRUFBRSxDQUFDO1NBQ0osTUFBTSxFQUFFO1NBQ1IsUUFBUSxDQUNQO1FBQ0UsZ0ZBQWdGO1FBQ2hGLG9JQUFvSTtRQUNwSSxzSUFBc0k7UUFDdEksb0xBQW9MO1FBQ3BMLGdFQUFnRTtLQUNqRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDWjtJQUNILEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnREFBZ0QsQ0FBQztJQUM3RixHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUM7SUFDL0YsV0FBVyxFQUFFLENBQUM7U0FDWCxLQUFLLENBQUMscUJBQXFCLENBQUM7U0FDNUIsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHdEQUF3RCxDQUFDO0NBQ3RFLENBQUMsQ0FBQztBQUtILHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLHNEQUFzRCxDQUFDO0lBQ2xGLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLDhEQUE4RCxDQUFDO0lBQzlGLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGlFQUFpRSxDQUFDO0lBQzVGLFNBQVMsRUFBRSxDQUFDO1NBQ1QsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLGdFQUFnRSxDQUFDO0NBQzlFLENBQUMsQ0FBQztBQUtIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsd0RBQXdELENBQUM7SUFDL0YsYUFBYSxFQUFFLENBQUM7U0FDYixNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixRQUFRLENBQUMscUVBQXFFLENBQUM7SUFDbEYsVUFBVSxFQUFFLENBQUM7U0FDVixPQUFPLEVBQUU7U0FDVCxRQUFRLENBQUMsbUVBQW1FLENBQUM7Q0FDakYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXaXJlLWZvcm1hdCBjb250cmFjdCBmb3IgdGhlIGVtYWlsIGFkZC1vbjogdGhlIGVtYWlsIGEgbW9kZWwgZHJhZnRzIGFuZCB0aGVcbiAqIHJlc3VsdCBvZiBkaXNwYXRjaGluZyBpdC4gUHVyZSAoem9kICsgaW5mZXJyZWQgdHlwZXMsIG5vIE5vZGUtb25seSBpbXBvcnRzKVxuICogc28gdGhlIHNlcnZlci1zaWRlIHNlbmRlciwgdGhlIE1hc3RyYSB0b29sLCBhbmQgdGhlIFJlYWN0IGFwcHJvdmFsIFVJIGFsbFxuICogdmFsaWRhdGUgLyB0eXBlIGFnYWluc3Qgb25lIGRlZmluaXRpb24uXG4gKlxuICogQXJyYXkgZmllbGRzIGludGVudGlvbmFsbHkgYXZvaWQgYC5taW4oKWAgLyBgLm5vbmVtcHR5KClgOiB0aG9zZSBlbWl0XG4gKiBgbWluSXRlbXNgIGluIHRoZSBKU09OIHNjaGVtYSwgd2hpY2ggc29tZSBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50cyByZWplY3RcbiAqIChcImFycmF5IHR5cGVzIGRvIG5vdCBzdXBwb3J0IG1pbkl0ZW1zXCIpIHdoZW4gdGhlIHNjaGVtYSBpcyBmb3J3YXJkZWQgYXMgYVxuICogdG9vbCBkZWZpbml0aW9uLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKiogU2NoZW1hIGZvciBhIHNpbmdsZSBmaWxlIGF0dGFjaGVkIHRvIGFuIG91dGJvdW5kIGVtYWlsLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsQXR0YWNobWVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgZmlsZW5hbWU6IHouc3RyaW5nKCkuZGVzY3JpYmUoJ0ZpbGUgbmFtZSBzaG93biB0byB0aGUgcmVjaXBpZW50IChlLmcuIFwicmVwb3J0LnBkZlwiKS4nKSxcbiAgY29udGVudDogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ0lubGluZSBmaWxlIGNvbnRlbnQgYXMgYSBzdHJpbmcuIEZvciBiaW5hcnkgZGF0YSBzZXQgYGVuY29kaW5nYCAoZS5nLiBcImJhc2U2NFwiKS4gUHJvdmlkZSB0aGlzIG9yIGBwYXRoYCwgbm90IGJvdGguJyxcbiAgICApLFxuICBlbmNvZGluZzogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ0VuY29kaW5nIG9mIGBjb250ZW50YCAoZS5nLiBcImJhc2U2NFwiLCBcInV0Zi04XCIsIFwiaGV4XCIpLiBEZWZhdWx0cyB0byB1dGYtOCB3aGVuIG9taXR0ZWQuJyxcbiAgICApLFxuICBwYXRoOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIlJlYWQgdGhlIGNvbnRlbnQgZnJvbSBoZXJlIGluc3RlYWQgb2YgaW5saW5pbmcgaXQ6IGEgbG9jYWwgZmlsZSBwYXRoLCBhIGRhdGE6IFVSSSwgb3IgYW4gaHR0cHMgVVJMLiBQcm92aWRlIHRoaXMgb3IgYGNvbnRlbnRgLCBub3QgYm90aC5cIixcbiAgICApLFxuICBjb250ZW50VHlwZTogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ01JTUUgdHlwZSBvdmVycmlkZSAoZS5nLiBcImFwcGxpY2F0aW9uL3BkZlwiKS4gSW5mZXJyZWQgZnJvbSB0aGUgZmlsZW5hbWUgd2hlbiBvbWl0dGVkLicsXG4gICAgKSxcbn0pO1xuXG4vKiogQSBzaW5nbGUgZmlsZSBhdHRhY2hlZCB0byBhbiB7QGxpbmsgRW1haWxNZXNzYWdlfS4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsQXR0YWNobWVudCA9IHouaW5mZXI8dHlwZW9mIGVtYWlsQXR0YWNobWVudFNjaGVtYT47XG5cbi8qKiBTY2hlbWEgZm9yIHRoZSBlbWFpbCBhIG1vZGVsIGFza3MgdG8gc2VuZCAodGhlIHRvb2wgaW5wdXQpLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsTWVzc2FnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdG86IHpcbiAgICAuYXJyYXkoei5zdHJpbmcoKSlcbiAgICAuZGVzY3JpYmUoXG4gICAgICAnT25lIG9yIG1vcmUgcmVjaXBpZW50IGVtYWlsIGFkZHJlc3NlcyAoZS5nLiBbXCJhbGljZUBleGFtcGxlLmNvbVwiLCBcImJvYkBleGFtcGxlLmNvbVwiXSkuIFByb3ZpZGUgYXQgbGVhc3Qgb25lLicsXG4gICAgKSxcbiAgc3ViamVjdDogei5zdHJpbmcoKS5kZXNjcmliZShcIlN1YmplY3QgbGluZS4gS2VlcCBpdCBzaG9ydCBhbmQgc3BlY2lmaWMuXCIpLFxuICBib2R5OiB6XG4gICAgLnN0cmluZygpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgW1xuICAgICAgICBcIkVtYWlsIGJvZHkgaW4gR2l0SHViLUZsYXZvcmVkIE1hcmtkb3duOyBpdCBpcyByZW5kZXJlZCB0byBIVE1MIGJlZm9yZSBzZW5kaW5nLlwiLFxuICAgICAgICBcIlVzZSByZWFsIE1hcmtkb3duIHN0cnVjdHVyZTogJyMnLycjIycgaGVhZGluZ3MsICctJyBvciAnMS4nIGxpc3RzLCAqKmJvbGQqKi9faXRhbGljXywgJz4nIGJsb2NrcXVvdGVzLCBhbmQgZmVuY2VkIGBgYCBjb2RlIGJsb2Nrcy5cIixcbiAgICAgICAgXCJGb3IgdGFidWxhciBkYXRhLCBlbWl0IGEgcmVhbCBNYXJrZG93biB0YWJsZTogYSBoZWFkZXIgcm93LCB0aGVuIGEgJ3wgLS0tIHwgLS0tIHwnIHNlcGFyYXRvciByb3csIHRoZW4gb25lICd8IC4uLiB8JyByb3cgcGVyIHJlY29yZC5cIixcbiAgICAgICAgXCJEbyBOT1QgZm9ybWF0IHdpdGggQVNDSUkgYXJ0OiBubyAnPT09PT0nIG9yICctLS0tLScgZGl2aWRlciBsaW5lcywgYW5kIG5ldmVyIGhhbmQtZHJhdyB0YWJsZXMgb3IgYmFyIGNoYXJ0cyB3aXRoIHNwYWNlcywgcGlwZXMsIG9yICcjJy4gVXNlIHRoZSBNYXJrZG93biBjb25zdHJ1Y3RzIGFib3ZlIGluc3RlYWQuXCIsXG4gICAgICAgIFwiQmUgc2VsZi1jb250YWluZWQ6IHRoZSByZWNpcGllbnQgaGFzIG5vbmUgb2YgdGhlIGNoYXQgY29udGV4dC5cIixcbiAgICAgIF0uam9pbihcIiBcIiksXG4gICAgKSxcbiAgY2M6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKS5kZXNjcmliZShcIk9wdGlvbmFsIENDIHJlY2lwaWVudCBhZGRyZXNzZXMgKG9uZSBvciBtb3JlKS5cIiksXG4gIGJjYzogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiT3B0aW9uYWwgQkNDIHJlY2lwaWVudCBhZGRyZXNzZXMgKG9uZSBvciBtb3JlKS5cIiksXG4gIGF0dGFjaG1lbnRzOiB6XG4gICAgLmFycmF5KGVtYWlsQXR0YWNobWVudFNjaGVtYSlcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIk9wdGlvbmFsIGZpbGUgYXR0YWNobWVudHMgdG8gaW5jbHVkZSB3aXRoIHRoZSBtZXNzYWdlLlwiKSxcbn0pO1xuXG4vKiogQSB2YWxpZGF0ZWQgb3V0Ym91bmQgZW1haWwgbWVzc2FnZS4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsTWVzc2FnZSA9IHouaW5mZXI8dHlwZW9mIGVtYWlsTWVzc2FnZVNjaGVtYT47XG5cbi8qKiBTY2hlbWEgZm9yIHRoZSBkaXNwYXRjaCByZXN1bHQgcmV0dXJuZWQgdG8gdGhlIG1vZGVsIGFmdGVyIGEgc2VuZC4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VudDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIG9uY2UgdGhlIG1lc3NhZ2Ugd2FzIGhhbmRlZCB0byB0aGUgU01UUCBzZXJ2ZXIuXCIpLFxuICByZWNpcGllbnQ6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJFY2hvIG9mIHRoZSBgdG9gIHJlY2lwaWVudHMgKGNvbW1hLWpvaW5lZCkgZm9yIGNvbmZpcm1hdGlvbi5cIiksXG4gIGZyb206IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJUaGUgcmVzb2x2ZWQgc2VuZGVyIGFkZHJlc3MgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQgZnJvbS5cIiksXG4gIG1lc3NhZ2VJZDogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiU01UUCBtZXNzYWdlIGlkIGFzc2lnbmVkIGJ5IHRoZSBzZXJ2ZXIsIHdoZW4gb25lIHdhcyByZXR1cm5lZC5cIiksXG59KTtcblxuLyoqIFRoZSBvdXRjb21lIG9mIGRpc3BhdGNoaW5nIGFuIHtAbGluayBFbWFpbE1lc3NhZ2V9LiAqL1xuZXhwb3J0IHR5cGUgRW1haWxSZXN1bHQgPSB6LmluZmVyPHR5cGVvZiBlbWFpbFJlc3VsdFNjaGVtYT47XG5cbi8qKlxuICogU2NoZW1hIGZvciB0aGUgc2VuZGVyIG9wdGlvbnMgYSBVSSBjYW4gb2ZmZXIgZm9yIHRoZSBgRnJvbWAgYWRkcmVzcyAtIHRoZVxuICogcGF5bG9hZCBvZiB0aGUgcGx1Z2luJ3MgYEdFVCAvc2VuZGVyc2Agcm91dGUuIFdoZW4gdGhlIHBsdWdpbiBjb25maWd1cmVzIGFcbiAqIHNlbmRlciBhbGxvdy1saXN0LCBgc2VuZGVyc2AgaG9sZHMgdGhlIGNvbmNyZXRlIGFkZHJlc3NlcyB0aGUgY3VycmVudCB1c2VyXG4gKiBtYXkgc2VuZCBhcyAoZG9tYWluIHdpbGRjYXJkcyBleHBhbmRlZCBhZ2FpbnN0IHRoZSB1c2VyJ3MgbG9jYWwgcGFydCkgYW5kXG4gKiBgcmVzdHJpY3RlZGAgaXMgdHJ1ZTsgYSBwaWNrZXIgc2hvdWxkIHJlcXVpcmUgYSBjaG9pY2UgZnJvbSB0aGUgbGlzdC4gV2hlblxuICogdW5yZXN0cmljdGVkLCBgc2VuZGVyc2AgaG9sZHMgYXQgbW9zdCB0aGUgc2luZ2xlIGRlZmF1bHQgYWRkcmVzcyAoaWYgb25lIGNhblxuICogYmUgcmVzb2x2ZWQpIGFuZCBgcmVzdHJpY3RlZGAgaXMgZmFsc2UsIHNvIGEgVUkgbWF5IGFsbG93IGZyZWUgZW50cnkuXG4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbFNlbmRlcnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNlbmRlcnM6IHouYXJyYXkoei5zdHJpbmcoKSkuZGVzY3JpYmUoXCJQZXJtaXR0ZWQgc2VuZGVyIGFkZHJlc3NlcyB0byBvZmZlciBhcyBgRnJvbWAgY2hvaWNlcy5cIiksXG4gIGRlZmF1bHRTZW5kZXI6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIlRoZSBhZGRyZXNzIGEgc2VuZCB1c2VzIGJ5IGRlZmF1bHQgKGZpcnN0IGBzZW5kZXJzYCBlbnRyeSwgaWYgYW55KS5cIiksXG4gIHJlc3RyaWN0ZWQ6IHpcbiAgICAuYm9vbGVhbigpXG4gICAgLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIGBzZW5kZXJzYCBpcyBhbiBlbmZvcmNlZCBhbGxvdy1saXN0IHJhdGhlciB0aGFuIGEgaGludC5cIiksXG59KTtcblxuLyoqIFNlbmRlciBvcHRpb25zIGZvciBhIGBGcm9tYCBwaWNrZXIgKHNlZSB7QGxpbmsgZW1haWxTZW5kZXJzU2NoZW1hfSkuICovXG5leHBvcnQgdHlwZSBFbWFpbFNlbmRlcnMgPSB6LmluZmVyPHR5cGVvZiBlbWFpbFNlbmRlcnNTY2hlbWE+O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/email.ts","../index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -12,23 +12,27 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"zod": "4.3.6",
|
|
15
|
-
"@dbx-tools/shared-core": "0.
|
|
15
|
+
"@dbx-tools/shared-core": "0.4.0"
|
|
16
16
|
},
|
|
17
|
-
"main": "index.
|
|
17
|
+
"main": "./lib/index.js",
|
|
18
18
|
"license": "UNLICENSED",
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
|
-
"version": "0.
|
|
23
|
-
"types": "index.ts",
|
|
22
|
+
"version": "0.4.0",
|
|
23
|
+
"types": "./lib/index.d.ts",
|
|
24
24
|
"type": "module",
|
|
25
25
|
"exports": {
|
|
26
|
-
".":
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./lib/index.d.ts",
|
|
28
|
+
"default": "./lib/index.js"
|
|
29
|
+
},
|
|
27
30
|
"./package.json": "./package.json"
|
|
28
31
|
},
|
|
29
32
|
"files": [
|
|
30
33
|
"index.ts",
|
|
31
|
-
"src"
|
|
34
|
+
"src",
|
|
35
|
+
"lib"
|
|
32
36
|
],
|
|
33
37
|
"dbxToolsConfig": {
|
|
34
38
|
"tags": [
|