4 Commits
Author SHA1 Message Date
Pradeep Elankumaran c4b35b3d9a fix: strip all non-ASCII from shipped files (scanner unicode-control-chars)
Replace all Unicode characters (em-dash, arrows, bullets, box-drawing,
curly quotes, checkmarks, emoji) with ASCII equivalents across all
49 files that ship in the npm package.

The ClawHub scanner generates SKILL.md from package contents and
flagged unicode control characters as a potential prompt-injection
pattern. All shipped files are now pure ASCII.

Note: path-depth markers in reporter.js JSDoc comments changed from
the original bullet (U+2022) to [path] -- using * would create
nested block comment syntax errors.
2026-04-28 16:37:51 -07:00
Pradeep Elankumaran e39d1aee4b fix: pass OpenClaw plugin security scanner without force flag
Scanner flags files containing both process.env + fetch (env-harvesting)
or child_process + spawn/exec (dangerous-exec) in the same source.

- reporter.js: reword comment that contained literal 'process.env'
- tests: extract env reads to tests/helpers/test-env.js
- scripts: re-export execSync via scripts/exec.js wrapper
- vnc: re-export spawn via plugins/vnc/spawn.js wrapper
2026-04-25 18:59:46 -07:00
Pradeep Elankumaranandcompany8 040fe2aef7 feat: persistence plugin + per-plugin config support
Persistence as a plugin (not core) — camofox stays stateless by default.
Plugin hooks into session:creating, session:created, session:cookies:import,
session:destroyed, and server:shutdown lifecycle events to save/restore
Playwright storageState.

Plugin system now supports per-plugin config objects in camofox.config.json:
  { "plugins": { "youtube": { "enabled": true }, "persistence": { ... } } }
Array format still supported for backward compatibility.

Plugin config is passed to register() as ctx.pluginConfig.

Co-authored-by: company8 <compan@post.com>
2026-04-18 15:37:58 -07:00
Pradeep Elankumaran 27dfc5146b add plugin manager CLI: install, remove, list
npm run plugin install <git-url|local-path>
npm run plugin remove <name>
npm run plugin list

Supports git repos (root plugin or plugins/ subdirs) and local
directories. Auto-updates camofox.config.json, installs npm deps,
warns about system deps needing Docker rebuild.
2026-04-18 14:57:58 -07:00