@forgezero/providers 0.1.20 → 0.1.21

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/dist/binance.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/http.ts
342
342
  class BudgetExhausted extends ProviderError {
package/dist/chain.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/chain.ts
342
342
  var hexToNumber = (value) => Number(BigInt(value));
package/dist/database.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/database.ts
342
342
  var pools = new Map;
package/dist/email.d.ts CHANGED
@@ -2,6 +2,10 @@ import { type EmailBatch, type EmailBatchResult, type EmailMessage } from './ind
2
2
  export interface JetEmailConfig {
3
3
  /** EU residency endpoint. */
4
4
  eu?: boolean;
5
+ /** Bare sender mailbox. JetEmail's wire API receives it as `Name <mailbox>`. */
6
+ from?: string;
7
+ /** Optional display name. Defaults to the sender mailbox local part. */
8
+ fromName?: string;
5
9
  endpoint?: string;
6
10
  batchEndpoint?: string;
7
11
  fetch?: typeof globalThis.fetch;
package/dist/email.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/email.ts
342
342
  var recipients = (to) => Array.isArray(to) ? [...to] : [to];
@@ -348,6 +348,19 @@ function assertMessage(message) {
348
348
  throw new ProviderError("EMAIL_NO_BODY", "An email needs html, text, or both.");
349
349
  }
350
350
  }
351
+ var JETEMAIL_MAILBOX = /^[^\s<>@]+@[^\s<>@]+\.[^\s<>@]+$/;
352
+ function jetemailSender(config, override) {
353
+ const mailbox = (override ?? config.from ?? "").trim();
354
+ if (!JETEMAIL_MAILBOX.test(mailbox)) {
355
+ throw new ProviderError("JETEMAIL_FROM", "JetEmail needs a valid sender mailbox.");
356
+ }
357
+ const fallbackName = mailbox.slice(0, mailbox.indexOf("@"));
358
+ const name = (config.fromName ?? fallbackName).trim();
359
+ if (!name || /[\r\n<>]/.test(name)) {
360
+ throw new ProviderError("JETEMAIL_FROM_NAME", "JetEmail sender name must be non-empty and header-safe.");
361
+ }
362
+ return `${name} <${mailbox}>`;
363
+ }
351
364
  var jetemailCredentials = {
352
365
  type: "object",
353
366
  additionalProperties: false,
@@ -366,7 +379,8 @@ var jetemailConfig = {
366
379
  additionalProperties: false,
367
380
  properties: {
368
381
  eu: { type: "boolean", default: false, title: "EU residency" },
369
- from: { type: "string", format: "email", title: "Default from address" }
382
+ from: { type: "string", format: "email", title: "Default from address" },
383
+ fromName: { type: "string", minLength: 1, maxLength: 120, title: "Sender name" }
370
384
  }
371
385
  };
372
386
  var jetemailSend = defineProviderMethod({
@@ -386,7 +400,7 @@ var jetemailSend = defineProviderMethod({
386
400
  ...message.idempotencyKey ? { "idempotency-key": message.idempotencyKey } : {}
387
401
  },
388
402
  body: JSON.stringify({
389
- from: message.from ?? config.from,
403
+ from: jetemailSender(config, message.from),
390
404
  to: recipients(message.to),
391
405
  subject: message.subject,
392
406
  html: message.html,
@@ -395,7 +409,7 @@ var jetemailSend = defineProviderMethod({
395
409
  eu: config.eu ?? false
396
410
  })
397
411
  });
398
- if (response.status === 201 || response.status === 202) {
412
+ if (response.status === 200 || response.status === 201 || response.status === 202) {
399
413
  const payload = await response.json().catch(() => ({}));
400
414
  return { id: payload.id ?? "" };
401
415
  }
@@ -437,7 +451,7 @@ var jetemailSendBatch = defineProviderMethod({
437
451
  },
438
452
  body: JSON.stringify({
439
453
  emails: batch.emails.map((message) => ({
440
- from: message.from ?? config.from,
454
+ from: jetemailSender(config, message.from),
441
455
  to: recipients(message.to),
442
456
  subject: message.subject,
443
457
  html: message.html,
package/dist/http.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/http.ts
342
342
  class BudgetExhausted extends ProviderError {
package/dist/index.d.ts CHANGED
@@ -303,5 +303,5 @@ export interface EmailBatchResult {
303
303
  };
304
304
  results: readonly EmailBatchItemResult[];
305
305
  }
306
- export declare const VERSION = "0.1.20";
306
+ export declare const VERSION = "0.1.21";
307
307
  export {};
package/dist/index.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
  export {
341
341
  staticConfig,
342
342
  serviceMethod,
package/dist/pool.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/http.ts
342
342
  class BudgetExhausted extends ProviderError {
package/dist/storage.js CHANGED
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/storage.ts
342
342
  var encoder = new TextEncoder;
@@ -336,7 +336,7 @@ function createService(definition, methods, options = {}) {
336
336
  }
337
337
  };
338
338
  }
339
- var VERSION = "0.1.20";
339
+ var VERSION = "0.1.21";
340
340
 
341
341
  // src/translation.ts
342
342
  var GOOGLE_ENDPOINT = "https://generativelanguage.googleapis.com/v1beta/models";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgezero/providers",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",