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.
- package/README.md +98 -3
- package/dist/index.js +5132 -44
- 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
|
[](https://www.npmjs.com/package/maeve-cli)
|
|
6
10
|
[](https://nodejs.org)
|
|
7
11
|
[](./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
|
|
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,
|
|
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
|
|
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:
|