patchcord 0.3.86 → 0.3.88
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/bin/patchcord.mjs
CHANGED
|
@@ -799,7 +799,7 @@ if (!cmd || cmd === "install" || cmd === "agent" || cmd === "--token" || cmd ===
|
|
|
799
799
|
const skillDest = join(cwd, ".agents", "skills", "patchcord");
|
|
800
800
|
mkdirSync(skillDest, { recursive: true });
|
|
801
801
|
writeFileSync(join(skillDest, "SKILL.md"),
|
|
802
|
-
readFileSync(join(pluginRoot, "skills", "codex", "SKILL.md"), "utf-8"));
|
|
802
|
+
readFileSync(join(pluginRoot, "per-project-skills", "codex", "SKILL.md"), "utf-8"));
|
|
803
803
|
const waitDest = join(cwd, ".agents", "skills", "patchcord-wait");
|
|
804
804
|
mkdirSync(waitDest, { recursive: true });
|
|
805
805
|
writeFileSync(join(waitDest, "SKILL.md"),
|
|
@@ -863,7 +863,7 @@ if (!cmd || cmd === "install" || cmd === "agent" || cmd === "--token" || cmd ===
|
|
|
863
863
|
},
|
|
864
864
|
}, null, 2) + "\n");
|
|
865
865
|
writeFileSync(join(pluginDir, "skills", "patchcord", "SKILL.md"),
|
|
866
|
-
readFileSync(join(pluginRoot, "skills", "codex", "SKILL.md"), "utf-8"));
|
|
866
|
+
readFileSync(join(pluginRoot, "per-project-skills", "codex", "SKILL.md"), "utf-8"));
|
|
867
867
|
writeFileSync(join(pluginDir, "skills", "patchcord-wait", "SKILL.md"),
|
|
868
868
|
readFileSync(join(pluginRoot, "skills", "wait", "SKILL.md"), "utf-8"));
|
|
869
869
|
|
|
@@ -887,7 +887,7 @@ if (!cmd || cmd === "install" || cmd === "agent" || cmd === "--token" || cmd ===
|
|
|
887
887
|
const globalSkillDir = join(homedir(), ".agents", "skills", "patchcord");
|
|
888
888
|
mkdirSync(globalSkillDir, { recursive: true });
|
|
889
889
|
writeFileSync(join(globalSkillDir, "SKILL.md"),
|
|
890
|
-
readFileSync(join(pluginRoot, "skills", "codex", "SKILL.md"), "utf-8"));
|
|
890
|
+
readFileSync(join(pluginRoot, "per-project-skills", "codex", "SKILL.md"), "utf-8"));
|
|
891
891
|
const globalWaitDir = join(homedir(), ".agents", "skills", "patchcord-wait");
|
|
892
892
|
mkdirSync(globalWaitDir, { recursive: true });
|
|
893
893
|
writeFileSync(join(globalWaitDir, "SKILL.md"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchcord",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.88",
|
|
4
4
|
"description": "Cross-machine agent messaging for Claude Code and Codex",
|
|
5
5
|
"author": "ppravdin",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"hooks/",
|
|
27
27
|
"scripts/",
|
|
28
28
|
"skills/",
|
|
29
|
+
"per-project-skills/",
|
|
29
30
|
"commands/",
|
|
30
31
|
"README.md"
|
|
31
32
|
]
|
package/scripts/check-inbox.sh
CHANGED
|
@@ -105,10 +105,20 @@ if [ -n "$NAMESPACE" ] && [ -n "$AGENT_ID" ]; then
|
|
|
105
105
|
fi
|
|
106
106
|
fi
|
|
107
107
|
|
|
108
|
-
# ── Inbox notification
|
|
108
|
+
# ── Inbox notification (deduplicated across Stop + Notification hooks) ──
|
|
109
109
|
COUNT=$(echo "$RESPONSE" | jq -r '.count // .pending_count // 0' 2>/dev/null || echo "0")
|
|
110
110
|
|
|
111
111
|
if [ "$COUNT" -gt 0 ]; then
|
|
112
|
+
NOTIFY_LOCK="/tmp/patchcord_notify_lock"
|
|
113
|
+
LOCK_AGE=5
|
|
114
|
+
if [ -f "$NOTIFY_LOCK" ]; then
|
|
115
|
+
LOCK_MTIME=$(stat -c %Y "$NOTIFY_LOCK" 2>/dev/null || stat -f %m "$NOTIFY_LOCK" 2>/dev/null || echo "0")
|
|
116
|
+
NOW=$(date +%s)
|
|
117
|
+
if [ $(( NOW - LOCK_MTIME )) -lt $LOCK_AGE ]; then
|
|
118
|
+
exit 0 # Already notified within 5s
|
|
119
|
+
fi
|
|
120
|
+
fi
|
|
121
|
+
touch "$NOTIFY_LOCK"
|
|
112
122
|
jq -n --arg count "$COUNT" '{
|
|
113
123
|
"decision": "block",
|
|
114
124
|
"reason": ($count + " patchcord message(s) waiting. Call inbox() and reply to all immediately.")
|
|
File without changes
|
|
File without changes
|