@wirecat/cli-core 0.521.0 → 0.523.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/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ shape of this file.
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 0.523.0 — 01.11.2026
11
+
12
+ ### Added
13
+
14
+ - **The request pace from `@wirecat/cli-core/sends`.** `Pacer`, `DEFAULT_PACE`, `PaceRate` and `pacePathFor` were only
15
+ inside the messenger context; a CLI that is not a messenger (mail's SMTP sends) now spaces its writes with the same
16
+ file-shared pace.
17
+
18
+ ## 0.522.0 — 01.11.2026
19
+
20
+ ### Added
21
+
22
+ - **Mail actions in the send journal.** `AccountAction` takes `message-flag`, `message-move`, `message-copy`,
23
+ `message-delete` and `message-restore`, so a mail CLI journals its changes to a mailbox under its own words. Like
24
+ the other `account` actions they count toward no hourly limit: organising mail reaches nobody.
25
+
10
26
  ## 0.521.0 — 01.11.2026
11
27
 
12
28
  ### Fixed
@@ -3,6 +3,7 @@ export { type FloodDeadline, FloodMemory, type FloodState, FROZEN_HOLD_MS, flood
3
3
  export { type Asker, type GuardRequest, guardFor, type SendGuard, type SendGuardOptions, sendGuard, sharedJournal, } from "./guard.js";
4
4
  export { currentOperation, guardedWrite, type Operated } from "./guarded.js";
5
5
  export { type AccountAction, type ChatAction, type SendEntry, SendJournal, type SendKind, type SendOutcome, sendsPathFor, } from "./journal.js";
6
+ export { DEFAULT_PACE, type PaceRate, Pacer, pacePathFor } from "./pace.js";
6
7
  export { assertOverridesTighten, CEILING_KEY, COMMAND_PATH_KEY, DEFAULT_PERMISSIONS, keyForCommand, keyForWrite, LEVELS, type Level, layerPermissions, levelFor, type PermissionKey, permissionOverrides, readKeysForCommand, skipFlagFor, WRITE_KEYS, } from "./permissions.js";
7
8
  export { type Recipient, RecipientList, recipientsPathFor } from "./recipients.js";
8
9
  export { newOperationId, newSendId } from "./send-id.js";
@@ -2,6 +2,7 @@ export { FloodMemory, FROZEN_HOLD_MS, floodPathFor, LIMITED_HOLD_MS, } from "./f
2
2
  export { guardFor, sendGuard, sharedJournal, } from "./guard.js";
3
3
  export { currentOperation, guardedWrite } from "./guarded.js";
4
4
  export { SendJournal, sendsPathFor, } from "./journal.js";
5
+ export { DEFAULT_PACE, Pacer, pacePathFor } from "./pace.js";
5
6
  export { assertOverridesTighten, CEILING_KEY, COMMAND_PATH_KEY, DEFAULT_PERMISSIONS, keyForCommand, keyForWrite, LEVELS, layerPermissions, levelFor, permissionOverrides, readKeysForCommand, skipFlagFor, WRITE_KEYS, } from "./permissions.js";
6
7
  export { RecipientList, recipientsPathFor } from "./recipients.js";
7
8
  export { newOperationId, newSendId } from "./send-id.js";
@@ -8,7 +8,7 @@ export type SendKind = "message" | "reaction" | "edit" | "forward" | "pin" | "re
8
8
  /** What a `chat` entry did. Never a title, a description or a link — only which action. */
9
9
  export type ChatAction = "create" | "join" | "leave" | "delete" | "clear" | "members.add" | "members.remove" | "admins.add" | "admins.remove" | "update" | "settings" | "requests.accept" | "requests.decline" | "link.reset" | "link.create" | "link.revoke" | "link.update" | "forum-upgrade" | "forum-enable" | "topic-create" | "topic-edit" | "topic-delete" | "topic-close" | "topic-reopen" | "topic-pin" | "topic-unpin" | "topic-order" | "topic-hide" | "topic-unhide";
10
10
  /** What an `account` entry changed. Never the value it changed it to — no name, number or title. */
11
- export type AccountAction = "contact-add" | "contact-remove" | "contact-import" | "contact-rename" | "contact-block" | "contact-unblock" | "profile" | "folder-create" | "folder-update" | "folder-delete" | "folder-order" | "folder-join" | "sessions-end" | "chat-mute" | "chat-unmute" | "chat-archive" | "chat-unarchive" | "chat-pin" | "chat-unpin" | "chat-mark-unread" | "message-star" | "message-unstar" | "privacy";
11
+ export type AccountAction = "contact-add" | "contact-remove" | "contact-import" | "contact-rename" | "contact-block" | "contact-unblock" | "profile" | "folder-create" | "folder-update" | "folder-delete" | "folder-order" | "folder-join" | "sessions-end" | "chat-mute" | "chat-unmute" | "chat-archive" | "chat-unarchive" | "chat-pin" | "chat-unpin" | "chat-mark-unread" | "message-star" | "message-unstar" | "message-flag" | "message-move" | "message-copy" | "message-delete" | "message-restore" | "privacy";
12
12
  /** One attempt to send. **Never the text** — only its length. */
13
13
  export interface SendEntry {
14
14
  at: string;
@@ -173,6 +173,12 @@ const ACCOUNT_KEYS = {
173
173
  "chat-mark-unread": "chats.mark-unread",
174
174
  "message-star": "messages.star",
175
175
  "message-unstar": "messages.unstar",
176
+ // A mail CLI names its own key on every write; these only answer `keyForWrite` when one is left out.
177
+ "message-flag": "messages.update",
178
+ "message-move": "messages.move",
179
+ "message-copy": "messages.copy",
180
+ "message-delete": "messages.trash",
181
+ "message-restore": "messages.restore",
176
182
  privacy: "account.privacy.set",
177
183
  };
178
184
  const KIND_KEYS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/cli-core",
3
- "version": "0.521.0",
3
+ "version": "0.523.0",
4
4
  "description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Viacheslav Ptsarev",