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 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 = `
|
export const PLANNING_CONSULT_WARNING = `
|
||||||
|
|
||||||
|
|||||||
@ -40,20 +40,6 @@ export function createPrometheusMdOnlyHook(ctx: PluginInput) {
|
|||||||
return
|
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
|
const filePath = (output.args.filePath ?? output.args.path ?? output.args.file) as string | undefined
|
||||||
if (!filePath) {
|
if (!filePath) {
|
||||||
return
|
return
|
||||||
|
|||||||
@ -173,7 +173,7 @@ describe("prometheus-md-only", () => {
|
|||||||
).rejects.toThrow("can only write/edit .md files")
|
).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
|
// given
|
||||||
const hook = createPrometheusMdOnlyHook(createMockPluginInput())
|
const hook = createPrometheusMdOnlyHook(createMockPluginInput())
|
||||||
const input = {
|
const input = {
|
||||||
@ -188,7 +188,7 @@ describe("prometheus-md-only", () => {
|
|||||||
// when / #then
|
// when / #then
|
||||||
await expect(
|
await expect(
|
||||||
hook["tool.execute.before"](input, output)
|
hook["tool.execute.before"](input, output)
|
||||||
).rejects.toThrow("cannot execute bash commands")
|
).resolves.toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should not affect non-blocked tools", async () => {
|
test("should not affect non-blocked tools", async () => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user