aegis-desktop 0.8.19 → 0.8.20
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 +1 -1
- package/vendor/agent-gate.mjs +18 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aegis-desktop",
|
|
3
3
|
"productName": "AEGIS Desktop",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.20",
|
|
5
5
|
"description": "Thin Electron host for AEGIS — a local chat UI over the shared client/aegis.js transport. Ships transport + UI only; engine logic stays server-side.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "AEGIS Code",
|
package/vendor/agent-gate.mjs
CHANGED
|
@@ -259,10 +259,27 @@ const WRITEISH_BASH = [
|
|
|
259
259
|
/(^|[^<])>>?\s*\S/, // > file, >> file
|
|
260
260
|
/\btee\b/, /\bsed\s+-i/, /\btruncate\b/, /\bdd\b/,
|
|
261
261
|
/\b(rm|mv|cp|install|touch|mkdir|rmdir|chmod|chown|ln)\b/,
|
|
262
|
-
/\b(patch|applypatch)\b/, /\
|
|
262
|
+
/\b(patch|applypatch)\b/, /\bperl\s+-i\b/,
|
|
263
263
|
/\bgit\s+(checkout|restore|reset|clean|stash|apply|revert|cherry-pick|merge|rebase)\b/,
|
|
264
264
|
/\bnpm\s+(install|ci|uninstall|update)\b/, /\byarn\s+(add|remove)\b/, /\bpip[0-9.]*\s+install\b/,
|
|
265
265
|
/\bAEGIS_GATE_SKIP\b/,
|
|
266
|
+
|
|
267
|
+
// `find` is a writer the moment it mutates: -delete, -exec/-execdir, and the
|
|
268
|
+
// -fprint/-fls family all write without ever containing `rm` or a redirect.
|
|
269
|
+
// Found by probing this gate keylessly on 2026-10-02 (`find <gated-tree>
|
|
270
|
+
// -name guard.json -delete` was reported as a read). Kept in step with
|
|
271
|
+
// aegiscodex-dev/src/repoguard.js, which carries the same list.
|
|
272
|
+
/\bfind\b[^|;]*\s-(delete|exec|execdir|fprint|fprint0|fls)\b/,
|
|
273
|
+
/\bxargs\b/,
|
|
274
|
+
|
|
275
|
+
// An inline-eval interpreter is an opaque program: `node -e`, `python -c`,
|
|
276
|
+
// `perl -e`, `sh -c` can write anywhere without naming a path in the command
|
|
277
|
+
// text. The old python rule looked for a literal `open(` and so missed
|
|
278
|
+
// `open(String.fromCharCode(...))`; the interpreter itself is the honest
|
|
279
|
+
// marker, and path-less write-ish commands fall back to cwd (fail-closed).
|
|
280
|
+
// `node --test` is deliberately NOT a hit.
|
|
281
|
+
/\b(python[0-9.]*|perl)\s+-c\b/, /\b(python[0-9.]*|perl)\s+-e\b/,
|
|
282
|
+
/\bnode\b[^|;]*\s(?:-e|--eval)\b/, /\b(sh|bash|zsh|dash)\s+-c\b/,
|
|
266
283
|
];
|
|
267
284
|
|
|
268
285
|
/** Path-shaped tokens in a command line. Deliberately over-eager: see bashTargets. */
|