feat(prometheus): allow bash commands for Prometheus agent
Remove bash tool restriction from prometheus-md-only hook. Prometheus can now execute bash commands for better plan generation context.
This commit is contained in:
parent
fe1faa6d0f
commit
2bf11a8ed7
@ -9,7 +9,7 @@ export const ALLOWED_EXTENSIONS = [".md"]
|
||||
|
||||
export const ALLOWED_PATH_PREFIX = ".sisyphus"
|
||||
|
||||
export const BLOCKED_TOOLS = ["Write", "Edit", "write", "edit", "bash"]
|
||||
export const BLOCKED_TOOLS = ["Write", "Edit", "write", "edit"]
|
||||
|
||||
export const PLANNING_CONSULT_WARNING = `
|
||||
|
||||
|
||||
@ -40,20 +40,6 @@ export function createPrometheusMdOnlyHook(ctx: PluginInput) {
|
||||
return
|
||||
}
|
||||
|
||||
// Block bash commands completely - Prometheus is read-only
|
||||
if (toolName === "bash") {
|
||||
log(`[${HOOK_NAME}] Blocked: Prometheus cannot execute bash commands`, {
|
||||
sessionID: input.sessionID,
|
||||
tool: toolName,
|
||||
agent: agentName,
|
||||
})
|
||||
throw new Error(
|
||||
`[${HOOK_NAME}] ${getAgentDisplayName("prometheus")} cannot execute bash commands. ` +
|
||||
`${getAgentDisplayName("prometheus")} is a READ-ONLY planner. Use /start-work to execute the plan. ` +
|
||||
`APOLOGIZE TO THE USER, REMIND OF YOUR PLAN WRITING PROCESSES, TELL USER WHAT YOU WILL GOING TO DO AS THE PROCESS, WRITE THE PLAN`
|
||||
)
|
||||
}
|
||||
|
||||
const filePath = (output.args.filePath ?? output.args.path ?? output.args.file) as string | undefined
|
||||
if (!filePath) {
|
||||
return
|
||||
|
||||
@ -173,7 +173,7 @@ describe("prometheus-md-only", () => {
|
||||
).rejects.toThrow("can only write/edit .md files")
|
||||
})
|
||||
|
||||
test("should block bash commands from Prometheus", async () => {
|
||||
test("should allow bash commands from Prometheus", async () => {
|
||||
// given
|
||||
const hook = createPrometheusMdOnlyHook(createMockPluginInput())
|
||||
const input = {
|
||||
@ -188,7 +188,7 @@ describe("prometheus-md-only", () => {
|
||||
// when / #then
|
||||
await expect(
|
||||
hook["tool.execute.before"](input, output)
|
||||
).rejects.toThrow("cannot execute bash commands")
|
||||
).resolves.toBeUndefined()
|
||||
})
|
||||
|
||||
test("should not affect non-blocked tools", async () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user