@acedatacloud/skills 2026.706.0 → 2026.706.2

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": "@acedatacloud/skills",
3
- "version": "2026.706.0",
3
+ "version": "2026.706.2",
4
4
  "description": "Agent Skills for AceDataCloud AI services — music, image, video generation, LLM chat, web search. Compatible with Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, and 30+ AI coding agents.",
5
5
  "keywords": [
6
6
  "agent-skills",
package/skills/x/SKILL.md CHANGED
@@ -31,13 +31,14 @@ The connector injects the cookie jar as an env var:
31
31
  - `X_COOKIES` — a JSON array of cookies (needs at least `auth_token` + `ct0`).
32
32
  **Secret — full account access. Never echo or print it.**
33
33
 
34
- ## Setup — install twikit once per session
34
+ ## Setup — verify the shipped CLI
35
35
 
36
- `twikit` may not be preinstalled; bootstrap it (same pattern as the telegram
37
- skill), then call the shipped CLI:
36
+ `twikit` is preinstalled in the hosted sandbox image. Do not `pip install` it at
37
+ runtime; if import fails, report that the sandbox image is missing the X skill
38
+ dependency and stop.
38
39
 
39
40
  ```sh
40
- python3 -c "import twikit" 2>/dev/null || pip install --user --quiet twikit 2>/dev/null || true
41
+ python3 -c "import twikit" || { echo "sandbox missing twikit; deploy the sandbox skill dependencies image" >&2; exit 1; }
41
42
  # $SKILL_DIR can point at another skill loaded this turn — anchor on our own
42
43
  # script (re-run this setup at the top of every fresh-shell Bash block below).
43
44
  X="$SKILL_DIR/scripts/x.py"; [ -f "$X" ] || X=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/x.py' 2>/dev/null | head -1)
@@ -103,8 +104,9 @@ python3 $X delete --id 123456 --confirm # delete one of M
103
104
  - **Not E2E-verified** (see the warning above) — expect to validate the first run.
104
105
  - **twikit is a scraper of X's non-public API.** It can break when X changes its
105
106
  internal endpoints. A `Couldn't get KEY_BYTE indices` / transaction-id error
106
- means twikit needs upgrading: `pip install --user -U twikit`. An auth error
107
- means the cookie expired reconnect.
107
+ means twikit's transaction-id bootstrap is currently broken against X; do NOT
108
+ ask the user to reconnect cookies for that error. Report it as upstream drift
109
+ and retry only after the twikit/X compatibility issue is fixed.
108
110
  - **ToS / rate-limit / ban risk.** This acts through the web API, not the
109
111
  official API — high-frequency automation can get the account rate-limited or
110
112
  suspended. Keep volume human-like.
@@ -385,8 +385,10 @@ def main() -> None:
385
385
  AccountLocked, AccountSuspended, TwitterException,
386
386
  )
387
387
  except Exception as e: # twikit not importable
388
- die(f"twikit is not available: {e}. Install with "
389
- f"`pip install --user twikit`.")
388
+ die(
389
+ f"twikit is not available in the sandbox image: {e}. "
390
+ "Deploy the sandbox skill dependencies image; do not pip-install it at runtime."
391
+ )
390
392
  try:
391
393
  asyncio.run(run(args))
392
394
  except (Unauthorized,) as e:
@@ -405,12 +407,17 @@ def main() -> None:
405
407
  except Exception as e:
406
408
  # twikit scrapes X's non-public API; a bare error here usually means an
407
409
  # expired cookie OR that X changed its internal endpoints and twikit
408
- # needs upgrading (e.g. "Couldn't get KEY_BYTE indices" = transaction-id
409
- # bootstrap drift `pip install --user -U twikit`).
410
+ # needs a compatibility fix.
411
+ if "Couldn't get KEY_BYTE indices" in str(e):
412
+ die(
413
+ "X request failed because twikit cannot derive X's current "
414
+ "transaction-id keys (`Couldn't get KEY_BYTE indices`). This is "
415
+ "upstream drift in X's internal web API, not a missing/expired "
416
+ "cookie. Retry after twikit/X compatibility is fixed."
417
+ )
410
418
  die(f"X request failed ({type(e).__name__}: {e}). Likely an expired "
411
419
  f"cookie — reconnect at https://auth.acedata.cloud/user/connections "
412
- f"— or twikit drift vs X's internal API (try `pip install --user -U "
413
- f"twikit`).")
420
+ f"— or twikit drift vs X's internal API.")
414
421
 
415
422
 
416
423
  if __name__ == "__main__":