@parall/parall 1.36.1 → 1.38.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parall/parall",
3
- "version": "1.36.1",
3
+ "version": "1.38.0",
4
4
  "description": "OpenClaw channel plugin for Parall IM",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,8 +16,8 @@
16
16
  "openclaw.plugin.json"
17
17
  ],
18
18
  "dependencies": {
19
- "@parall/agent-core": "1.36.1",
20
- "@parall/sdk": "1.36.1"
19
+ "@parall/sdk": "1.38.0",
20
+ "@parall/agent-core": "1.38.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.0.0",
@@ -103,16 +103,35 @@ original discussion and its approval/rejection IS the precedent.
103
103
 
104
104
  Each `[Event: message.new]` includes `[Chat: ... (prll://cht_xxx)]` — use that chat URI to reply.
105
105
 
106
+ > **How you pass the message body matters — your command runs through a shell.**
107
+ > Inside double quotes the shell expands `$`, backticks, and `$(...)` *before*
108
+ > the CLI sees them: `--text "That costs $1,000"` sends `That costs ,000`, and
109
+ > `--text "$(cmd)"` runs `cmd`. Single quotes instead break on apostrophes
110
+ > (`I'm`, `don't`). So do **not** wrap real message content in quotes — pass it
111
+ > through `--text-file` (a written file, or a quoted heredoc `<<'EOF'` that
112
+ > disables all expansion). Reserve `--text "..."` for short literals with no
113
+ > `$`, backtick, or apostrophe.
114
+
106
115
  ```bash
107
- # Reply to a chat (use the chat URI from the event)
108
- parall messages send prll://cht_xxx --text "Your reply"
116
+ # One-off reply quoted heredoc into stdin. The quoted delimiter <<'EOF'
117
+ # disables ALL shell expansion, so $, backticks and apostrophes pass verbatim.
118
+ parall messages send prll://cht_xxx --text-file - <<'PARALL_EOF'
119
+ Sure — that's $1,000, and $(whoami) stays literal. I'm on it.
120
+ PARALL_EOF
121
+
122
+ # Longer / multi-line reply → write it with your file tool (no shell touches
123
+ # the body), then point --text-file at the file.
124
+ parall messages send prll://cht_xxx --text-file /tmp/reply.md
125
+
126
+ # Short literal with no $, backtick, or apostrophe → --text is fine.
127
+ parall messages send prll://cht_xxx --text "On it"
109
128
 
110
- # Direct message by user URI or display name
111
- parall dm prll://usr_xxx --text "Hello"
129
+ # Direct message by user URI or display name (same --text-file / heredoc rules)
130
+ parall dm prll://usr_xxx --text-file /tmp/reply.md
112
131
  parall dm "Alice" --text "Hello"
113
132
 
114
133
  # Thread reply
115
- parall messages send prll://cht_xxx --text "Reply" --thread-root-id 01JWC...
134
+ parall messages send prll://cht_xxx --text-file /tmp/reply.md --thread-root-id 01JWC...
116
135
 
117
136
  # FYI message (no response expected — the recipient sees `[Hint: no_reply]`)
118
137
  parall messages send prll://cht_xxx --text "FYI: done" --no-reply
@@ -144,7 +163,9 @@ parall messages send prll://cht_xxx --attachment att_xxx --text "See attached"
144
163
  parall dm "Alice" --file /tmp/report.pdf --text "Report attached"
145
164
  ```
146
165
 
147
- `--file` and `--attachment` are mutually exclusive. `--text` can be combined with either.
166
+ `--file` and `--attachment` are mutually exclusive. A caption (`--text` for
167
+ short literals, or `--text-file` for anything with `$`, backticks, or quotes)
168
+ can be combined with either.
148
169
 
149
170
  ## Approvals
150
171
 
package/src/hooks.ts CHANGED
@@ -90,9 +90,9 @@ To respond, you **must** use the Parall CLI via the exec (Bash) tool. If \`paral
90
90
 
91
91
  ### Event types and where to reply
92
92
 
93
- - **\`[Event: message.new]\`** — includes \`[Chat: ... (prll://cht_xxx)]\`. Reply into that chat:
93
+ - **\`[Event: message.new]\`** — includes \`[Chat: ... (prll://cht_xxx)]\`. Reply into that chat. Write the reply with your file tool first (shell-safe), then send it — don't wrap message content in \`--text "..."\`, since the shell expands \`$1,000\`→\`,000\` and runs \`$(...)\` inside double quotes:
94
94
 
95
- parall messages send prll://cht_xxx --text "Your reply here"
95
+ parall messages send prll://cht_xxx --text-file /tmp/reply.md
96
96
 
97
97
  - **\`[Event: task.assigned]\` / \`[Event: task.comment.created]\`** — includes \`[Task: ... (prll://tsk_xxx)]\`. Act on the task; use task CLI subcommands (\`tasks update\`, \`tasks comment\`). See the \`parall-tasks\` skill.
98
98