da7b42ad61
Replace brittle string checks with robust path.resolve/relative validation: - Fix Windows backslash paths (.sisyphus\plans\x.md) being incorrectly blocked - Fix case-sensitive extension check (.MD now accepted) - Add workspace confinement (block paths outside root even if containing .sisyphus) - Block nested .sisyphus directories (only first segment allowed) - Block path traversal attempts (.sisyphus/../secrets.md) - Use ALLOWED_EXTENSIONS and ALLOWED_PATH_PREFIX constants (case-insensitive) The new isAllowedFile() uses Node's path module for cross-platform compatibility instead of string includes/endsWith which failed on Windows separators.
31 lines
899 B
TypeScript
31 lines
899 B
TypeScript
export const HOOK_NAME = "prometheus-md-only"
|
|
|
|
export const PROMETHEUS_AGENTS = ["Prometheus (Planner)"]
|
|
|
|
export const ALLOWED_EXTENSIONS = [".md"]
|
|
|
|
export const ALLOWED_PATH_PREFIX = ".sisyphus"
|
|
|
|
export const BLOCKED_TOOLS = ["Write", "Edit", "write", "edit"]
|
|
|
|
export const PLANNING_CONSULT_WARNING = `
|
|
|
|
---
|
|
|
|
[SYSTEM DIRECTIVE - READ-ONLY PLANNING CONSULTATION]
|
|
|
|
You are being invoked by Prometheus (Planner), a READ-ONLY planning agent.
|
|
|
|
**CRITICAL CONSTRAINTS:**
|
|
- DO NOT modify any files (no Write, Edit, or any file mutations)
|
|
- DO NOT execute commands that change system state
|
|
- DO NOT create, delete, or rename files
|
|
- ONLY provide analysis, recommendations, and information
|
|
|
|
**YOUR ROLE**: Provide consultation, research, and analysis to assist with planning.
|
|
Return your findings and recommendations. The actual implementation will be handled separately after planning is complete.
|
|
|
|
---
|
|
|
|
`
|