@dbx-tools/shared-email 0.6.71 → 0.6.73

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.
@@ -17,9 +17,8 @@ export declare const emailAttachmentSchema: z.ZodObject<{
17
17
  filename: z.ZodString;
18
18
  content: z.ZodOptional<z.ZodString>;
19
19
  encoding: z.ZodOptional<z.ZodString>;
20
- path: z.ZodOptional<z.ZodString>;
21
20
  contentType: z.ZodOptional<z.ZodString>;
22
- }, z.core.$strip>;
21
+ }, z.core.$strict>;
23
22
  /** A single file attached to an {@link EmailMessage}. */
24
23
  export type EmailAttachment = z.infer<typeof emailAttachmentSchema>;
25
24
  /** Schema for the email a model asks to send (the tool input). */
@@ -33,9 +32,8 @@ export declare const emailMessageSchema: z.ZodObject<{
33
32
  filename: z.ZodString;
34
33
  content: z.ZodOptional<z.ZodString>;
35
34
  encoding: z.ZodOptional<z.ZodString>;
36
- path: z.ZodOptional<z.ZodString>;
37
35
  contentType: z.ZodOptional<z.ZodString>;
38
- }, z.core.$strip>>>;
36
+ }, z.core.$strict>>>;
39
37
  }, z.core.$strip>;
40
38
  /** A validated outbound email message. */
41
39
  export type EmailMessage = z.infer<typeof emailMessageSchema>;
package/lib/src/email.js CHANGED
@@ -13,25 +13,23 @@
13
13
  */
14
14
  import { z } from "zod";
15
15
  /** Schema for a single file attached to an outbound email. */
16
- export const emailAttachmentSchema = z.object({
16
+ export const emailAttachmentSchema = z
17
+ .object({
17
18
  filename: z.string().describe('File name shown to the recipient (e.g. "report.pdf").'),
18
19
  content: z
19
20
  .string()
20
21
  .optional()
21
- .describe('Inline file content as a string. For binary data set `encoding` (e.g. "base64"). Provide this or `path`, not both.'),
22
+ .describe('Inline file content as a string. For binary data set `encoding` (e.g. "base64").'),
22
23
  encoding: z
23
24
  .string()
24
25
  .optional()
25
26
  .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
27
  contentType: z
31
28
  .string()
32
29
  .optional()
33
30
  .describe('MIME type override (e.g. "application/pdf"). Inferred from the filename when omitted.'),
34
- });
31
+ })
32
+ .strict();
35
33
  /** Schema for the email a model asks to send (the tool input). */
36
34
  export const emailMessageSchema = z.object({
37
35
  to: z
@@ -75,4 +73,4 @@ export const emailSendersSchema = z.object({
75
73
  .boolean()
76
74
  .describe("True when `senders` is an enforced allow-list rather than a hint."),
77
75
  });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qiw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx1REFBdUQsQ0FBQztJQUN0RixPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCxvSEFBb0gsQ0FDckg7SUFDSCxRQUFRLEVBQUUsQ0FBQztTQUNSLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx3RkFBd0YsQ0FDekY7SUFDSCxJQUFJLEVBQUUsQ0FBQztTQUNKLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCwwSUFBMEksQ0FDM0k7SUFDSCxXQUFXLEVBQUUsQ0FBQztTQUNYLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx1RkFBdUYsQ0FDeEY7Q0FDSixDQUFDLENBQUM7QUFLSCxrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxFQUFFLEVBQUUsQ0FBQztTQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakIsUUFBUSxDQUNQLDhHQUE4RyxDQUMvRztJQUNILE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDO0lBQ25ELElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHFFQUFxRSxDQUFDO0lBQ2hHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnREFBZ0QsQ0FBQztJQUM3RixHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUM7SUFDL0YsV0FBVyxFQUFFLENBQUM7U0FDWCxLQUFLLENBQUMscUJBQXFCLENBQUM7U0FDNUIsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHdEQUF3RCxDQUFDO0NBQ3RFLENBQUMsQ0FBQztBQUtILHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLHNEQUFzRCxDQUFDO0lBQ2xGLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLDhEQUE4RCxDQUFDO0lBQzlGLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGlFQUFpRSxDQUFDO0lBQzVGLFNBQVMsRUFBRSxDQUFDO1NBQ1QsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLGdFQUFnRSxDQUFDO0NBQzlFLENBQUMsQ0FBQztBQUtIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsd0RBQXdELENBQUM7SUFDL0YsYUFBYSxFQUFFLENBQUM7U0FDYixNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixRQUFRLENBQUMscUVBQXFFLENBQUM7SUFDbEYsVUFBVSxFQUFFLENBQUM7U0FDVixPQUFPLEVBQUU7U0FDVCxRQUFRLENBQUMsbUVBQW1FLENBQUM7Q0FDakYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXaXJlLWZvcm1hdCBjb250cmFjdCBmb3IgdGhlIGVtYWlsIGFkZC1vbjogdGhlIGVtYWlsIGEgbW9kZWwgZHJhZnRzIGFuZCB0aGVcbiAqIHJlc3VsdCBvZiBkaXNwYXRjaGluZyBpdC4gUHVyZSAoem9kICsgaW5mZXJyZWQgdHlwZXMsIG5vIE5vZGUtb25seSBpbXBvcnRzKVxuICogc28gdGhlIHNlcnZlci1zaWRlIHNlbmRlciwgdGhlIE1hc3RyYSB0b29sLCBhbmQgdGhlIFJlYWN0IGFwcHJvdmFsIFVJIGFsbFxuICogdmFsaWRhdGUgLyB0eXBlIGFnYWluc3Qgb25lIGRlZmluaXRpb24uXG4gKlxuICogQXJyYXkgZmllbGRzIGludGVudGlvbmFsbHkgYXZvaWQgYC5taW4oKWAgLyBgLm5vbmVtcHR5KClgOiB0aG9zZSBlbWl0XG4gKiBgbWluSXRlbXNgIGluIHRoZSBKU09OIHNjaGVtYSwgd2hpY2ggc29tZSBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50cyByZWplY3RcbiAqIChcImFycmF5IHR5cGVzIGRvIG5vdCBzdXBwb3J0IG1pbkl0ZW1zXCIpIHdoZW4gdGhlIHNjaGVtYSBpcyBmb3J3YXJkZWQgYXMgYVxuICogdG9vbCBkZWZpbml0aW9uLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKiogU2NoZW1hIGZvciBhIHNpbmdsZSBmaWxlIGF0dGFjaGVkIHRvIGFuIG91dGJvdW5kIGVtYWlsLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsQXR0YWNobWVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgZmlsZW5hbWU6IHouc3RyaW5nKCkuZGVzY3JpYmUoJ0ZpbGUgbmFtZSBzaG93biB0byB0aGUgcmVjaXBpZW50IChlLmcuIFwicmVwb3J0LnBkZlwiKS4nKSxcbiAgY29udGVudDogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ0lubGluZSBmaWxlIGNvbnRlbnQgYXMgYSBzdHJpbmcuIEZvciBiaW5hcnkgZGF0YSBzZXQgYGVuY29kaW5nYCAoZS5nLiBcImJhc2U2NFwiKS4gUHJvdmlkZSB0aGlzIG9yIGBwYXRoYCwgbm90IGJvdGguJyxcbiAgICApLFxuICBlbmNvZGluZzogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ0VuY29kaW5nIG9mIGBjb250ZW50YCAoZS5nLiBcImJhc2U2NFwiLCBcInV0Zi04XCIsIFwiaGV4XCIpLiBEZWZhdWx0cyB0byB1dGYtOCB3aGVuIG9taXR0ZWQuJyxcbiAgICApLFxuICBwYXRoOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIlJlYWQgdGhlIGNvbnRlbnQgZnJvbSBoZXJlIGluc3RlYWQgb2YgaW5saW5pbmcgaXQ6IGEgbG9jYWwgZmlsZSBwYXRoLCBhIGRhdGE6IFVSSSwgb3IgYW4gaHR0cHMgVVJMLiBQcm92aWRlIHRoaXMgb3IgYGNvbnRlbnRgLCBub3QgYm90aC5cIixcbiAgICApLFxuICBjb250ZW50VHlwZTogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ01JTUUgdHlwZSBvdmVycmlkZSAoZS5nLiBcImFwcGxpY2F0aW9uL3BkZlwiKS4gSW5mZXJyZWQgZnJvbSB0aGUgZmlsZW5hbWUgd2hlbiBvbWl0dGVkLicsXG4gICAgKSxcbn0pO1xuXG4vKiogQSBzaW5nbGUgZmlsZSBhdHRhY2hlZCB0byBhbiB7QGxpbmsgRW1haWxNZXNzYWdlfS4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsQXR0YWNobWVudCA9IHouaW5mZXI8dHlwZW9mIGVtYWlsQXR0YWNobWVudFNjaGVtYT47XG5cbi8qKiBTY2hlbWEgZm9yIHRoZSBlbWFpbCBhIG1vZGVsIGFza3MgdG8gc2VuZCAodGhlIHRvb2wgaW5wdXQpLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsTWVzc2FnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdG86IHpcbiAgICAuYXJyYXkoei5zdHJpbmcoKSlcbiAgICAuZGVzY3JpYmUoXG4gICAgICAnT25lIG9yIG1vcmUgcmVjaXBpZW50IGVtYWlsIGFkZHJlc3NlcyAoZS5nLiBbXCJhbGljZUBleGFtcGxlLmNvbVwiLCBcImJvYkBleGFtcGxlLmNvbVwiXSkuIFByb3ZpZGUgYXQgbGVhc3Qgb25lLicsXG4gICAgKSxcbiAgc3ViamVjdDogei5zdHJpbmcoKS5kZXNjcmliZShcIkVtYWlsIHN1YmplY3QgbGluZS5cIiksXG4gIGJvZHk6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJFbWFpbCBjb250ZW50IHJlbmRlcmVkIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgUmVhY3QgRW1haWwgdGVtcGxhdGUuXCIpLFxuICBjYzogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiT3B0aW9uYWwgQ0MgcmVjaXBpZW50IGFkZHJlc3NlcyAob25lIG9yIG1vcmUpLlwiKSxcbiAgYmNjOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJPcHRpb25hbCBCQ0MgcmVjaXBpZW50IGFkZHJlc3NlcyAob25lIG9yIG1vcmUpLlwiKSxcbiAgYXR0YWNobWVudHM6IHpcbiAgICAuYXJyYXkoZW1haWxBdHRhY2htZW50U2NoZW1hKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiT3B0aW9uYWwgZmlsZSBhdHRhY2htZW50cyB0byBpbmNsdWRlIHdpdGggdGhlIG1lc3NhZ2UuXCIpLFxufSk7XG5cbi8qKiBBIHZhbGlkYXRlZCBvdXRib3VuZCBlbWFpbCBtZXNzYWdlLiAqL1xuZXhwb3J0IHR5cGUgRW1haWxNZXNzYWdlID0gei5pbmZlcjx0eXBlb2YgZW1haWxNZXNzYWdlU2NoZW1hPjtcblxuLyoqIFNjaGVtYSBmb3IgdGhlIGRpc3BhdGNoIHJlc3VsdCByZXR1cm5lZCB0byB0aGUgbW9kZWwgYWZ0ZXIgYSBzZW5kLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsUmVzdWx0U2NoZW1hID0gei5vYmplY3Qoe1xuICBzZW50OiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgb25jZSB0aGUgbWVzc2FnZSB3YXMgaGFuZGVkIHRvIHRoZSBTTVRQIHNlcnZlci5cIiksXG4gIHJlY2lwaWVudDogei5zdHJpbmcoKS5kZXNjcmliZShcIkVjaG8gb2YgdGhlIGB0b2AgcmVjaXBpZW50cyAoY29tbWEtam9pbmVkKSBmb3IgY29uZmlybWF0aW9uLlwiKSxcbiAgZnJvbTogei5zdHJpbmcoKS5kZXNjcmliZShcIlRoZSByZXNvbHZlZCBzZW5kZXIgYWRkcmVzcyB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudCBmcm9tLlwiKSxcbiAgbWVzc2FnZUlkOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXCJTTVRQIG1lc3NhZ2UgaWQgYXNzaWduZWQgYnkgdGhlIHNlcnZlciwgd2hlbiBvbmUgd2FzIHJldHVybmVkLlwiKSxcbn0pO1xuXG4vKiogVGhlIG91dGNvbWUgb2YgZGlzcGF0Y2hpbmcgYW4ge0BsaW5rIEVtYWlsTWVzc2FnZX0uICovXG5leHBvcnQgdHlwZSBFbWFpbFJlc3VsdCA9IHouaW5mZXI8dHlwZW9mIGVtYWlsUmVzdWx0U2NoZW1hPjtcblxuLyoqXG4gKiBTY2hlbWEgZm9yIHRoZSBzZW5kZXIgb3B0aW9ucyBhIFVJIGNhbiBvZmZlciBmb3IgdGhlIGBGcm9tYCBhZGRyZXNzIC0gdGhlXG4gKiBwYXlsb2FkIG9mIHRoZSBwbHVnaW4ncyBgR0VUIC9zZW5kZXJzYCByb3V0ZS4gV2hlbiB0aGUgcGx1Z2luIGNvbmZpZ3VyZXMgYVxuICogc2VuZGVyIGFsbG93LWxpc3QsIGBzZW5kZXJzYCBob2xkcyB0aGUgY29uY3JldGUgYWRkcmVzc2VzIHRoZSBjdXJyZW50IHVzZXJcbiAqIG1heSBzZW5kIGFzIChkb21haW4gd2lsZGNhcmRzIGV4cGFuZGVkIGFnYWluc3QgdGhlIHVzZXIncyBsb2NhbCBwYXJ0KSBhbmRcbiAqIGByZXN0cmljdGVkYCBpcyB0cnVlOyBhIHBpY2tlciBzaG91bGQgcmVxdWlyZSBhIGNob2ljZSBmcm9tIHRoZSBsaXN0LiBXaGVuXG4gKiB1bnJlc3RyaWN0ZWQsIGBzZW5kZXJzYCBob2xkcyBhdCBtb3N0IHRoZSBzaW5nbGUgZGVmYXVsdCBhZGRyZXNzIChpZiBvbmUgY2FuXG4gKiBiZSByZXNvbHZlZCkgYW5kIGByZXN0cmljdGVkYCBpcyBmYWxzZSwgc28gYSBVSSBtYXkgYWxsb3cgZnJlZSBlbnRyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsU2VuZGVyc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VuZGVyczogei5hcnJheSh6LnN0cmluZygpKS5kZXNjcmliZShcIlBlcm1pdHRlZCBzZW5kZXIgYWRkcmVzc2VzIHRvIG9mZmVyIGFzIGBGcm9tYCBjaG9pY2VzLlwiKSxcbiAgZGVmYXVsdFNlbmRlcjogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiVGhlIGFkZHJlc3MgYSBzZW5kIHVzZXMgYnkgZGVmYXVsdCAoZmlyc3QgYHNlbmRlcnNgIGVudHJ5LCBpZiBhbnkpLlwiKSxcbiAgcmVzdHJpY3RlZDogelxuICAgIC5ib29sZWFuKClcbiAgICAuZGVzY3JpYmUoXCJUcnVlIHdoZW4gYHNlbmRlcnNgIGlzIGFuIGVuZm9yY2VkIGFsbG93LWxpc3QgcmF0aGVyIHRoYW4gYSBoaW50LlwiKSxcbn0pO1xuXG4vKiogU2VuZGVyIG9wdGlvbnMgZm9yIGEgYEZyb21gIHBpY2tlciAoc2VlIHtAbGluayBlbWFpbFNlbmRlcnNTY2hlbWF9KS4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsU2VuZGVycyA9IHouaW5mZXI8dHlwZW9mIGVtYWlsU2VuZGVyc1NjaGVtYT47XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qiw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQztLQUNuQyxNQUFNLENBQUM7SUFDTixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx1REFBdUQsQ0FBQztJQUN0RixPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FBQyxrRkFBa0YsQ0FBQztJQUMvRixRQUFRLEVBQUUsQ0FBQztTQUNSLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx3RkFBd0YsQ0FDekY7SUFDSCxXQUFXLEVBQUUsQ0FBQztTQUNYLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FDUCx1RkFBdUYsQ0FDeEY7Q0FDSixDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFLWixrRUFBa0U7QUFDbEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxFQUFFLEVBQUUsQ0FBQztTQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakIsUUFBUSxDQUNQLDhHQUE4RyxDQUMvRztJQUNILE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDO0lBQ25ELElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHFFQUFxRSxDQUFDO0lBQ2hHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnREFBZ0QsQ0FBQztJQUM3RixHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsaURBQWlELENBQUM7SUFDL0YsV0FBVyxFQUFFLENBQUM7U0FDWCxLQUFLLENBQUMscUJBQXFCLENBQUM7U0FDNUIsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHdEQUF3RCxDQUFDO0NBQ3RFLENBQUMsQ0FBQztBQUtILHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLHNEQUFzRCxDQUFDO0lBQ2xGLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLDhEQUE4RCxDQUFDO0lBQzlGLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGlFQUFpRSxDQUFDO0lBQzVGLFNBQVMsRUFBRSxDQUFDO1NBQ1QsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLGdFQUFnRSxDQUFDO0NBQzlFLENBQUMsQ0FBQztBQUtIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsd0RBQXdELENBQUM7SUFDL0YsYUFBYSxFQUFFLENBQUM7U0FDYixNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixRQUFRLENBQUMscUVBQXFFLENBQUM7SUFDbEYsVUFBVSxFQUFFLENBQUM7U0FDVixPQUFPLEVBQUU7U0FDVCxRQUFRLENBQUMsbUVBQW1FLENBQUM7Q0FDakYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXaXJlLWZvcm1hdCBjb250cmFjdCBmb3IgdGhlIGVtYWlsIGFkZC1vbjogdGhlIGVtYWlsIGEgbW9kZWwgZHJhZnRzIGFuZCB0aGVcbiAqIHJlc3VsdCBvZiBkaXNwYXRjaGluZyBpdC4gUHVyZSAoem9kICsgaW5mZXJyZWQgdHlwZXMsIG5vIE5vZGUtb25seSBpbXBvcnRzKVxuICogc28gdGhlIHNlcnZlci1zaWRlIHNlbmRlciwgdGhlIE1hc3RyYSB0b29sLCBhbmQgdGhlIFJlYWN0IGFwcHJvdmFsIFVJIGFsbFxuICogdmFsaWRhdGUgLyB0eXBlIGFnYWluc3Qgb25lIGRlZmluaXRpb24uXG4gKlxuICogQXJyYXkgZmllbGRzIGludGVudGlvbmFsbHkgYXZvaWQgYC5taW4oKWAgLyBgLm5vbmVtcHR5KClgOiB0aG9zZSBlbWl0XG4gKiBgbWluSXRlbXNgIGluIHRoZSBKU09OIHNjaGVtYSwgd2hpY2ggc29tZSBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50cyByZWplY3RcbiAqIChcImFycmF5IHR5cGVzIGRvIG5vdCBzdXBwb3J0IG1pbkl0ZW1zXCIpIHdoZW4gdGhlIHNjaGVtYSBpcyBmb3J3YXJkZWQgYXMgYVxuICogdG9vbCBkZWZpbml0aW9uLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKiogU2NoZW1hIGZvciBhIHNpbmdsZSBmaWxlIGF0dGFjaGVkIHRvIGFuIG91dGJvdW5kIGVtYWlsLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsQXR0YWNobWVudFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgZmlsZW5hbWU6IHouc3RyaW5nKCkuZGVzY3JpYmUoJ0ZpbGUgbmFtZSBzaG93biB0byB0aGUgcmVjaXBpZW50IChlLmcuIFwicmVwb3J0LnBkZlwiKS4nKSxcbiAgICBjb250ZW50OiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoJ0lubGluZSBmaWxlIGNvbnRlbnQgYXMgYSBzdHJpbmcuIEZvciBiaW5hcnkgZGF0YSBzZXQgYGVuY29kaW5nYCAoZS5nLiBcImJhc2U2NFwiKS4nKSxcbiAgICBlbmNvZGluZzogelxuICAgICAgLnN0cmluZygpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICAnRW5jb2Rpbmcgb2YgYGNvbnRlbnRgIChlLmcuIFwiYmFzZTY0XCIsIFwidXRmLThcIiwgXCJoZXhcIikuIERlZmF1bHRzIHRvIHV0Zi04IHdoZW4gb21pdHRlZC4nLFxuICAgICAgKSxcbiAgICBjb250ZW50VHlwZTogelxuICAgICAgLnN0cmluZygpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICAnTUlNRSB0eXBlIG92ZXJyaWRlIChlLmcuIFwiYXBwbGljYXRpb24vcGRmXCIpLiBJbmZlcnJlZCBmcm9tIHRoZSBmaWxlbmFtZSB3aGVuIG9taXR0ZWQuJyxcbiAgICAgICksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuLyoqIEEgc2luZ2xlIGZpbGUgYXR0YWNoZWQgdG8gYW4ge0BsaW5rIEVtYWlsTWVzc2FnZX0uICovXG5leHBvcnQgdHlwZSBFbWFpbEF0dGFjaG1lbnQgPSB6LmluZmVyPHR5cGVvZiBlbWFpbEF0dGFjaG1lbnRTY2hlbWE+O1xuXG4vKiogU2NoZW1hIGZvciB0aGUgZW1haWwgYSBtb2RlbCBhc2tzIHRvIHNlbmQgKHRoZSB0b29sIGlucHV0KS4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbE1lc3NhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRvOiB6XG4gICAgLmFycmF5KHouc3RyaW5nKCkpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgJ09uZSBvciBtb3JlIHJlY2lwaWVudCBlbWFpbCBhZGRyZXNzZXMgKGUuZy4gW1wiYWxpY2VAZXhhbXBsZS5jb21cIiwgXCJib2JAZXhhbXBsZS5jb21cIl0pLiBQcm92aWRlIGF0IGxlYXN0IG9uZS4nLFxuICAgICksXG4gIHN1YmplY3Q6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJFbWFpbCBzdWJqZWN0IGxpbmUuXCIpLFxuICBib2R5OiB6LnN0cmluZygpLmRlc2NyaWJlKFwiRW1haWwgY29udGVudCByZW5kZXJlZCB0aHJvdWdoIHRoZSBjb25maWd1cmVkIFJlYWN0IEVtYWlsIHRlbXBsYXRlLlwiKSxcbiAgY2M6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKS5kZXNjcmliZShcIk9wdGlvbmFsIENDIHJlY2lwaWVudCBhZGRyZXNzZXMgKG9uZSBvciBtb3JlKS5cIiksXG4gIGJjYzogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiT3B0aW9uYWwgQkNDIHJlY2lwaWVudCBhZGRyZXNzZXMgKG9uZSBvciBtb3JlKS5cIiksXG4gIGF0dGFjaG1lbnRzOiB6XG4gICAgLmFycmF5KGVtYWlsQXR0YWNobWVudFNjaGVtYSlcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIk9wdGlvbmFsIGZpbGUgYXR0YWNobWVudHMgdG8gaW5jbHVkZSB3aXRoIHRoZSBtZXNzYWdlLlwiKSxcbn0pO1xuXG4vKiogQSB2YWxpZGF0ZWQgb3V0Ym91bmQgZW1haWwgbWVzc2FnZS4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsTWVzc2FnZSA9IHouaW5mZXI8dHlwZW9mIGVtYWlsTWVzc2FnZVNjaGVtYT47XG5cbi8qKiBTY2hlbWEgZm9yIHRoZSBkaXNwYXRjaCByZXN1bHQgcmV0dXJuZWQgdG8gdGhlIG1vZGVsIGFmdGVyIGEgc2VuZC4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgc2VudDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIG9uY2UgdGhlIG1lc3NhZ2Ugd2FzIGhhbmRlZCB0byB0aGUgU01UUCBzZXJ2ZXIuXCIpLFxuICByZWNpcGllbnQ6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJFY2hvIG9mIHRoZSBgdG9gIHJlY2lwaWVudHMgKGNvbW1hLWpvaW5lZCkgZm9yIGNvbmZpcm1hdGlvbi5cIiksXG4gIGZyb206IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJUaGUgcmVzb2x2ZWQgc2VuZGVyIGFkZHJlc3MgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQgZnJvbS5cIiksXG4gIG1lc3NhZ2VJZDogelxuICAgIC5zdHJpbmcoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlc2NyaWJlKFwiU01UUCBtZXNzYWdlIGlkIGFzc2lnbmVkIGJ5IHRoZSBzZXJ2ZXIsIHdoZW4gb25lIHdhcyByZXR1cm5lZC5cIiksXG59KTtcblxuLyoqIFRoZSBvdXRjb21lIG9mIGRpc3BhdGNoaW5nIGFuIHtAbGluayBFbWFpbE1lc3NhZ2V9LiAqL1xuZXhwb3J0IHR5cGUgRW1haWxSZXN1bHQgPSB6LmluZmVyPHR5cGVvZiBlbWFpbFJlc3VsdFNjaGVtYT47XG5cbi8qKlxuICogU2NoZW1hIGZvciB0aGUgc2VuZGVyIG9wdGlvbnMgYSBVSSBjYW4gb2ZmZXIgZm9yIHRoZSBgRnJvbWAgYWRkcmVzcyAtIHRoZVxuICogcGF5bG9hZCBvZiB0aGUgcGx1Z2luJ3MgYEdFVCAvc2VuZGVyc2Agcm91dGUuIFdoZW4gdGhlIHBsdWdpbiBjb25maWd1cmVzIGFcbiAqIHNlbmRlciBhbGxvdy1saXN0LCBgc2VuZGVyc2AgaG9sZHMgdGhlIGNvbmNyZXRlIGFkZHJlc3NlcyB0aGUgY3VycmVudCB1c2VyXG4gKiBtYXkgc2VuZCBhcyAoZG9tYWluIHdpbGRjYXJkcyBleHBhbmRlZCBhZ2FpbnN0IHRoZSB1c2VyJ3MgbG9jYWwgcGFydCkgYW5kXG4gKiBgcmVzdHJpY3RlZGAgaXMgdHJ1ZTsgYSBwaWNrZXIgc2hvdWxkIHJlcXVpcmUgYSBjaG9pY2UgZnJvbSB0aGUgbGlzdC4gV2hlblxuICogdW5yZXN0cmljdGVkLCBgc2VuZGVyc2AgaG9sZHMgYXQgbW9zdCB0aGUgc2luZ2xlIGRlZmF1bHQgYWRkcmVzcyAoaWYgb25lIGNhblxuICogYmUgcmVzb2x2ZWQpIGFuZCBgcmVzdHJpY3RlZGAgaXMgZmFsc2UsIHNvIGEgVUkgbWF5IGFsbG93IGZyZWUgZW50cnkuXG4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbFNlbmRlcnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHNlbmRlcnM6IHouYXJyYXkoei5zdHJpbmcoKSkuZGVzY3JpYmUoXCJQZXJtaXR0ZWQgc2VuZGVyIGFkZHJlc3NlcyB0byBvZmZlciBhcyBgRnJvbWAgY2hvaWNlcy5cIiksXG4gIGRlZmF1bHRTZW5kZXI6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIlRoZSBhZGRyZXNzIGEgc2VuZCB1c2VzIGJ5IGRlZmF1bHQgKGZpcnN0IGBzZW5kZXJzYCBlbnRyeSwgaWYgYW55KS5cIiksXG4gIHJlc3RyaWN0ZWQ6IHpcbiAgICAuYm9vbGVhbigpXG4gICAgLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIGBzZW5kZXJzYCBpcyBhbiBlbmZvcmNlZCBhbGxvdy1saXN0IHJhdGhlciB0aGFuIGEgaGludC5cIiksXG59KTtcblxuLyoqIFNlbmRlciBvcHRpb25zIGZvciBhIGBGcm9tYCBwaWNrZXIgKHNlZSB7QGxpbmsgZW1haWxTZW5kZXJzU2NoZW1hfSkuICovXG5leHBvcnQgdHlwZSBFbWFpbFNlbmRlcnMgPSB6LmluZmVyPHR5cGVvZiBlbWFpbFNlbmRlcnNTY2hlbWE+O1xuIl19
package/package.json CHANGED
@@ -23,7 +23,7 @@
23
23
  "typescript": "^5.9.3"
24
24
  },
25
25
  "dependencies": {
26
- "@dbx-tools/shared-core": "0.6.71",
26
+ "@dbx-tools/shared-core": "0.6.73",
27
27
  "zod": "4.3.6"
28
28
  },
29
29
  "main": "./lib/index.js",
@@ -40,7 +40,7 @@
40
40
  "./package.json": "./package.json"
41
41
  }
42
42
  },
43
- "version": "0.6.71",
43
+ "version": "0.6.73",
44
44
  "types": "./lib/index.d.ts",
45
45
  "type": "module",
46
46
  "exports": {
package/src/email.ts CHANGED
@@ -15,33 +15,27 @@
15
15
  import { z } from "zod";
16
16
 
17
17
  /** Schema for a single file attached to an outbound email. */
18
- export const emailAttachmentSchema = z.object({
19
- filename: z.string().describe('File name shown to the recipient (e.g. "report.pdf").'),
20
- content: z
21
- .string()
22
- .optional()
23
- .describe(
24
- 'Inline file content as a string. For binary data set `encoding` (e.g. "base64"). Provide this or `path`, not both.',
25
- ),
26
- encoding: z
27
- .string()
28
- .optional()
29
- .describe(
30
- 'Encoding of `content` (e.g. "base64", "utf-8", "hex"). Defaults to utf-8 when omitted.',
31
- ),
32
- path: z
33
- .string()
34
- .optional()
35
- .describe(
36
- "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.",
37
- ),
38
- contentType: z
39
- .string()
40
- .optional()
41
- .describe(
42
- 'MIME type override (e.g. "application/pdf"). Inferred from the filename when omitted.',
43
- ),
44
- });
18
+ export const emailAttachmentSchema = z
19
+ .object({
20
+ filename: z.string().describe('File name shown to the recipient (e.g. "report.pdf").'),
21
+ content: z
22
+ .string()
23
+ .optional()
24
+ .describe('Inline file content as a string. For binary data set `encoding` (e.g. "base64").'),
25
+ encoding: z
26
+ .string()
27
+ .optional()
28
+ .describe(
29
+ 'Encoding of `content` (e.g. "base64", "utf-8", "hex"). Defaults to utf-8 when omitted.',
30
+ ),
31
+ contentType: z
32
+ .string()
33
+ .optional()
34
+ .describe(
35
+ 'MIME type override (e.g. "application/pdf"). Inferred from the filename when omitted.',
36
+ ),
37
+ })
38
+ .strict();
45
39
 
46
40
  /** A single file attached to an {@link EmailMessage}. */
47
41
  export type EmailAttachment = z.infer<typeof emailAttachmentSchema>;