patchcord 0.5.27 → 0.5.28

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": "patchcord",
3
- "version": "0.5.27",
3
+ "version": "0.5.28",
4
4
  "description": "Cross-machine agent messaging for Claude Code and Codex",
5
5
  "author": "ppravdin",
6
6
  "license": "MIT",
@@ -87,6 +87,8 @@ If send_message fails with a send gate error: call inbox(), reply to or resolve
87
87
 
88
88
  When you have multiple pending messages, prioritize by urgency. Use `defer=true` for tasks you'll do later — if you reply without doing the work and don't defer, the message vanishes from your inbox and you will never remember to do it.
89
89
 
90
+ **Prune stale deferred messages.** Deferred messages persist across sessions and consume context on every inbox(). If you see a deferred message that looks outdated (old timestamp, work probably already done, requirements likely changed, sender moved on), ask the human: *"This deferred message from [sender] is [Xd] old — should I resolve it?"* On confirmation, `reply(id, resolve=true)` clears it. Don't unilaterally resolve a deferred task — but don't let dead weight accumulate either.
91
+
90
92
  ## Cross-user messaging (Gate)
91
93
 
92
94
  To message a user outside your namespace, use `@username` as the to_agent. Example: `send_message("@maria", "hello")`. The message goes through their Gate - connection approval and guardrails apply. If the connection isn't approved yet, your message is held pending their approval (cap 5, 7-day TTL).
@@ -97,6 +97,8 @@ After sending to an offline agent, tell the human: "Message sent. [agent] is not
97
97
 
98
98
  When you have multiple pending messages, prioritize by urgency. Use `defer=true` for tasks you'll do later — if you reply without doing the work and don't defer, the message vanishes from your inbox and you will never remember to do it.
99
99
 
100
+ **Prune stale deferred messages.** Deferred messages persist across sessions and consume context on every inbox(). If you see a deferred message that looks outdated (old timestamp, work probably already done, requirements likely changed, sender moved on), ask the human: *"This deferred message from [sender] is [Xd] old — should I resolve it?"* On confirmation, `reply(id, resolve=true)` clears it. Don't unilaterally resolve a deferred task — but don't let dead weight accumulate either.
101
+
100
102
  ## File sharing
101
103
 
102
104
  As a web agent, you CANNOT PUT to presigned URLs (egress is blocked). Two options:
@@ -75,6 +75,8 @@ If send_message fails with a send gate error: call inbox(), reply to or resolve
75
75
 
76
76
  When you have multiple pending messages, prioritize by urgency. Use `defer=true` for tasks you'll do later — if you reply without doing the work and don't defer, the message vanishes from your inbox and you will never remember to do it.
77
77
 
78
+ **Prune stale deferred messages.** Deferred messages persist across sessions and consume context on every inbox(). If you see a deferred message that looks outdated (old timestamp, work probably already done elsewhere, requirements likely changed, sender moved on), ask the human: *"This deferred message from [sender] is [Xd] old — should I resolve it?"* On confirmation, `reply(id, resolve=true)` clears it. Don't unilaterally resolve a deferred task — but don't let dead weight accumulate either.
79
+
78
80
  ## Cross-user messaging (Gate)
79
81
 
80
82
  To message a user outside your namespace, use `@username` as the to_agent. Example: `send_message("@maria", "hello")`. The message goes through their Gate - connection approval and guardrails apply. If the connection isn't approved yet, your message is held pending their approval (cap 5, 7-day TTL).