maeve-cli 0.10.0 → 0.11.0

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 (3) hide show
  1. package/README.md +98 -3
  2. package/dist/index.js +5132 -44
  3. package/package.json +12 -11
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  A command-line tool for the Maeve public API. Schedule posts, manage media, run analytics, and send client reviews from a terminal or a script.
4
4
 
5
+ The current package exposes 181 commands across 15 command groups. It is a `/v1` REST client
6
+ and never calls MCP. Inbox automation rules and the 41-operation Workbench v2 API are not CLI
7
+ surfaces. See [`SCOPE.md`](./SCOPE.md) for the complete inclusion and exemption rules.
8
+
5
9
  [![npm](https://img.shields.io/npm/v/maeve-cli.svg)](https://www.npmjs.com/package/maeve-cli)
6
10
  [![node](https://img.shields.io/node/v/maeve-cli.svg)](https://nodejs.org)
7
11
  [![license](https://img.shields.io/npm/l/maeve-cli.svg)](./LICENSE)
@@ -231,10 +235,14 @@ maeve content:archive --workspace <id> --id <contentId>
231
235
  maeve content:restore --workspace <id> --id <contentId>
232
236
  maeve content:retry --workspace <id> --id <contentId>
233
237
  maeve content:delete --workspace <id> --id <contentId>
238
+ maeve content:recurring-occurrence:cancel --workspace <id> --occurrence <occurrenceId> --yes
239
+ maeve content:recurring-series:cancel --workspace <id> --series <seriesId> --effective-occurrence <occurrenceId> [--expected-version <number>] --yes
234
240
  maeve content:failed-count --workspace <id>
235
241
  maeve content:pending-approval-count --workspace <id>
236
242
  ```
237
243
 
244
+ `content:delete` refuses content that belongs to a recurring series; use the recurring cancel commands instead. `content:list` includes a `recurringMetadata` object on recurring-linked items with the `seriesId`, `occurrenceId`, and `seriesVersion` those commands need. `content:recurring-occurrence:cancel` cancels a single occurrence. `content:recurring-series:cancel` cancels the series and every not-yet-published occurrence from the effective occurrence forward. Both require `--yes` because they remove scheduled publishing work.
245
+
238
246
  Approvals, comments, and activity:
239
247
 
240
248
  ```bash
@@ -347,7 +355,7 @@ maeve analytics:report --workspace <id> --provider instagram --json analytics-re
347
355
 
348
356
  `analytics:posts` is single-integration. `analytics:posts-aggregate` accepts `--integration-ids` and `--sort-by recent|engagement|views`.
349
357
 
350
- `analytics:report` is team-plan only. It saves the PDF to `--output`. Stdout stays JSON metadata.
358
+ `analytics:report` is standard-plan only. It saves the PDF to `--output`. Stdout stays JSON metadata.
351
359
 
352
360
  ### Inbox
353
361
 
@@ -368,10 +376,49 @@ maeve inbox:note --workspace <id> --thread <threadId> --json inbox-note.json
368
376
  maeve inbox:moderate --workspace <id> --message <messageId> --json inbox-moderate.json --yes
369
377
  maeve inbox:retry-message --workspace <id> --message <messageId> --yes
370
378
  maeve inbox:delete-failed --workspace <id> --message <messageId> --yes
379
+ maeve inbox:tags --workspace <id> --include-archived
380
+ maeve inbox:tags:create --workspace <id> --name "Needs follow-up" --color "#2563eb"
381
+ maeve inbox:tags:update --workspace <id> --tag <tagId> --name "Replied"
382
+ maeve inbox:tags:archive --workspace <id> --tag <tagId>
383
+ maeve inbox:tags:restore --workspace <id> --tag <tagId>
384
+ maeve inbox:tags:delete --workspace <id> --tag <tagId> --yes
385
+ maeve inbox:tags:reorder --workspace <id> --json inbox-tag-order.json
386
+ maeve inbox:tag-thread --workspace <id> --thread <threadId> --tag <tagId>
371
387
  ```
372
388
 
373
389
  `inbox:resolve` and `inbox:resolve-message` accept an optional `--json` file with a resolution reason and note. `inbox:resolve-all` resolves every thread matching the filter payload and requires `--yes`. The reopen commands take no body.
374
390
 
391
+ `inbox:tag-thread` replaces the complete tag set on one thread. Repeat `--tag` to assign
392
+ several tags, or omit it to clear all tags. `inbox:tags:delete` removes the tag from every
393
+ conversation and therefore requires `--yes`.
394
+
395
+ ### Task board
396
+
397
+ ```bash
398
+ maeve tasks:list --workspace <id>
399
+ maeve tasks:archive --workspace <id> --limit 50
400
+ maeve tasks:get --workspace <id> --id <taskId> --include-comments --include-activity
401
+ maeve tasks:for-post --workspace <id> --post-id <postId>
402
+ maeve tasks:linkable-posts --workspace <id> --query "launch" --stage drafting
403
+ maeve tasks:comments --workspace <id> --id <taskId>
404
+ maeve tasks:activity --workspace <id> --id <taskId> --limit 50
405
+ maeve tasks:create --workspace <id> --json task.json
406
+ maeve tasks:update --workspace <id> --id <taskId> --json task-update.json
407
+ maeve tasks:move --workspace <id> --id <taskId> --json task-move.json
408
+ maeve tasks:archive-task --workspace <id> --id <taskId>
409
+ maeve tasks:restore --workspace <id> --id <taskId>
410
+ maeve tasks:delete --workspace <id> --id <taskId> --yes
411
+ maeve tasks:comments:create --workspace <id> --id <taskId> --json task-comment.json
412
+ maeve tasks:checklist:create --workspace <id> --id <taskId> --json checklist-item.json
413
+ maeve tasks:checklist:update --workspace <id> --id <taskId> --item <itemId> --json checklist-update.json
414
+ maeve tasks:checklist:move --workspace <id> --id <taskId> --item <itemId> --json checklist-move.json
415
+ maeve tasks:checklist:delete --workspace <id> --id <taskId> --item <itemId> --yes
416
+ ```
417
+
418
+ `tasks:archive` lists archived tasks; `tasks:archive-task` archives one task. Archived tasks
419
+ are read-only until `tasks:restore` brings them back. `tasks:delete` and
420
+ `tasks:checklist:delete` require `--yes`; deleted tasks cannot be restored.
421
+
375
422
  ### Grid planner
376
423
 
377
424
  ```bash
@@ -388,7 +435,7 @@ maeve grid:promote --workspace <id> --item <itemId> --json grid-promote.json --y
388
435
 
389
436
  ### Boosts
390
437
 
391
- Read-only, team plan. The CLI reads boost state for reporting but does not create, pause,
438
+ Read-only, standard plan. The CLI reads boost state for reporting but does not create, pause,
392
439
  resume, delete, or estimate boosts, because those spend Meta ad budget. Run those from the
393
440
  app.
394
441
 
@@ -460,7 +507,7 @@ Common fields:
460
507
 
461
508
  ### Approvals and client reviews
462
509
 
463
- Approval and client review commands need an team workspace plan and the role shown in each command's `--help`. Payloads mirror the public API DTOs.
510
+ Approval and client review commands need a standard workspace plan and the role shown in each command's `--help`. Payloads mirror the public API DTOs.
464
511
 
465
512
  Internal approval request:
466
513
 
@@ -537,6 +584,54 @@ Read-all takes the same filter shape as listing threads. Use `{}` only when you
537
584
  }
538
585
  ```
539
586
 
587
+ ### Task board
588
+
589
+ Create:
590
+
591
+ ```json
592
+ {
593
+ "title": "Draft launch teaser",
594
+ "description": "Short teaser for the spring drop.",
595
+ "priority": "high",
596
+ "dueAt": "2026-09-01",
597
+ "assigneeIds": ["00000000-0000-4000-8000-000000000001"],
598
+ "checklistItemTitles": ["Write caption", "Pick cover image"]
599
+ }
600
+ ```
601
+
602
+ Update payloads carry only the fields to change. Pass `null` to clear a value or remove the
603
+ content post link. Assignee and label arrays are full replacement sets.
604
+
605
+ ```json
606
+ { "priority": null, "postId": null, "dueAt": "2026-09-05" }
607
+ ```
608
+
609
+ Move (omit both anchors to place the task at the top of the column):
610
+
611
+ ```json
612
+ { "targetColumnId": "00000000-0000-4000-8000-000000000002", "afterTaskId": null }
613
+ ```
614
+
615
+ Comment (@mentions notify workspace members):
616
+
617
+ ```json
618
+ { "content": "Ready for review @Brie." }
619
+ ```
620
+
621
+ Checklist create, update, and move:
622
+
623
+ ```json
624
+ { "title": "Write caption" }
625
+ ```
626
+
627
+ ```json
628
+ { "isCompleted": true }
629
+ ```
630
+
631
+ ```json
632
+ { "beforeItemId": "00000000-0000-4000-8000-000000000003" }
633
+ ```
634
+
540
635
  ### Grid planner
541
636
 
542
637
  Visual-only item: