shipmail-cli 0.4.7 → 0.4.8

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 (2) hide show
  1. package/dist/cli.js +15 -5
  2. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  } from "shipmail";
15
15
 
16
16
  // src/version.ts
17
- var VERSION = "0.4.7";
17
+ var VERSION = "0.4.8";
18
18
 
19
19
  // src/cli.ts
20
20
  var DEFAULT_BASE_URL = "https://shipmail.to/api/v1";
@@ -214,6 +214,7 @@ async function newsletterCreateParams(options) {
214
214
  }
215
215
  const send_window_hours = getNumber(options, "send-window-hours");
216
216
  const archive_visibility = parseArchiveVisibility(options);
217
+ const feed_entry_url = getString(options, "feed-entry-url");
217
218
  const styling_mode = parseStylingMode(options);
218
219
  const preview_text = getString(options, "preview-text");
219
220
  return {
@@ -227,6 +228,7 @@ async function newsletterCreateParams(options) {
227
228
  ...body_text !== void 0 ? { body_text } : {},
228
229
  ...send_window_hours !== void 0 ? { send_window_hours } : {},
229
230
  ...archive_visibility !== void 0 ? { archive_visibility } : {},
231
+ ...feed_entry_url !== void 0 ? { feed_entry_url } : {},
230
232
  ...styling_mode !== void 0 ? { styling_mode } : {}
231
233
  };
232
234
  }
@@ -238,6 +240,7 @@ async function newsletterUpdateParams(options) {
238
240
  const preview_text = getString(options, "preview-text");
239
241
  const send_window_hours = getNumber(options, "send-window-hours");
240
242
  const archive_visibility = parseArchiveVisibility(options);
243
+ const feed_entry_url = getString(options, "feed-entry-url");
241
244
  const styling_mode = parseStylingMode(options);
242
245
  const blocksInput = getString(options, "blocks");
243
246
  const bodyHtmlInput = getString(options, "body-html");
@@ -256,6 +259,7 @@ async function newsletterUpdateParams(options) {
256
259
  ...body_text !== void 0 ? { body_text } : {},
257
260
  ...send_window_hours !== void 0 ? { send_window_hours } : {},
258
261
  ...archive_visibility !== void 0 ? { archive_visibility } : {},
262
+ ...feed_entry_url !== void 0 ? { feed_entry_url } : {},
259
263
  ...styling_mode !== void 0 ? { styling_mode } : {}
260
264
  };
261
265
  if (Object.keys(params).length === 0) {
@@ -402,8 +406,8 @@ Usage:
402
406
  --name "July changelog" \\
403
407
  --subject "What shipped in July" \\
404
408
  --blocks @blocks.json \\
405
- [--styling-mode styled|plain]
406
- shipmail newsletters update nws_789 --subject "Updated subject" --blocks @blocks-v2.json [--styling-mode styled|plain]
409
+ [--feed-entry-url https://example.com/post] [--styling-mode styled|plain]
410
+ shipmail newsletters update nws_789 --subject "Updated subject" --blocks @blocks-v2.json [--feed-entry-url https://example.com/post] [--styling-mode styled|plain]
407
411
  shipmail newsletters preview <id>
408
412
  shipmail newsletters preflight <id>
409
413
  shipmail newsletters test-send <id> --recipient-email owner@example.com
@@ -433,9 +437,9 @@ Usage:
433
437
  shipmail audiences subscribers resubscribe <audience-id> <subscriber-id> --consent-source "Signup form"
434
438
  shipmail audiences subscribers remove <audience-id> <subscriber-id>
435
439
  shipmail calendar events list --mailbox hello@example.com --from 2026-08-01T00:00:00Z --to 2026-08-08T00:00:00Z [--expand true] [--limit 100]
436
- shipmail calendar events create --mailbox hello@example.com --title "Sync" --start 2026-08-01T14:00:00 [--timezone Europe/Paris] [--duration PT30M] [--attendees JSON|@file] [--reminders JSON|@file]
440
+ shipmail calendar events create --mailbox hello@example.com --title "Sync" --start 2026-08-01T14:00:00 [--timezone Europe/Paris] [--duration PT30M] [--invitation-language en|fr|es] [--attendees JSON|@file] [--reminders JSON|@file]
437
441
  shipmail calendar events get <event-id> --mailbox hello@example.com
438
- shipmail calendar events update <event-id> --mailbox hello@example.com [--title "..."] [--start ...]
442
+ shipmail calendar events update <event-id> --mailbox hello@example.com [--title "..."] [--start ...] [--invitation-language en|fr|es]
439
443
  shipmail calendar events delete <event-id> --mailbox hello@example.com
440
444
  shipmail calendar availability --mailbox hello@example.com --from 2026-08-03T00:00:00Z --to 2026-08-04T00:00:00Z [--duration 30] [--days 1,2,3,4,5] [--window-start 540] [--window-end 1020]
441
445
  shipmail booking-pages list [--limit 25] [--cursor cur]
@@ -462,6 +466,9 @@ Booking page conferencing:
462
466
  Newsletter styling:
463
467
  --styling-mode <styled|plain> styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.
464
468
 
469
+ Newsletter feeds:
470
+ --feed-entry-url <url> Link this issue's Atom feed title to an http(s) URL instead of its Shipmail archive.
471
+
465
472
  Global options:
466
473
  --api-key <key> API key. Defaults to SHIPMAIL_API_KEY.
467
474
  --base-url <url> API base URL. Defaults to SHIPMAIL_BASE_URL or ${DEFAULT_BASE_URL}.
@@ -1615,6 +1622,7 @@ var CALENDAR_EVENT_STATUSES = [
1615
1622
  ];
1616
1623
  var CALENDAR_FREE_BUSY_STATUSES = ["free", "busy"];
1617
1624
  var CALENDAR_PRIVACIES = ["public", "private", "secret"];
1625
+ var CALENDAR_INVITATION_LANGUAGES = ["en", "fr", "es"];
1618
1626
  function requireNumber(options, key) {
1619
1627
  const value = getNumber(options, key);
1620
1628
  if (value === void 0) throw new CliUsageError(`Missing --${key}.`);
@@ -1689,6 +1697,7 @@ async function calendarEventFields(options) {
1689
1697
  const status = getEnum(options, "status", CALENDAR_EVENT_STATUSES);
1690
1698
  const freeBusyStatus = getEnum(options, "free-busy-status", CALENDAR_FREE_BUSY_STATUSES);
1691
1699
  const privacy = getEnum(options, "privacy", CALENDAR_PRIVACIES);
1700
+ const invitationLanguage = getEnum(options, "invitation-language", CALENDAR_INVITATION_LANGUAGES);
1692
1701
  const reminders = await readRemindersInput(getString(options, "reminders"));
1693
1702
  const attendees = await readAttendeesInput(getString(options, "attendees"));
1694
1703
  return {
@@ -1702,6 +1711,7 @@ async function calendarEventFields(options) {
1702
1711
  ...status !== void 0 ? { status } : {},
1703
1712
  ...freeBusyStatus !== void 0 ? { free_busy_status: freeBusyStatus } : {},
1704
1713
  ...privacy !== void 0 ? { privacy } : {},
1714
+ ...invitationLanguage !== void 0 ? { invitation_language: invitationLanguage } : {},
1705
1715
  ...reminders !== void 0 ? { reminders } : {},
1706
1716
  ...attendees !== void 0 ? { attendees } : {}
1707
1717
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shipmail-cli",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "Official CLI for the Shipmail API",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "shipmail": "0.4.14"
44
+ "shipmail": "0.4.15"
45
45
  },
46
46
  "devDependencies": {
47
47
  "tsup": "^8.4.0",