文件历史

3 次代码提交

作者 SHA1 备注 提交日期
aadilr 5c4a805e08 file-conversion: fix base64 argv limit, harden output path, update counts
Addresses review feedback on #576:

- convert.sh: feed the base64 payload to jq via --rawfile (temp file) instead
  of --arg, so inputs larger than ~96KB no longer hit the OS per-argument
  limit (MAX_ARG_STRLEN). Verified with a 164KB input (219KB base64).
- convert.sh: reject absolute and home-relative (~) user-supplied output paths
  in addition to traversal, since OUT is written with curl -o. The auto-derived
  default still works for absolute inputs (validation only applies to an
  explicit output arg).
- docs: add file-conversion to docs/plugins.md (Utilities, now 5) and bump the
  plugin count 84 -> 85 (83 local + 2 external) across README.md, AGENTS.md,
  ARCHITECTURE.md, docs/architecture.md, docs/plugins.md, docs/usage.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 18:34:20 +00:00
Aadil Razvi 6cc85c92cc Address CodeRabbit review: regenerate registries, harden convert.sh
- .claude-plugin/marketplace.json: revert incidental unicode-escape
  normalizations on unrelated plugin entries; keep only the file-conversion
  entry (ensure_ascii to match the registry's existing \uXXXX style).
- .cursor-plugin/** + .agents/: regenerated via `make generate-all` instead
  of hand-editing the generated artifacts (make validate: OK, 5 harnesses).
- convert.sh: validate target format (alnum only) and reject '..' in the
  output path (was a path-traversal risk on `curl -o $OUT`); build the
  JSON-RPC payload with jq so arbitrary filenames are escaped safely (quotes,
  backslashes, newlines, control chars), with a strict-sanitization fallback
  when jq is absent.
2026-06-11 00:36:45 +00:00
Aadil Razvi 2189eb4de8 Add file-conversion plugin (ChangeThisFile) 2026-06-11 00:01:41 +00:00