@dbx-tools/email 0.9.131 → 0.9.136
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/README.md +43 -41
- package/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# @dbx-tools/email
|
|
2
2
|
|
|
3
|
-
Server-side email runtime, agent tools, and AppKit plugin.
|
|
4
|
-
|
|
5
3
|
Add model-drafted email with human approval, sender policy, SMTP delivery, and a
|
|
6
4
|
local development outbox to an AppKit or Mastra backend. Browser-safe message
|
|
7
5
|
and result schemas live in
|
|
8
|
-
[
|
|
6
|
+
[@dbx-tools/shared-email](../../shared/email), and the reusable React Email
|
|
9
7
|
presentation lives in
|
|
10
|
-
[
|
|
8
|
+
[@dbx-tools/shared-email-template](../../shared/email-template).
|
|
11
9
|
|
|
12
|
-
## Quick
|
|
10
|
+
## Quick start
|
|
13
11
|
|
|
14
12
|
Give an agent an email tool that pauses before delivery:
|
|
15
13
|
|
|
@@ -23,7 +21,7 @@ const support = agents.createAgent({
|
|
|
23
21
|
});
|
|
24
22
|
```
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
The package:
|
|
27
25
|
|
|
28
26
|
- AppKit plugin registration that resolves config, verifies SMTP at boot, and
|
|
29
27
|
mounts a sender-options route.
|
|
@@ -43,7 +41,7 @@ const support = agents.createAgent({
|
|
|
43
41
|
- Named caps on body length and attachment size, and an `AbortSignal` threaded
|
|
44
42
|
through every send.
|
|
45
43
|
|
|
46
|
-
## Register
|
|
44
|
+
## Register delivery
|
|
47
45
|
|
|
48
46
|
```ts
|
|
49
47
|
import { createApp, lakebase, server } from "@databricks/appkit";
|
|
@@ -71,7 +69,7 @@ await createApp({
|
|
|
71
69
|
`plugin.email()` validates config, primes the shared runtime, verifies SMTP when
|
|
72
70
|
SMTP mode is active, and mounts a sender-options route for UIs. A failed verify
|
|
73
71
|
fails setup, so a bad host or credential shows up in the boot logs rather than on
|
|
74
|
-
the first approved send
|
|
72
|
+
the first approved send. Outbox mode skips the check and logs a warning instead.
|
|
75
73
|
|
|
76
74
|
`tool.emailTool()` creates an approval-gated Mastra `send_email` tool. Approval
|
|
77
75
|
requires Mastra storage, so register `lakebase()` or configure storage explicitly
|
|
@@ -92,14 +90,14 @@ const sendEmail = emailTool({
|
|
|
92
90
|
```
|
|
93
91
|
|
|
94
92
|
The callback returns `true` when human review is still required and `false`
|
|
95
|
-
when Mastra may
|
|
96
|
-
provide a built-in durable "remember this approval" store
|
|
93
|
+
when Mastra may run the tool. Fail closed in the policy. Regular Mastra agents do not
|
|
94
|
+
provide a built-in durable "remember this approval" store. Agent Controller
|
|
97
95
|
permission rules are a separate runtime, so this package does not emulate them
|
|
98
96
|
client-side.
|
|
99
97
|
|
|
100
98
|
The plugin does not decide how approval is presented. It emits a Mastra tool
|
|
101
99
|
suspension and expects the host UI to resume that tool call with an approval or
|
|
102
|
-
denial result. [
|
|
100
|
+
denial result. [@dbx-tools/ui/email](../../ui/appkit) provides the matching
|
|
103
101
|
approval card and compose components.
|
|
104
102
|
|
|
105
103
|
## Configuration
|
|
@@ -131,16 +129,16 @@ built-in default.
|
|
|
131
129
|
| `SMTP_PASSWORD` | SMTP auth password or API key. |
|
|
132
130
|
| `EMAIL_DOMAIN` | Domain for the derived sender address. |
|
|
133
131
|
| `EMAIL_FROM` | Optional fixed `From` address, overriding per-user derivation. |
|
|
134
|
-
| `EMAIL_SYSTEM_FROM` | `From` for system mail
|
|
132
|
+
| `EMAIL_SYSTEM_FROM` | `From` for system mail. Defaults to `no-reply@<domain>`. |
|
|
135
133
|
| `EMAIL_SENDER_POLICY` | `allowlist` (default) or `unrestricted`. |
|
|
136
|
-
| `EMAIL_ALLOWED_SENDERS` | Comma- or whitespace-separated `From`
|
|
134
|
+
| `EMAIL_ALLOWED_SENDERS` | Comma- or whitespace-separated `From` allowlist. |
|
|
137
135
|
| `EMAIL_OUTBOX_MODE` | Opt in to writing messages to disk when SMTP is unconfigured. |
|
|
138
136
|
| `EMAIL_OUTBOX_DIR` | Directory for outbox previews. |
|
|
139
137
|
|
|
140
138
|
The `SMTP_*` names are unprefixed because SMTP is a third-party service, not a
|
|
141
139
|
Databricks resource.
|
|
142
140
|
|
|
143
|
-
## Send
|
|
141
|
+
## Send without an agent
|
|
144
142
|
|
|
145
143
|
```ts
|
|
146
144
|
import { transport } from "@dbx-tools/email";
|
|
@@ -183,7 +181,7 @@ HTML body presents the code once.
|
|
|
183
181
|
By default both MIME alternatives are rendered from one React Email tree, so the
|
|
184
182
|
`text/plain` part is a rendering of the HTML - it carries the brand header and
|
|
185
183
|
footer, and CSS margin becomes blank lines. That is right for prose and wrong for
|
|
186
|
-
content
|
|
184
|
+
content that a client parses. A fourth argument replaces only that part, leaving the
|
|
187
185
|
branded HTML untouched:
|
|
188
186
|
|
|
189
187
|
```ts
|
|
@@ -194,15 +192,15 @@ await transport.sendEmail(message, from, undefined, {
|
|
|
194
192
|
|
|
195
193
|
The motivating case is a one-time code: client code detection reads the code out
|
|
196
194
|
of the prompt line, and a styled `<h2>` code renders two blank lines below the
|
|
197
|
-
prompt, so autofill stops being offered even though the HTML
|
|
195
|
+
prompt, so autofill stops being offered even though the HTML renders correctly. Keep
|
|
198
196
|
the same information in both parts - a text alternative that disagrees with the
|
|
199
197
|
HTML reads as phishing to spam filters. See
|
|
200
|
-
[
|
|
198
|
+
[@dbx-tools/tunnel](../../node/tunnel) for a gate that does this.
|
|
201
199
|
|
|
202
200
|
### Control the preheader (and the push notification)
|
|
203
201
|
|
|
204
202
|
The same options object takes a `preview`, the preheader: the snippet a client
|
|
205
|
-
shows beside the subject in an inbox list, and the body of the
|
|
203
|
+
shows beside the subject in an inbox list, and the body of the push notification
|
|
206
204
|
a mobile mail app posts. It defaults to the subject.
|
|
207
205
|
|
|
208
206
|
```ts
|
|
@@ -225,7 +223,7 @@ const appkit = await createApp({ plugins: [server(), email()] });
|
|
|
225
223
|
await appkit.email.sendEmail(message, "reports@example.com");
|
|
226
224
|
```
|
|
227
225
|
|
|
228
|
-
## How
|
|
226
|
+
## How sends reach AppKit interceptors
|
|
229
227
|
|
|
230
228
|
Every send runs through AppKit's interceptor chain (timeout, telemetry, and the
|
|
231
229
|
retry / cache posture in `defaults`), including sends from the Mastra tool, which
|
|
@@ -233,7 +231,7 @@ has no plugin instance in scope. The runtime carries an executor slot for this:
|
|
|
233
231
|
registering the plugin installs its own `Plugin.execute()` there at setup, and
|
|
234
232
|
`sendEmail()` routes through whatever is installed.
|
|
235
233
|
|
|
236
|
-
|
|
234
|
+
This has two effects:
|
|
237
235
|
|
|
238
236
|
- In a plain Mastra app with no AppKit plugin registered, the slot falls back to
|
|
239
237
|
running the send directly, so the tool still works without interceptors.
|
|
@@ -242,7 +240,7 @@ Nothing else has to be wired up. Two consequences are worth knowing:
|
|
|
242
240
|
chain is re-raised as a stable `ExecutionError`, so an SMTP relay's own wording
|
|
243
241
|
never becomes the caller's or the model's error text.
|
|
244
242
|
|
|
245
|
-
## Resolve SMTP
|
|
243
|
+
## Resolve SMTP or outbox mode
|
|
246
244
|
|
|
247
245
|
```ts
|
|
248
246
|
import { config, transport } from "@dbx-tools/email";
|
|
@@ -260,7 +258,7 @@ const runtime = transport.getEmailRuntime({
|
|
|
260
258
|
|
|
261
259
|
`resolveEmailConfig()` returns the validated `ResolvedEmailConfig` for
|
|
262
260
|
inspection. `getEmailRuntime()` takes the same plugin config, resolves it, and
|
|
263
|
-
memoizes the transport process-wide
|
|
261
|
+
memoizes the transport process-wide. The plugin primes it at setup, so later
|
|
264
262
|
callers pass nothing and get the same instance.
|
|
265
263
|
|
|
266
264
|
SMTP mode requires host, user, password, and a sender source. Outbox mode writes
|
|
@@ -269,7 +267,7 @@ HTML files to disk when SMTP credentials are absent and `EMAIL_OUTBOX_MODE=1`.
|
|
|
269
267
|
Use SMTP mode for deployed apps. Use outbox mode for local demos, automated
|
|
270
268
|
tests, and development loops where sending real mail would be risky.
|
|
271
269
|
|
|
272
|
-
## Agent
|
|
270
|
+
## Agent tools and approval
|
|
273
271
|
|
|
274
272
|
Two tools expose the same send capability, one per agent runtime. Both are
|
|
275
273
|
gated: the Mastra tool suspends for approval, and the AppKit tool is annotated
|
|
@@ -277,6 +275,10 @@ gated: the Mastra tool suspends for approval, and the AppKit tool is annotated
|
|
|
277
275
|
The AppKit tool is deliberately not `autoInheritable`, so an agent reaches it
|
|
278
276
|
only by wiring it explicitly.
|
|
279
277
|
|
|
278
|
+
Approval applies to the agent tools. `transport.sendEmail()` and the AppKit
|
|
279
|
+
plugin's `sendEmail()` export send immediately, so direct callers must enforce
|
|
280
|
+
their own authorization and approval policy.
|
|
281
|
+
|
|
280
282
|
| Tool | Runtime | Wiring |
|
|
281
283
|
| ------------ | ------- | ------------------------------------------------------------------------ |
|
|
282
284
|
| `send_email` | Mastra | `tools: () => ({ send_email: emailTool() })` |
|
|
@@ -297,7 +299,7 @@ await createApp({
|
|
|
297
299
|
});
|
|
298
300
|
```
|
|
299
301
|
|
|
300
|
-
## AppKit
|
|
302
|
+
## AppKit routes
|
|
301
303
|
|
|
302
304
|
| Method | Path | Response |
|
|
303
305
|
| ------ | -------------------- | ---------------------------------------------------------- |
|
|
@@ -311,7 +313,7 @@ caller's own local part.
|
|
|
311
313
|
Use this route to populate a `From` dropdown in a compose UI. If no dropdown is
|
|
312
314
|
shown, the server can still derive the sender from the active user and config.
|
|
313
315
|
|
|
314
|
-
## Sender
|
|
316
|
+
## Sender addresses
|
|
315
317
|
|
|
316
318
|
```ts
|
|
317
319
|
import { config, sender } from "@dbx-tools/email";
|
|
@@ -334,14 +336,14 @@ address and is entirely optional - set it only when every message really should
|
|
|
334
336
|
come from a single mailbox.
|
|
335
337
|
|
|
336
338
|
Mail that no user asked for - a sign-in code, a password reset, an alert - is
|
|
337
|
-
|
|
339
|
+
system mail, and a reply to it reaches nobody. It sends from
|
|
338
340
|
`no-reply@<domain>` instead, which is also what `resolveSenderAddress()` returns
|
|
339
341
|
when there is no user in scope, so a service-context send never leaks a person's
|
|
340
342
|
address onto machine mail. That default outranks `from` on purpose (a fixed
|
|
341
343
|
`from` is normally a human or team address). Name the address yourself with
|
|
342
344
|
`systemFrom` / `EMAIL_SYSTEM_FROM` to route those replies to a monitored
|
|
343
|
-
`support@`, or
|
|
344
|
-
folded into the effective
|
|
345
|
+
`support@`, or to use a different local part. The system sender is
|
|
346
|
+
folded into the effective allowlist, so the deny-by-default policy never blocks
|
|
345
347
|
the app's own sign-in mail.
|
|
346
348
|
|
|
347
349
|
Sender helpers support exact addresses, domain wildcards, bare domains, and `*`.
|
|
@@ -349,12 +351,12 @@ Sender helpers support exact addresses, domain wildcards, bare domains, and `*`.
|
|
|
349
351
|
choices for the current user, which is what the AppKit plugin exposes to clients.
|
|
350
352
|
|
|
351
353
|
The default `senderPolicy: "allowlist"` is deny-by-default: with no explicit
|
|
352
|
-
`allowedSenders`, the effective
|
|
354
|
+
`allowedSenders`, the effective allowlist is the configured sender source, so a
|
|
353
355
|
deployment that only sets `EMAIL_DOMAIN` rejects a `From` on any other domain.
|
|
354
356
|
Set `senderPolicy: "unrestricted"` to accept any `From` a caller supplies. The
|
|
355
357
|
effective policy is logged at boot.
|
|
356
358
|
|
|
357
|
-
## Render
|
|
359
|
+
## Render a React Email
|
|
358
360
|
|
|
359
361
|
```ts
|
|
360
362
|
import { emailHtml, markdown } from "@dbx-tools/email";
|
|
@@ -379,7 +381,7 @@ and delivered message share typography, content styling, and brand behavior.
|
|
|
379
381
|
`markdown.normalizeMarkdown()` normalizes Markdown without rendering it.
|
|
380
382
|
`markdown.markdownToHtml()` renders through the shared React Email body.
|
|
381
383
|
|
|
382
|
-
## Brand
|
|
384
|
+
## Brand the email
|
|
383
385
|
|
|
384
386
|
Every message uses the repository's dbx-tools brand by default. Pass a `brand`
|
|
385
387
|
to the plugin or renderer only when the consuming application needs its own
|
|
@@ -409,10 +411,10 @@ email({
|
|
|
409
411
|
React Email applies the brand through email-safe inline styles. The browser UI's
|
|
410
412
|
`[data-brand]` CSS bridge cannot reach an inbox, so both the delivered document
|
|
411
413
|
and browser preview consume the same `EmailBrand` values directly. A `logoUrl`
|
|
412
|
-
renders when it is an `http(s):`, `data:`, or `cid:` URL
|
|
414
|
+
renders when it is an `http(s):`, `data:`, or `cid:` URL. Otherwise the branded
|
|
413
415
|
display name becomes the header mark.
|
|
414
416
|
|
|
415
|
-
## Use
|
|
417
|
+
## Use the outbox in tests
|
|
416
418
|
|
|
417
419
|
```ts
|
|
418
420
|
import { outbox } from "@dbx-tools/email";
|
|
@@ -422,7 +424,7 @@ const path = await outbox.writeOutboxEmail(message, "bot@example.com", "tmp/emai
|
|
|
422
424
|
|
|
423
425
|
Outbox files are HTML previews with metadata in the header, written to
|
|
424
426
|
`<dir>/<from>/<timestamp>-<subject-slug>.html`. A fourth argument accepts an
|
|
425
|
-
`EmailBrand
|
|
427
|
+
`EmailBrand`. A fifth accepts the same `heading` and `preview` presentation used
|
|
426
428
|
by the transport. Attachments are listed in the preview, but attachment bytes
|
|
427
429
|
are not copied to disk.
|
|
428
430
|
|
|
@@ -439,7 +441,7 @@ are not copied to disk.
|
|
|
439
441
|
|
|
440
442
|
An oversized payload is rejected with a `ValidationError` before anything is
|
|
441
443
|
handed to SMTP. The constants and the plugin's interceptor settings live in the
|
|
442
|
-
`defaults` module. Attachments accept inline `content` only
|
|
444
|
+
`defaults` module. Attachments accept inline `content` only. Local paths and
|
|
443
445
|
remote URLs are not part of the model-facing contract.
|
|
444
446
|
|
|
445
447
|
## Modules
|
|
@@ -457,7 +459,7 @@ remote URLs are not part of the model-facing contract.
|
|
|
457
459
|
`resolveEmailConfig()`.
|
|
458
460
|
- `defaults` - execution settings for the interceptor chain and the payload caps.
|
|
459
461
|
- `sender` - per-user sender derivation, the do-not-reply system sender
|
|
460
|
-
(`resolveSystemSenderAddress()`),
|
|
462
|
+
(`resolveSystemSenderAddress()`), allowlist parsing, and sender-option
|
|
461
463
|
listing.
|
|
462
464
|
- `emailHtml` - Node rendering adapters over the shared template:
|
|
463
465
|
`renderEmailHtml()`, `renderEmailText()`, and `renderEmail()` for both MIME
|
|
@@ -467,12 +469,12 @@ remote URLs are not part of the model-facing contract.
|
|
|
467
469
|
- `brand` - `EmailBrand`, `emailBrandFromContext()`, and `defaultEmailBrand`.
|
|
468
470
|
|
|
469
471
|
`brand`, and the components behind `emailHtml`/`markdown`, re-export from
|
|
470
|
-
[
|
|
472
|
+
[@dbx-tools/shared-email-template](../../shared/email-template). They exist so
|
|
471
473
|
server code has one import for delivery, and so the Node renderer and a browser
|
|
472
|
-
preview cannot drift apart
|
|
473
|
-
|
|
474
|
+
preview cannot drift apart. Style inlining is React Email's own. This package
|
|
475
|
+
runs no separate CSS inliner.
|
|
474
476
|
|
|
475
|
-
Pair this package with [
|
|
477
|
+
Pair this package with [@dbx-tools/shared-email](../../shared/email) when a UI
|
|
476
478
|
or tool schema needs to validate the same email payload, and with
|
|
477
|
-
[
|
|
479
|
+
[@dbx-tools/shared-email-template](../../shared/email-template) when another
|
|
478
480
|
runtime needs to reuse the presentation components directly.
|
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/email";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.136";
|
|
7
7
|
export * as brand from "./src/brand.ts";
|
|
8
8
|
export * as config from "./src/config.ts";
|
|
9
9
|
export * as defaults from "./src/defaults.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/email";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.136";
|
|
3
3
|
export * as brand from "./src/brand.ts";
|
|
4
4
|
export * as config from "./src/config.ts";
|
|
5
5
|
export * as defaults from "./src/defaults.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/email";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.136";
|
|
6
6
|
export * as brand from "./src/brand.js";
|
|
7
7
|
export * as config from "./src/config.js";
|
|
8
8
|
export * as defaults from "./src/defaults.js";
|
|
@@ -21,4 +21,4 @@ export { EmailPlugin, email } from "./src/plugin.js";
|
|
|
21
21
|
export { SYSTEM_SENDER_LOCAL_PART } from "./src/sender.js";
|
|
22
22
|
export { SEND_EMAIL_DESCRIPTION } from "./src/tool.js";
|
|
23
23
|
export * from "./exports.js";
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvZW1haWxcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xMzZcIjtcbmV4cG9ydCAqIGFzIGJyYW5kIGZyb20gXCIuL3NyYy9icmFuZC50c1wiO1xuZXhwb3J0ICogYXMgY29uZmlnIGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0ICogYXMgZW1haWxIdG1sIGZyb20gXCIuL3NyYy9lbWFpbC1odG1sLnRzXCI7XG5leHBvcnQgKiBhcyBtYXJrZG93biBmcm9tIFwiLi9zcmMvbWFya2Rvd24udHNcIjtcbmV4cG9ydCAqIGFzIG91dGJveCBmcm9tIFwiLi9zcmMvb3V0Ym94LnRzXCI7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0ICogYXMgc2VuZGVyIGZyb20gXCIuL3NyYy9zZW5kZXIudHNcIjtcbmV4cG9ydCAqIGFzIHRvb2wgZnJvbSBcIi4vc3JjL3Rvb2wudHNcIjtcbmV4cG9ydCAqIGFzIHRyYW5zcG9ydCBmcm9tIFwiLi9zcmMvdHJhbnNwb3J0LnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX1NNVFBfUE9SVCwgSU1QTElDSVRfVExTX1NNVFBfUE9SVCwgRU1BSUxfQ09ORklHX1NDSEVNQSB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgU2VuZGVyUG9saWN5LCBTbXRwQ29uZmlnLCBFbWFpbFBsdWdpbkNvbmZpZywgUmVzb2x2ZWRTZW5kZXIsIFJlc29sdmVkU210cENvbmZpZywgUmVzb2x2ZWRGaWxlQ29uZmlnLCBSZXNvbHZlZEVtYWlsQ29uZmlnIH0gZnJvbSBcIi4vc3JjL2NvbmZpZy50c1wiO1xuZXhwb3J0IHsgU0VORF9USU1FT1VUX01TLCBWRVJJRllfVElNRU9VVF9NUywgVkVSSUZZX0FUVEVNUFRTLCBNQVhfQVRUQUNITUVOVF9CWVRFUywgTUFYX0FUVEFDSE1FTlRTX1RPVEFMX0JZVEVTLCBNQVhfQVRUQUNITUVOVF9DT1VOVCwgTUFYX0JPRFlfQ0hBUlMsIEVNQUlMX1NFTkRfU0VUVElOR1MsIEVNQUlMX1ZFUklGWV9TRVRUSU5HUywgRU1BSUxfU0VOREVSU19TRVRUSU5HUyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBFbWFpbEV4ZWN1dGVDb25maWcsIEVtYWlsRXhlY3V0aW9uU2V0dGluZ3MgfSBmcm9tIFwiLi9zcmMvZGVmYXVsdHMudHNcIjtcbmV4cG9ydCB7IGVzY2FwZUh0bWwgfSBmcm9tIFwiLi9zcmMvZW1haWwtaHRtbC50c1wiO1xuZXhwb3J0IHR5cGUgeyBFbWFpbEh0bWxPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2VtYWlsLWh0bWwudHNcIjtcbmV4cG9ydCB7IG5vcm1hbGl6ZU1hcmtkb3duIH0gZnJvbSBcIi4vc3JjL21hcmtkb3duLnRzXCI7XG5leHBvcnQgeyBFbWFpbFBsdWdpbiwgZW1haWwgfSBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgeyBTWVNURU1fU0VOREVSX0xPQ0FMX1BBUlQgfSBmcm9tIFwiLi9zcmMvc2VuZGVyLnRzXCI7XG5leHBvcnQgeyBTRU5EX0VNQUlMX0RFU0NSSVBUSU9OIH0gZnJvbSBcIi4vc3JjL3Rvb2wudHNcIjtcbmV4cG9ydCB0eXBlIHsgRW1haWxUb29sT3B0aW9ucyB9IGZyb20gXCIuL3NyYy90b29sLnRzXCI7XG5leHBvcnQgdHlwZSB7IEVtYWlsRXhlY3V0b3IsIEVtYWlsUnVudGltZSwgU2VuZEVtYWlsT3B0aW9ucyB9IGZyb20gXCIuL3NyYy90cmFuc3BvcnQudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydHMudHNcIjtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@databricks/appkit": "0.81.0",
|
|
30
|
-
"@dbx-tools/appkit": "^0.9.
|
|
31
|
-
"@dbx-tools/core": "^0.9.
|
|
32
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
33
|
-
"@dbx-tools/shared-email": "^0.9.
|
|
34
|
-
"@dbx-tools/shared-email-template": "^0.9.
|
|
30
|
+
"@dbx-tools/appkit": "^0.9.136",
|
|
31
|
+
"@dbx-tools/core": "^0.9.136",
|
|
32
|
+
"@dbx-tools/shared-core": "^0.9.136",
|
|
33
|
+
"@dbx-tools/shared-email": "^0.9.136",
|
|
34
|
+
"@dbx-tools/shared-email-template": "^0.9.136",
|
|
35
35
|
"@mastra/core": "1.71.0",
|
|
36
36
|
"@react-email/render": "^2.1.0",
|
|
37
37
|
"nodemailer": "^7.0.13",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"./package.json": "./package.json"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
-
"version": "0.9.
|
|
99
|
+
"version": "0.9.136",
|
|
100
100
|
"types": "./lib/index.d.ts",
|
|
101
101
|
"dbxToolsConfig": {
|
|
102
102
|
"tags": [
|