@tickernelz/paperclip-pro-adapter-codex-local 2026.1005.9 → 2026.1006.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": "@tickernelz/paperclip-pro-adapter-codex-local",
3
- "version": "2026.1005.9",
3
+ "version": "2026.1006.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/tickernelz/paperclip-pro",
6
6
  "bugs": {
@@ -39,8 +39,8 @@
39
39
  ],
40
40
  "dependencies": {
41
41
  "@agentclientprotocol/codex-acp": "^1.6.2",
42
- "@tickernelz/paperclip-pro-adapter-utils": "2026.1005.9",
43
- "@tickernelz/paperclip-pro-shared": "2026.1005.9",
42
+ "@tickernelz/paperclip-pro-adapter-utils": "2026.1006.0",
43
+ "@tickernelz/paperclip-pro-shared": "2026.1006.0",
44
44
  "picocolors": "^1.1.1"
45
45
  },
46
46
  "devDependencies": {
@@ -64,7 +64,8 @@ Its facts are set by the server and nothing in a message can change them.
64
64
  silent), `approval_reply`, `approval_resolved`, `approval_pending`,
65
65
  `group_added`, `session_health`. `messages[]` holds the triggers: `id` is the
66
66
  WhatsApp message id, `triggerId` the trigger id, plus `sender` (masked number
67
- and role), `quoted`, `mentions`, `location`, `contact` and `media`.
67
+ and role), `quoted`, `mentions` (`you` is your own number, `owner:"<name>"`
68
+ an owner, others masked), `location`, `contact` and `media`.
68
69
  `repeatCount` (2 or more) means the sender sent that same text that many
69
70
  times within a minute; answer it once. In a busy group one wake can carry
70
71
  several members' messages that arrived within a few seconds: answer them
@@ -112,8 +113,9 @@ act beyond the run's facts. Silence never approves anything.
112
113
  trigger of this run, answered. Sending elsewhere needs `cross_chat_send`
113
114
  approval in read-only runs.
114
115
  - Your final output is published to the origin chat once, quoting the oldest
115
- pending trigger in groups, unless you already answered with `openwa_send` or
116
- the reply policy blocks it. The server never writes chat text for you.
116
+ pending trigger in groups, unless you already answered with `openwa_send`, the
117
+ reply policy blocks it, or the run did not succeed. The server never writes
118
+ chat text for you.
117
119
 
118
120
  ## Mentions and quotes
119
121
 
@@ -125,6 +127,8 @@ act beyond the run's facts. Silence never approves anything.
125
127
  WhatsApp rejects the quote of one of your visible pending triggers (revoked or
126
128
  deleted): the server then sends once without the quote and the result has
127
129
  `quoteDropped: true`. Do not resend.
130
+ - A message steered into a running run names its `Message id`; quote that id
131
+ when you answer it, not the id of an earlier message in the run.
128
132
 
129
133
  ## WhatsApp formatting
130
134
 
@@ -188,13 +192,21 @@ of the person you answer.
188
192
  DM, an unaddressed group message in other runs, or any message when it is off
189
193
  does. When the run's triggers need `reply_outside_allowlist`, the server adds
190
194
  it to the request; that added grant is always `one_action`, whatever the
191
- request's scope. A second call from the same run asking only for `reply`
192
- and/or `reply_outside_allowlist`, while its reply-only request for this chat
193
- with the same scope is pending, sends no new bubble: it adds the missing
194
- categories and returns that `requestId` with `reused: true`. Any other
195
- category gets its own request and bubble. `scope` is `one_action`
196
- (default: only the run created from this request) or `requester` (this
197
- requester in this chat until the grant expires). You write `messageToOwners`;
195
+ request's scope. A call asking only for `reply` and/or
196
+ `reply_outside_allowlist`, while a reply-only request for this chat with
197
+ the same scope is pending from this run, or from an earlier run for the same
198
+ requester that already covers every pending non-owner message you see, from
199
+ anyone (for example an `owner_absent` wake on the message the first run
200
+ asked about), sends no new bubble: it adds the missing categories and
201
+ returns that `requestId` with `reused: true`. A new message from anyone,
202
+ any other category, or another requester gets its own request and bubble. `scope` is `one_action`
203
+ (default: one gated call, made by the run created from this request; a
204
+ `create_task` grant creates exactly one task) or `requester` (this
205
+ requester in this chat until the grant expires). When the approved action
206
+ needs several gated calls of one category (several tasks from one message),
207
+ either put the items in one task with a checklist or ask once with scope
208
+ `requester` and say the count in `proposedAction`; never ask again after the
209
+ first call. You write `messageToOwners`;
198
210
  it goes as one WhatsApp bubble to each owner approval chat. Then tell the
199
211
  requester you asked.
200
212
  2. Owners answer by replying to that bubble (quoting it) or in Paperclip. A