@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
21 lines • 1.11 kB
TypeScript
/**
* Whether a tar line reads the filesystem rather than an archive.
*
* Only -c makes tar's operands source paths. Under -t and -x they are
* member selectors matched against names inside the archive, so a
* selector that happens to spell a mount root is not a mount at all and
* refusing it would deny an ordinary listing.
*
* Scanned raw because both callers fire before flag parsing: the
* mount-root policy at admission, and the cross-mount router deciding
* whether a span is real. Only the first word may be GNU's dashless
* option cluster (`tar cf a.tar d`), so a later bare word is an operand
* and cannot turn the mode on. `--` ends the scan the way it ends GNU's
* option parsing: a later `-c` names a member, and reading it as the
* create flag would refuse the very selector fix this gate exists to
* protect (`tar -xf a.tar -C /dst -- -c`). A long word is read the way
* tar's getopt_long reads it, against tar's whole table, so an abbreviation
* (`--crea`) is create too.
*/
export declare function isCreateMode(argv: readonly string[]): boolean;
//# sourceMappingURL=mode.d.ts.map