pinsay-cli 0.12.0 → 0.14.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 +13 -0
  2. package/dist/cli.js +1066 -238
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -62,6 +62,19 @@ Full guides: https://pinsay.dev/docs/ · Issues: https://github.com/moamen-ui/pi
62
62
 
63
63
  ## Changelog
64
64
 
65
+ ### 0.14.0
66
+
67
+ - Custom statuses: `list --status`, `apply --status` and `status <number> <status>` (and the MCP `pinsay_list_comments` / `pinsay_set_status` tools) take a custom status by label or key (`c<id>`), case-insensitive. Output shows the status label; `--json` adds `statusKey` and `statusLabel` next to `status`.
68
+ - An unknown status now exits 2 with the workspace's statuses (MCP: `invalid_input`) instead of listing everything. `apply` alone still means Ready; `applied` stays Completed and is set only by `apply --mark`.
69
+
70
+ ### 0.13.0
71
+
72
+ - Comment media in `get` (human output and `--json`) and in the MCP `pinsay_get_comment` / `pinsay_get_queue` tools: recording steps (each with its screenshot), annotated screenshots, voice messages and the files on replies. Each file is named by its saved path (`media[].path`, `element.screenshotPath`; MCP `untrusted.media[].path`).
73
+ - Voice messages come with their text and `transcriptSource` (`browser` or `server`); the human output labels each transcript.
74
+ - Files are saved under `.pinsay/media/<project>/<number>/`. Only downloads from the PinSay server's own origin are saved, capped at 25 MB each and limited to safe file extensions; a file that fails reads `(download failed: …)`. Folders older than 7 days are pruned, and `apply --mark` and the MCP mark tools delete the marked comment's folder.
75
+ - The apply prompt describes recordings as "Steps to reproduce" (each step, its screenshot and what failed after it), tells the agent to read annotation marks as instructions and voice messages as the person's words, handles comments with no text (their picked prompts, annotation or voice are the instruction), and treats files on replies as evidence of what is still wrong.
76
+ - AI rules and predefined prompts now come once per response, in a shared block, and each comment references them. `apply --json` prints `{ shared, items }` (was a bare array; with several projects, each entry gains `shared`): `shared.aiRules` (with `id` and `appliesTo`) and `shared.prompts` by `id`; each item names its author's Personal rules (`aiRuleRefs`) and its picked prompts (`pickedActions[].id`). The MCP tools return the same `shared` block and the apply prompt lists rules and prompts once with ids. Works with older servers too.
77
+
65
78
  ### 0.12.0
66
79
 
67
80
  - Role AI rules: rules an admin ties to a workspace role now apply everywhere rules do — the apply prompt, `get --json` and the MCP tools. The prompt's precedence table gains the Role tier (Workspace → Project → Role → Personal), and role rules are labelled `[Role: <role name>]`.