Automatically scanned data. Review the source before installing. Levels describe capabilities, not a safety certification.
View matches (19)
Read files · line55 linehooks/register.tsxconst lists = await Promise.all(level.map(dir => $.fs.list(dir === '' ? cwd : `${cwd}/${dir}`).catch(() => undefined)))
Read files · line142 linehooks/register.tsxconst isThere = async (place: { file: string; path: string }) => known.has(place.path) || (await $.fs.stat(place.file).then(() => true, () => false))
Read files · line179 linehooks/register.tsxconst stat = await $.fs.stat(path).catch(() => undefined)
Read files · line182 linehooks/register.tsxreturn $.fs.read(path).catch(() => undefined)
Environment variables · line212 linehooks/register.tsxhome = await $.env.get('HOME').catch(() => undefined)
Intercept tool calls · line348 linehooks/register.tsxon('tool.call', async ($, e, next) => {
Read files · line416 linehooks/register.tsxconst after = await $.fs.read(t.file ?? '').catch(() => undefined)
Execute commands · line131 linehooks/model.tsfor (let m = re.exec(segment); m !== null; m = re.exec(segment)) {
Execute commands · line177 linehooks/model.tsconst redirect = /^(\d?>>?|&>)(.*)$/.exec(w)
Execute commands · line196 linehooks/model.tsconst set = /^(\w+)=(.*)$/.exec(words[0])
Execute commands · line347 linehooks/model.tsconst delimiter = opener === undefined ? undefined : HEREDOC.exec(opener.text)?.[2]
Execute commands · line365 linehooks/model.tsconst head = /^\s*for\s+(\w+)\s+in\s+(.*)$/.exec(seg.text)
Execute commands · line408 linehooks/model.tsconst m = /^([^/.:][^/:]*):(.*)$/.exec(raw)
Execute commands · line904 linehooks/model.tsconst host = /^([\w.@-]+):\//.exec(path)?.[1]
Execute commands · line3 linehooks/vendor/prism.jsvar _self={},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:
Execute commands · line28 linehooks/vendor/prism.js!function(n){function e(n){return n=n.replace(/<inner>/g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n
Execute commands · line38 linehooks/vendor/prism.js!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"}
Network access · line51 linehooks/vendor/prism.jsPrism.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^
Execute commands · line62 linehooks/vendor/prism.jsPrism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},str