@parall/parall 1.44.0 → 1.46.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.44.0",
3
+ "version": "1.46.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.44.0",
20
- "@parall/sdk": "1.44.0"
19
+ "@parall/sdk": "1.46.0",
20
+ "@parall/agent-core": "1.46.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.0.0",
@@ -31,6 +31,9 @@ Results are JSON on stdout; failures print an error.
31
31
  clip's owner or an admin to bind it — do not retry or work around it.
32
32
  - If the executing runtime is offline or the call times out, report that
33
33
  plainly; do not queue, and never fabricate a result for a run that errored.
34
+ - Hosted browser activation is handled by the CLI: it waits (bounded) while a
35
+ cold hosted browser starts, so if the invoke still fails, report the error —
36
+ do not blind-retry in a loop.
34
37
  - A clip may act through a person's real logged-in account — outward,
35
38
  irreversible, or spending actions (post, order, delete, pay) get the same
36
39
  caution as any shared-state change: confirm when intent isn't explicit.
@@ -40,7 +40,7 @@ parall schedules create \
40
40
  --run-at <FUTURE_RFC3339_TIME>
41
41
  ```
42
42
 
43
- `--target-ids` is who receives the fire (usually yourself when you're self-scheduling; another agent or human when delegating). `--attached-to-uri` optionally anchors the schedule to a task / chat / project / wiki page — when that resource is archived or deleted, the schedule auto-cancels (`cancel_reason=attached_gone`).
43
+ `--target-ids` is who receives the fire (usually yourself when you're self-scheduling; another agent or human when delegating). `--attached-to-uri` optionally anchors the schedule to a task / chat / project / wiki page — when that resource is archived or deleted, the schedule auto-cancels (`status_reason=attached_gone`). A schedule whose agent targets all sit on a terminated machine is auto-paused by the platform (`status_reason=attendee_unreachable`) instead of firing into a void; resuming a recurring schedule while the machine is still terminated just pauses it again on the next slot (a one-shot resumed past its catch-up window instead follows the normal missed semantics and completes).
44
44
 
45
45
  ### Reminders for someone else
46
46
 
@@ -39,16 +39,32 @@ parall tasks list --assignee-id prll://usr_xxx # first page only (default 20)
39
39
  parall tasks subtasks prll://tsk_xxx # children of a single parent task
40
40
 
41
41
  # Create a task (add --parent-id to make it a SUBTASK of another task)
42
- parall tasks create --title "Task title" [--assignee-id prll://usr_xxx] [--parent-id prll://tsk_xxx] [--project-id prll://prj_xxx]
42
+ parall tasks create --title "Task title" [--assignee-id prll://usr_xxx] [--parent-id prll://tsk_xxx] [--project-id prll://prj_xxx] [--due-date 2026-08-01]
43
43
 
44
- # Update task status
45
- parall tasks update prll://tsk_xxx --status in_progress
46
- parall tasks update prll://tsk_xxx --status done
44
+ # Update task status — add --placement end so the task lands at the end of
45
+ # its NEW status column (a bare --status keeps the old column's sort_order)
46
+ parall tasks update prll://tsk_xxx --status in_progress --placement end
47
+ parall tasks update prll://tsk_xxx --status done --placement end
48
+
49
+ # Due date — a plain YYYY-MM-DD date (no timestamps); "none" clears it
50
+ parall tasks update prll://tsk_xxx --due-date 2026-08-01
51
+ parall tasks update prll://tsk_xxx --due-date none
52
+
53
+ # Move a task to the end of its status column
54
+ parall tasks update prll://tsk_xxx --placement end
47
55
 
48
56
  # Add a comment
49
57
  parall tasks comments add prll://tsk_xxx --body "Progress update..."
50
58
  ```
51
59
 
60
+ Ordering: to append a task to the end of a status column, always use
61
+ `--placement end` — the server resolves the position atomically. This
62
+ includes status changes: a bare `--status` keeps the task's old
63
+ `sort_order`, which may collide inside the new column. Do NOT compute a
64
+ `sort_order` value yourself from listed tasks (your view may be stale or
65
+ partial). `--sort-order` is only for pinpoint insertion between two cards
66
+ you just listed, and it cannot be combined with `--placement`.
67
+
52
68
  Subtasks are just tasks with a parent: create one with `tasks create --parent-id`,
53
69
  re-parent with `tasks update --parent-id`, list a parent's children with
54
70
  `tasks subtasks`. `tasks list` without `--parent-id` already returns both
@@ -83,7 +99,7 @@ watcher.
83
99
  When you receive `[Event: task.assigned]`:
84
100
 
85
101
  1. Acknowledge with a comment: `tasks comments add prll://tsk_xxx --body "On it"`
86
- 2. Update status: `tasks update prll://tsk_xxx --status in_progress`
102
+ 2. Update status: `tasks update prll://tsk_xxx --status in_progress --placement end`
87
103
  3. Do the work
88
104
  4. Report results in a comment. If a gate remains — review, merge, deploy,
89
105
  requester acceptance — set `in_review` and name the gate; set `done`
package/src/gateway.ts CHANGED
@@ -254,6 +254,10 @@ export function createOpenClawDispatchAdapter(opts: {
254
254
  }
255
255
 
256
256
  return {
257
+ // dispatch() maps earlierEvents into native InboundHistory below — the
258
+ // gateway must not also concatenate them into bodyForAgent.
259
+ earlierEventsInPrompt: true,
260
+
257
261
  abortDispatch(sessionKey: string): void {
258
262
  activeStreams.get(sessionKey)?.fail(new Error('dispatch deadline exceeded'));
259
263
  },