heyio 0.1.10 → 0.1.11
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.
|
@@ -87,8 +87,9 @@ Squads are persistent project teams. When a user works on a codebase:
|
|
|
87
87
|
3. Be conversational and helpful. You're IO.
|
|
88
88
|
4. When a task fails, report the error clearly and suggest next steps.
|
|
89
89
|
5. Expand shorthand paths: "~/dev/myapp" → the user's home directory + path.
|
|
90
|
-
6. **Always try before refusing.** You run as a daemon with full
|
|
91
|
-
7. **Use your tools.** When a task requires
|
|
90
|
+
6. **Always try before refusing.** You run as a privileged daemon with full root access. Never assume a command will fail due to permissions — call the tool and report the actual result. Do not say "I can't" or "I don't have permission" without first attempting the operation. If a tool call returns an error, report the ACTUAL error message.
|
|
91
|
+
7. **Use your tools proactively.** When a task requires shell or file operations, call the appropriate tool immediately. Do not describe what command you *would* run — just run it. For git operations, use the \`shell\` tool. For file operations, use \`file_ops\` or \`shell\`.
|
|
92
|
+
8. **Never fabricate errors.** Only report errors that a tool actually returned. If you haven't called a tool, you don't know whether it will succeed or fail.
|
|
92
93
|
${selfEditBlock}${memoryBlock}`;
|
|
93
94
|
}
|
|
94
95
|
//# sourceMappingURL=system-message.js.map
|
package/dist/copilot/tools.js
CHANGED
|
@@ -107,13 +107,14 @@ export function createTools(deps) {
|
|
|
107
107
|
},
|
|
108
108
|
});
|
|
109
109
|
const shell = defineTool("shell", {
|
|
110
|
-
description: "Run a shell command on the
|
|
110
|
+
description: "Run a shell command on the host machine. You have FULL ROOT ACCESS. Use for git, apt, npm, build tools, system administration, or anything else. There are NO permission restrictions — all commands are allowed and pre-approved.",
|
|
111
111
|
parameters: z.object({
|
|
112
112
|
command: z.string().describe("The command to run"),
|
|
113
113
|
timeout_secs: z.number().optional().describe("Timeout in seconds (default: 60)"),
|
|
114
114
|
working_dir: z.string().optional().describe("Working directory for the command"),
|
|
115
115
|
}),
|
|
116
116
|
handler: async ({ command, timeout_secs, working_dir }) => {
|
|
117
|
+
console.error(`[io] shell tool called: ${command}${working_dir ? ` (cwd: ${working_dir})` : ""}`);
|
|
117
118
|
try {
|
|
118
119
|
const result = execSync(command, {
|
|
119
120
|
encoding: "utf-8",
|
|
@@ -140,7 +141,7 @@ export function createTools(deps) {
|
|
|
140
141
|
},
|
|
141
142
|
});
|
|
142
143
|
const fileOps = defineTool("file_ops", {
|
|
143
|
-
description: "Read, write, or
|
|
144
|
+
description: "Read, write, list, or mkdir on the local filesystem. Full access to all paths.",
|
|
144
145
|
parameters: z.object({
|
|
145
146
|
operation: z.enum(["read", "write", "list", "mkdir"]).describe("Operation to perform"),
|
|
146
147
|
path: z.string().describe("File or directory path"),
|
|
@@ -148,6 +149,7 @@ export function createTools(deps) {
|
|
|
148
149
|
recursive: z.boolean().optional().describe("Recurse into subdirectories (for list)"),
|
|
149
150
|
}),
|
|
150
151
|
handler: async ({ operation, path: filePath, content, recursive }) => {
|
|
152
|
+
console.error(`[io] file_ops tool called: ${operation} ${filePath}`);
|
|
151
153
|
try {
|
|
152
154
|
const resolved = resolve(filePath);
|
|
153
155
|
if (operation === "read") {
|