@m13v/s4l 1.7.10-rc.2 → 1.7.10-rc.4

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.
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "1.7.10-rc.2",
3
- "installedAt": "2026-08-12T17:53:56.745Z"
2
+ "version": "1.7.10-rc.4",
3
+ "installedAt": "2026-08-12T18:35:58.320Z"
4
4
  }
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.7.10-rc.2",
5
+ "version": "1.7.10-rc.4",
6
6
  "description": "Draft, review, approve, and autopilot X/Twitter posts.",
7
7
  "long_description": "## **⚠️ The disclaimer above is generic Claude boilerplate.** Anthropic shows the same warning on every plugin regardless of what it does; any plugin has the same level of access as any app you download from the internet.\n\nS4L 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 plugin end to end**\n\n2\\. Quit with CMD+Q, reopen Claude, paste into a new chat.\n\nWhat happens next:\n\n* About every 5 minutes S4L scans X for posts that match your topics and drafts replies in your voice.\n* Drafts show up as review cards, usually the first within a few minutes. Nothing is posted automatically; you approve each one.\n* Posting autopilot stays off until you explicitly turn it on.",
8
8
  "author": {
@@ -19,8 +19,10 @@
19
19
  "type": "node",
20
20
  "entry_point": "dist/index.js",
21
21
  "mcp_config": {
22
- "command": "${__dirname}/launch.js",
23
- "args": [],
22
+ "command": "${__dirname}/vendor/node-darwin-arm64/bin/node",
23
+ "args": [
24
+ "${__dirname}/dist/index.js"
25
+ ],
24
26
  "env": {
25
27
  "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
26
28
  }
package/mcp/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m13v/s4l-mcp",
3
- "version": "1.7.10-rc.2",
3
+ "version": "1.7.10-rc.4",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m13v/s4l",
3
- "version": "1.7.10-rc.2",
3
+ "version": "1.7.10-rc.4",
4
4
  "description": "Automated social posting pipeline for Reddit, X/Twitter, LinkedIn, and Moltbook. Install as a Claude Code agent skill.",
5
5
  "bin": {
6
6
  "social-autoposter": "bin/cli.js",
@@ -387,7 +387,9 @@ console.log(' manifest tools ('+tools.length+'): '+tools.map(t=>t.name).join(',
387
387
  # points at this vendored binary's absolute path, so every session type — main
388
388
  # chat, agent-mode, any future session type — spawns the SAME real binary.
389
389
  # Both macOS arches since 1.7.9: arm64 (every deployed box) AND x64 (Intel Macs
390
- # still on Tahoe). mcp/launch.js picks the arch-matched binary at spawn time.
390
+ # still on Tahoe). Since the 2026-08-12 launch.js removal the manifest points
391
+ # straight at the arm64 binary, so x64 rides along in the bundle but is NOT
392
+ # spawnable via the manifest (no deployed Intel boxes today).
391
393
  NODE_RUNTIME_VERSION="v24.18.0"
392
394
  NODE_RUNTIME_PLATFORMS="darwin-arm64 darwin-x64"
393
395
  NODE_CACHE_DIR="$REPO_ROOT/.cache/node-runtime"
@@ -491,7 +493,7 @@ for sub in mcp/dist/version.json mcp/package.json; do
491
493
  echo " pipeline.tgz $sub: $SUBV ok"
492
494
  done
493
495
 
494
- REQUIRED_FILES="dist/index.js dist/runtime.js manifest.json launch.js"
496
+ REQUIRED_FILES="dist/index.js dist/runtime.js manifest.json"
495
497
  for p in $NODE_RUNTIME_PLATFORMS; do
496
498
  REQUIRED_FILES="$REQUIRED_FILES vendor/node-$p/bin/node"
497
499
  done
@@ -501,25 +503,26 @@ for f in $REQUIRED_FILES; do
501
503
  n=$(printf '%s\n' "$LISTING" | grep -c "[0-9:] $f\$" || true)
502
504
  [[ "$n" -ge 1 ]] || die "bundle missing $f"
503
505
  done
504
- echo " runtime + server + manifest + launcher + vendored node (both arches): ok"
506
+ echo " runtime + server + manifest + vendored node (both arches): ok"
505
507
 
506
508
  # The compat gate inside Claude Desktop only recognizes a node-type extension
507
509
  # when mcp_config.command is the bare string "node" or a path ending in .js
508
510
  # (its fo() command-recognizer). Pointing at the vendored node BINARY shipped
509
511
  # "this extension is incompatible" to every Mac without a system Node.js
510
- # (first hit: new-user install, 2026-08-10). Guard the manifest shape so a
511
- # future edit cannot silently regress it.
512
+ # (first hit: new-user install, 2026-08-10). The launch.js shim that satisfied
513
+ # the gate was itself broken by Desktop 1.28929.0 (stdio-inherit re-exec lost
514
+ # the MCP transport), so per user decision 2026-08-12 the binary-path command
515
+ # is shipped again and this check is a WARNING, not a blocker.
512
516
  MANIFEST_CMD=$(unzip -p "$BUNDLE" manifest.json 2>/dev/null | node -p "JSON.parse(require('fs').readFileSync(0,'utf8')).server.mcp_config.command" 2>/dev/null || echo "?")
513
517
  case "$MANIFEST_CMD" in
514
518
  node|node.exe|*.js) echo " manifest command Desktop-recognizable ($MANIFEST_CMD): ok" ;;
515
- *) die "manifest mcp_config.command '$MANIFEST_CMD' is not recognizable by Claude Desktop's node compat gate (must be 'node' or end in .js); Macs without system Node.js will see 'incompatible' at install" ;;
519
+ *) echo " WARNING: manifest mcp_config.command '$MANIFEST_CMD' is not recognizable by Claude Desktop's node compat gate (must be 'node' or end in .js); Macs without system Node.js may see 'incompatible' at install" >&2 ;;
516
520
  esac
517
521
 
518
- # The vendored binaries and the launcher must survive the zip round-trip with
522
+ # The vendored binaries must survive the zip round-trip with
519
523
  # their executable bits intact (extract to a temp dir and run --version where
520
524
  # the host arch allows; a permissions regression here would silently produce a
521
- # Node that Desktop can spawn but that refuses to execute, or a launch.js that
522
- # agent-mode cannot exec).
525
+ # Node that Desktop can spawn but that refuses to execute).
523
526
  VENDOR_CHECK_DIR="$(mktemp -d)"
524
527
  for p in $NODE_RUNTIME_PLATFORMS; do
525
528
  unzip -q -o "$BUNDLE" "vendor/node-$p/bin/node" -d "$VENDOR_CHECK_DIR"
@@ -533,13 +536,7 @@ for p in $NODE_RUNTIME_PLATFORMS; do
533
536
  echo " vendored node ($p) survives bundle round-trip with exec bit intact; --version run skipped (host $HOST_OS-$HOST_ARCH cannot exec $p)"
534
537
  fi
535
538
  done
536
- unzip -q -o "$BUNDLE" "launch.js" -d "$VENDOR_CHECK_DIR"
537
- LAUNCH_CHECK="$VENDOR_CHECK_DIR/launch.js"
538
- [[ -x "$LAUNCH_CHECK" ]] || die "launch.js in bundle lost its executable bit (agent-mode literal spawn would fail)"
539
- head -c 9 "$LAUNCH_CHECK" | grep -q '^#!/bin/sh' || die "launch.js in bundle is missing its #!/bin/sh shebang"
540
- node --check "$LAUNCH_CHECK" || die "launch.js in bundle is not valid JavaScript (Desktop built-in-node spawn would fail)"
541
539
  rm -rf "$VENDOR_CHECK_DIR"
542
- echo " launch.js: exec bit + shebang + JS syntax ok"
543
540
 
544
541
  if [[ "$DO_RELEASE" == "0" ]]; then
545
542
  say "Done (--no-release). Bundle ready at: $BUNDLE"