gm-copilot-cli 2.0.159 → 2.0.161
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/agents/gm.md +1 -1
- package/copilot-profile.md +1 -1
- package/hooks/pre-tool-use-hook.js +0 -29
- package/manifest.yml +1 -1
- package/package.json +1 -1
- package/tools.json +1 -1
package/agents/gm.md
CHANGED
|
@@ -50,7 +50,7 @@ Scope: All available skills and their mandatory usage rules. Every skill listed
|
|
|
50
50
|
|
|
51
51
|
**`gm` agent** — Subagent orchestration. MANDATORY for parallel work waves. Launch via Task tool with subagent_type gm:gm. Maximum 3 per wave. Independent items run simultaneously; dependent items wait. Sequential execution of independent items is forbidden.
|
|
52
52
|
|
|
53
|
-
**`exec`
|
|
53
|
+
**`exec` via Bash** — Shorthand for `bun x gm-exec exec`. Use `Bash` tool with command `bun x gm-exec exec [--lang=<lang>] [--cwd=<dir>] <code>` for all code execution. Langs: nodejs (default), python, bash, cmd, go, rust, c, cpp, java, deno, typescript. This is the ONLY way to run code — raw node/bun/python calls in Bash are blocked.
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
package/copilot-profile.md
CHANGED
|
@@ -18,35 +18,6 @@ const run = () => {
|
|
|
18
18
|
|
|
19
19
|
if (!tool_name) return { allow: true };
|
|
20
20
|
|
|
21
|
-
if (tool_name === 'exec') {
|
|
22
|
-
const { lang = 'nodejs', code, cmd, cwd } = tool_input || {};
|
|
23
|
-
const actualCode = code || cmd;
|
|
24
|
-
if (!actualCode) {
|
|
25
|
-
return { block: true, reason: 'exec tool requires code or cmd parameter' };
|
|
26
|
-
}
|
|
27
|
-
try {
|
|
28
|
-
let args;
|
|
29
|
-
if (lang === 'bash' || lang === 'cmd' || lang === 'sh') {
|
|
30
|
-
args = ['x', 'gm-exec', 'bash'];
|
|
31
|
-
if (cwd) args.push(`--cwd=${cwd}`);
|
|
32
|
-
args.push(actualCode);
|
|
33
|
-
} else {
|
|
34
|
-
args = ['x', 'gm-exec', 'exec', `--lang=${lang}`];
|
|
35
|
-
if (cwd) args.push(`--cwd=${cwd}`);
|
|
36
|
-
args.push(actualCode);
|
|
37
|
-
}
|
|
38
|
-
const result = execSync('bun ' + args.map(a => JSON.stringify(a)).join(' '), {
|
|
39
|
-
encoding: 'utf-8',
|
|
40
|
-
timeout: 30000,
|
|
41
|
-
stdio: ['ignore', 'pipe', 'pipe']
|
|
42
|
-
});
|
|
43
|
-
return { block: true, reason: result || '(no output)' };
|
|
44
|
-
} catch (e) {
|
|
45
|
-
const err = (e.stdout || '') + (e.stderr || '') || e.message;
|
|
46
|
-
return { block: true, reason: `exec error: ${err}` };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
21
|
if (forbiddenTools.includes(tool_name)) {
|
|
51
22
|
return { block: true, reason: 'Use the code-search skill for codebase exploration instead of Grep/Glob/find. Describe what you need in plain language — it understands intent, not just patterns.' };
|
|
52
23
|
}
|
package/manifest.yml
CHANGED
package/package.json
CHANGED