shipmail-cli 0.6.0 → 0.6.1
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 +5 -0
- package/dist/cli.js +23 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -152,6 +152,7 @@ Use repeatable `--header "Name: value"` flags for request headers. Use `--output
|
|
|
152
152
|
- `api <METHOD> <PATH>`
|
|
153
153
|
- `domains list|search|create|get|verify|delete`
|
|
154
154
|
- `mailboxes list|create|get|suspend|resume|forwarding|forwarding-add|forwarding-remove|app-passwords|folders|identities|stage-attachment|prepare-attachment-upload`
|
|
155
|
+
- `members list|get`
|
|
155
156
|
- `inbox list|message|threads|thread|thread-state|draft|send-draft|reply-message|reply-thread|update|move`
|
|
156
157
|
- `reply-scans create|status|results`
|
|
157
158
|
- `messages send|list|analytics|get|reply` (test keys also support `--sandbox-outcome`)
|
|
@@ -167,6 +168,10 @@ Use repeatable `--header "Name: value"` flags for request headers. Use `--output
|
|
|
167
168
|
- `newsletters create|update|preview|preflight|test-send|schedule|cancel|resume`
|
|
168
169
|
- `newsletter-assets list|upload|register-url`
|
|
169
170
|
|
|
171
|
+
Member output uses the roles `owner`, `admin`, and `member`. Its `mailbox_access.scope` is `all` or
|
|
172
|
+
`selected`; `mailbox_ids` is empty for `all`, while selected IDs may be limited to mailboxes the
|
|
173
|
+
API key can reach.
|
|
174
|
+
|
|
170
175
|
Configure a publisher-owned Atom self URL and the number of recent issues:
|
|
171
176
|
|
|
172
177
|
```bash
|
package/dist/cli.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "shipmail";
|
|
16
16
|
|
|
17
17
|
// src/version.ts
|
|
18
|
-
var VERSION = "0.6.
|
|
18
|
+
var VERSION = "0.6.1";
|
|
19
19
|
|
|
20
20
|
// src/cli.ts
|
|
21
21
|
var DEFAULT_BASE_URL = "https://shipmail.to/api/v1";
|
|
@@ -277,6 +277,7 @@ async function newsletterCreateParams(options) {
|
|
|
277
277
|
const archive_visibility = parseArchiveVisibility(options);
|
|
278
278
|
const feed_entry_url = getString(options, "feed-entry-url");
|
|
279
279
|
const styling_mode = parseStylingMode(options);
|
|
280
|
+
const track_engagement = getBoolean(options, "track-engagement");
|
|
280
281
|
const preview_text = getString(options, "preview-text");
|
|
281
282
|
return {
|
|
282
283
|
audience_id,
|
|
@@ -290,7 +291,8 @@ async function newsletterCreateParams(options) {
|
|
|
290
291
|
...send_window_hours !== void 0 ? { send_window_hours } : {},
|
|
291
292
|
...archive_visibility !== void 0 ? { archive_visibility } : {},
|
|
292
293
|
...feed_entry_url !== void 0 ? { feed_entry_url } : {},
|
|
293
|
-
...styling_mode !== void 0 ? { styling_mode } : {}
|
|
294
|
+
...styling_mode !== void 0 ? { styling_mode } : {},
|
|
295
|
+
...track_engagement !== void 0 ? { track_engagement } : {}
|
|
294
296
|
};
|
|
295
297
|
}
|
|
296
298
|
async function newsletterUpdateParams(options) {
|
|
@@ -303,6 +305,7 @@ async function newsletterUpdateParams(options) {
|
|
|
303
305
|
const archive_visibility = parseArchiveVisibility(options);
|
|
304
306
|
const feed_entry_url = getString(options, "feed-entry-url");
|
|
305
307
|
const styling_mode = parseStylingMode(options);
|
|
308
|
+
const track_engagement = getBoolean(options, "track-engagement");
|
|
306
309
|
const blocksInput = getString(options, "blocks");
|
|
307
310
|
const bodyHtmlInput = getString(options, "body-html");
|
|
308
311
|
const bodyTextInput = getString(options, "body-text");
|
|
@@ -321,7 +324,8 @@ async function newsletterUpdateParams(options) {
|
|
|
321
324
|
...send_window_hours !== void 0 ? { send_window_hours } : {},
|
|
322
325
|
...archive_visibility !== void 0 ? { archive_visibility } : {},
|
|
323
326
|
...feed_entry_url !== void 0 ? { feed_entry_url } : {},
|
|
324
|
-
...styling_mode !== void 0 ? { styling_mode } : {}
|
|
327
|
+
...styling_mode !== void 0 ? { styling_mode } : {},
|
|
328
|
+
...track_engagement !== void 0 ? { track_engagement } : {}
|
|
325
329
|
};
|
|
326
330
|
if (Object.keys(params).length === 0) {
|
|
327
331
|
throw new CliUsageError("Provide at least one field to update.");
|
|
@@ -471,8 +475,8 @@ Usage:
|
|
|
471
475
|
--name "July changelog" \\
|
|
472
476
|
--subject "What shipped in July" \\
|
|
473
477
|
--blocks @blocks.json \\
|
|
474
|
-
[--feed-entry-url https://example.com/post] [--styling-mode styled|plain]
|
|
475
|
-
shipmail newsletters update nws_789 --subject "Updated subject" --blocks @blocks-v2.json [--feed-entry-url https://example.com/post] [--styling-mode styled|plain]
|
|
478
|
+
[--feed-entry-url https://example.com/post] [--styling-mode styled|plain] [--track-engagement true|false]
|
|
479
|
+
shipmail newsletters update nws_789 --subject "Updated subject" --blocks @blocks-v2.json [--feed-entry-url https://example.com/post] [--styling-mode styled|plain] [--track-engagement true|false]
|
|
476
480
|
shipmail newsletters preview <id>
|
|
477
481
|
shipmail newsletters preflight <id>
|
|
478
482
|
shipmail newsletters test-send <id> --recipient-email owner@example.com
|
|
@@ -502,9 +506,9 @@ Usage:
|
|
|
502
506
|
shipmail audiences subscribers resubscribe <audience-id> <subscriber-id> --consent-source "Signup form"
|
|
503
507
|
shipmail audiences subscribers remove <audience-id> <subscriber-id>
|
|
504
508
|
shipmail calendar events list --mailbox hello@example.com --from 2026-08-01T00:00:00Z --to 2026-08-08T00:00:00Z [--expand true] [--limit 100]
|
|
505
|
-
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]
|
|
509
|
+
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] [--operation-key key] [--send-invitations true|false]
|
|
506
510
|
shipmail calendar events get <event-id> --mailbox hello@example.com
|
|
507
|
-
shipmail calendar events update <event-id> --mailbox hello@example.com [--title "..."] [--start ...] [--invitation-language en|fr|es]
|
|
511
|
+
shipmail calendar events update <event-id> --mailbox hello@example.com [--title "..."] [--start ...] [--invitation-language en|fr|es] [--operation-key key] [--expected-revision sha256] [--send-guest-updates true|false]
|
|
508
512
|
shipmail calendar events delete <event-id> --mailbox hello@example.com
|
|
509
513
|
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]
|
|
510
514
|
shipmail booking-pages list [--limit 25] [--cursor cur]
|
|
@@ -521,9 +525,16 @@ Conversation IDs:
|
|
|
521
525
|
<thread-id> accepts a conversation ID (thd_...) or the mail-server thread ID. Store the
|
|
522
526
|
conversation_id every response carries. thread_id is deprecated and unchanged.
|
|
523
527
|
|
|
528
|
+
Member access output:
|
|
529
|
+
role is owner, admin, or member. mailbox_access.scope is all or selected. mailbox_ids is empty
|
|
530
|
+
for all; selected IDs may be limited to mailboxes the API key can reach.
|
|
531
|
+
|
|
524
532
|
Newsletter styling:
|
|
525
533
|
--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.
|
|
526
534
|
|
|
535
|
+
Newsletter tracking:
|
|
536
|
+
--track-engagement <true|false> Track opens and clicks for this issue. Off by default. Changes only while the issue is a draft or scheduled for later.
|
|
537
|
+
|
|
527
538
|
Newsletter block prose:
|
|
528
539
|
Paragraph, quote, callout, list-item, and column bodies accept bare text or sanitized inline HTML. Use <p> and <br> for line breaks.
|
|
529
540
|
|
|
@@ -2003,6 +2014,8 @@ async function runCalendarEvents(client, parsed, out) {
|
|
|
2003
2014
|
title: getRequiredString(options, "title"),
|
|
2004
2015
|
start: getRequiredString(options, "start"),
|
|
2005
2016
|
calendar_id: getString(options, "calendar-id"),
|
|
2017
|
+
operation_key: getString(options, "operation-key"),
|
|
2018
|
+
send_invitations: getBoolean(options, "send-invitations"),
|
|
2006
2019
|
...await calendarEventFields(options)
|
|
2007
2020
|
};
|
|
2008
2021
|
writeJson(out, await client.calendar.events.create(params));
|
|
@@ -2022,6 +2035,9 @@ async function runCalendarEvents(client, parsed, out) {
|
|
|
2022
2035
|
mailbox: getRequiredString(options, "mailbox"),
|
|
2023
2036
|
title: getString(options, "title"),
|
|
2024
2037
|
start: getString(options, "start"),
|
|
2038
|
+
operation_key: getString(options, "operation-key"),
|
|
2039
|
+
expected_revision: getString(options, "expected-revision"),
|
|
2040
|
+
send_guest_updates: getBoolean(options, "send-guest-updates"),
|
|
2025
2041
|
...await calendarEventFields(options)
|
|
2026
2042
|
};
|
|
2027
2043
|
writeJson(out, await client.calendar.events.update(id, params));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipmail-cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
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.6.
|
|
44
|
+
"shipmail": "0.6.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"tsup": "^8.4.0",
|