social-autoposter 1.6.159 → 1.6.161
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/mcp/dist/version.json
CHANGED
package/mcp/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"dxt_version": "0.1",
|
|
3
3
|
"name": "social-autoposter",
|
|
4
4
|
"display_name": "S4L",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.161",
|
|
6
6
|
"description": "Draft, review, approve, and autopilot X/Twitter posts.",
|
|
7
7
|
"long_description": "The disclaimer above is generic Claude boilerplate. S4L is an open source product developed by Mediar.ai Incorporated, a VC-backed San Francisco-based startup.\n\nTo get started:\n\n1\\. Copy this prompt: **Set me up on S4L end to end**\n\n2\\. Quit fully with CMD+Q, restart Claude, and paste the prompt into a new chat.",
|
|
8
8
|
"author": {
|
package/mcp/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m13v/social-autoposter-mcp",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.161",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Desktop MCP client for social-autoposter (X/Twitter rail): manual draft/review/approve loop, autopilot control, and stats. Thin wrapper over the existing pipeline scripts.",
|
|
6
6
|
"license": "MIT",
|
package/package.json
CHANGED
package/scripts/claude_job.py
CHANGED
|
@@ -61,8 +61,8 @@ TAG_TO_TYPE = {
|
|
|
61
61
|
# the reply drafting. Both the launchd provider (which blocks for minutes) and the
|
|
62
62
|
# scheduled-task worker (which does the LLM turn) narrate from this one map.
|
|
63
63
|
TYPE_TO_ACTIVITY = {
|
|
64
|
-
"twitter-query": ("scanning", "
|
|
65
|
-
"twitter-prep": ("drafting", "
|
|
64
|
+
"twitter-query": ("scanning", "queries"),
|
|
65
|
+
"twitter-prep": ("drafting", "draft"),
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
|
|
@@ -73,7 +73,7 @@ def _act_write(qtype: str) -> None:
|
|
|
73
73
|
if not sl:
|
|
74
74
|
return
|
|
75
75
|
try:
|
|
76
|
-
_activity.write(sl[0], sl[1])
|
|
76
|
+
_activity.write(sl[0], f"{sl[1]}: starting")
|
|
77
77
|
except Exception:
|
|
78
78
|
pass
|
|
79
79
|
|
|
@@ -115,9 +115,9 @@ def _act_write_progress(
|
|
|
115
115
|
return
|
|
116
116
|
state, base = sl
|
|
117
117
|
if claimed_at is None:
|
|
118
|
-
label = f"{base}
|
|
118
|
+
label = f"{base}: queued {_fmt_dur(now - created)}"
|
|
119
119
|
else:
|
|
120
|
-
label = f"{base}
|
|
120
|
+
label = f"{base}: {_fmt_dur(now - claimed_at)}"
|
|
121
121
|
try:
|
|
122
122
|
_activity.write(state, label)
|
|
123
123
|
except Exception:
|
|
@@ -30,7 +30,7 @@ trap 'kill "$HB_PID" 2>/dev/null || true; rm -f "$OUT"; "$PY" "$REPO_DIR/scripts
|
|
|
30
30
|
# Phase 1 reports them — so the menu bar actually moves. Reads $OUT only; never
|
|
31
31
|
# touches the locked cycle. heartbeat() re-stamps ONLY while the state is still
|
|
32
32
|
# "scanning", so once the provider advances the phase it goes quiet (no flicker).
|
|
33
|
-
"$PY" "$REPO_DIR/scripts/saps_activity.py" write scanning "
|
|
33
|
+
"$PY" "$REPO_DIR/scripts/saps_activity.py" write scanning "scan: starting" 2>/dev/null || true
|
|
34
34
|
SCAN_T0=$(date +%s)
|
|
35
35
|
(
|
|
36
36
|
while true; do
|
|
@@ -45,9 +45,9 @@ SCAN_T0=$(date +%s)
|
|
|
45
45
|
if [ -n "$_total" ]; then _qpart="${_q}/${_total} queries"; else _qpart="${_q} queries"; fi
|
|
46
46
|
_found=$(grep -oE "Batch has [0-9]+" "$OUT" 2>/dev/null | tail -1 | grep -oE "[0-9]+" | tail -1 || true)
|
|
47
47
|
if [ -n "$_found" ]; then
|
|
48
|
-
_lbl="
|
|
48
|
+
_lbl="scan: ${_dur} · ${_qpart}, ${_found} found"
|
|
49
49
|
else
|
|
50
|
-
_lbl="
|
|
50
|
+
_lbl="scan: ${_dur} · ${_qpart}"
|
|
51
51
|
fi
|
|
52
52
|
"$PY" "$REPO_DIR/scripts/saps_activity.py" heartbeat scanning "$_lbl" 2>/dev/null || true
|
|
53
53
|
done
|