oh-my-claude-sisyphus 1.10.0 → 1.11.0

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.
Files changed (91) hide show
  1. package/README.md +50 -10
  2. package/dist/agents/definitions.js +1 -1
  3. package/dist/agents/model-lists.d.ts +26 -0
  4. package/dist/agents/model-lists.d.ts.map +1 -0
  5. package/dist/agents/model-lists.js +62 -0
  6. package/dist/agents/model-lists.js.map +1 -0
  7. package/dist/agents/orchestrator-sisyphus.js +1 -1
  8. package/dist/auth/index.d.ts +10 -0
  9. package/dist/auth/index.d.ts.map +1 -0
  10. package/dist/auth/index.js +13 -0
  11. package/dist/auth/index.js.map +1 -0
  12. package/dist/auth/manager.d.ts +54 -0
  13. package/dist/auth/manager.d.ts.map +1 -0
  14. package/dist/auth/manager.js +248 -0
  15. package/dist/auth/manager.js.map +1 -0
  16. package/dist/auth/oauth-google.d.ts +47 -0
  17. package/dist/auth/oauth-google.d.ts.map +1 -0
  18. package/dist/auth/oauth-google.js +280 -0
  19. package/dist/auth/oauth-google.js.map +1 -0
  20. package/dist/auth/oauth-openai.d.ts +46 -0
  21. package/dist/auth/oauth-openai.d.ts.map +1 -0
  22. package/dist/auth/oauth-openai.js +264 -0
  23. package/dist/auth/oauth-openai.js.map +1 -0
  24. package/dist/auth/pkce.d.ts +14 -0
  25. package/dist/auth/pkce.d.ts.map +1 -0
  26. package/dist/auth/pkce.js +35 -0
  27. package/dist/auth/pkce.js.map +1 -0
  28. package/dist/auth/storage.d.ts +52 -0
  29. package/dist/auth/storage.d.ts.map +1 -0
  30. package/dist/auth/storage.js +230 -0
  31. package/dist/auth/storage.js.map +1 -0
  32. package/dist/auth/types.d.ts +76 -0
  33. package/dist/auth/types.d.ts.map +1 -0
  34. package/dist/auth/types.js +5 -0
  35. package/dist/auth/types.js.map +1 -0
  36. package/dist/cli/index.js +0 -0
  37. package/dist/features/auto-update.d.ts +20 -0
  38. package/dist/features/auto-update.d.ts.map +1 -1
  39. package/dist/features/auto-update.js +35 -0
  40. package/dist/features/auto-update.js.map +1 -1
  41. package/dist/features/builtin-skills/skills.js +2 -2
  42. package/dist/hooks/bridge.d.ts.map +1 -1
  43. package/dist/hooks/bridge.js +26 -1
  44. package/dist/hooks/bridge.js.map +1 -1
  45. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  46. package/dist/hooks/persistent-mode/index.js +126 -4
  47. package/dist/hooks/persistent-mode/index.js.map +1 -1
  48. package/dist/hooks/preemptive-compaction/index.js +2 -2
  49. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  50. package/dist/hooks/thinking-block-validator/index.d.ts +3 -34
  51. package/dist/hooks/thinking-block-validator/index.d.ts.map +1 -1
  52. package/dist/hooks/thinking-block-validator/index.js +21 -70
  53. package/dist/hooks/thinking-block-validator/index.js.map +1 -1
  54. package/dist/installer/hooks.d.ts +2 -2
  55. package/dist/installer/hooks.d.ts.map +1 -1
  56. package/dist/installer/hooks.js +85 -2
  57. package/dist/installer/hooks.js.map +1 -1
  58. package/dist/installer/index.d.ts +2 -2
  59. package/dist/installer/index.d.ts.map +1 -1
  60. package/dist/installer/index.js +4 -84
  61. package/dist/installer/index.js.map +1 -1
  62. package/dist/providers/index.d.ts +8 -0
  63. package/dist/providers/index.d.ts.map +1 -0
  64. package/dist/providers/index.js +10 -0
  65. package/dist/providers/index.js.map +1 -0
  66. package/dist/providers/registry.d.ts +29 -0
  67. package/dist/providers/registry.d.ts.map +1 -0
  68. package/dist/providers/registry.js +162 -0
  69. package/dist/providers/registry.js.map +1 -0
  70. package/dist/providers/router.d.ts +40 -0
  71. package/dist/providers/router.d.ts.map +1 -0
  72. package/dist/providers/router.js +88 -0
  73. package/dist/providers/router.js.map +1 -0
  74. package/dist/providers/types.d.ts +92 -0
  75. package/dist/providers/types.d.ts.map +1 -0
  76. package/dist/providers/types.js +27 -0
  77. package/dist/providers/types.js.map +1 -0
  78. package/dist/tools/ast-tools.d.ts +3 -3
  79. package/dist/tools/ast-tools.d.ts.map +1 -1
  80. package/dist/tools/ast-tools.js +205 -104
  81. package/dist/tools/ast-tools.js.map +1 -1
  82. package/package.json +1 -1
  83. package/scripts/claude-sisyphus.sh +9 -0
  84. package/scripts/install.sh +156 -62
  85. package/scripts/keyword-detector.sh +71 -0
  86. package/scripts/persistent-mode.sh +300 -0
  87. package/scripts/post-tool-verifier.sh +196 -0
  88. package/scripts/pre-tool-enforcer.sh +76 -0
  89. package/scripts/sisyphus-aliases.sh +18 -0
  90. package/scripts/stop-continuation.sh +31 -0
  91. package/scripts/uninstall.sh +129 -5
@@ -80,7 +80,7 @@ export declare const STOP_CONTINUATION_SCRIPT_NODE = "#!/usr/bin/env node\n// Si
80
80
  * Persistent Mode Bash script
81
81
  * Enhanced stop hook that handles ultrawork, ralph-loop, and todo continuation
82
82
  */
83
- export declare const PERSISTENT_MODE_SCRIPT = "#!/bin/bash\n# Sisyphus Persistent Mode Hook\n# Unified handler for ultrawork, ralph-loop, and todo continuation\n# Prevents stopping when work remains incomplete\n\n# Read stdin\nINPUT=$(cat)\n\n# Get session ID and directory\nSESSION_ID=\"\"\nDIRECTORY=\"\"\nif command -v jq &> /dev/null; then\n SESSION_ID=$(echo \"$INPUT\" | jq -r '.sessionId // .session_id // \"\"' 2>/dev/null)\n DIRECTORY=$(echo \"$INPUT\" | jq -r '.directory // \"\"' 2>/dev/null)\nfi\n\n# Default to current directory\nif [ -z \"$DIRECTORY\" ]; then\n DIRECTORY=$(pwd)\nfi\n\n# Check for active ultrawork state\nULTRAWORK_STATE=\"\"\nif [ -f \"$DIRECTORY/.sisyphus/ultrawork-state.json\" ]; then\n ULTRAWORK_STATE=$(cat \"$DIRECTORY/.sisyphus/ultrawork-state.json\" 2>/dev/null)\nelif [ -f \"$HOME/.claude/ultrawork-state.json\" ]; then\n ULTRAWORK_STATE=$(cat \"$HOME/.claude/ultrawork-state.json\" 2>/dev/null)\nfi\n\n# Check for active ralph loop\nRALPH_STATE=\"\"\nif [ -f \"$DIRECTORY/.sisyphus/ralph-state.json\" ]; then\n RALPH_STATE=$(cat \"$DIRECTORY/.sisyphus/ralph-state.json\" 2>/dev/null)\nfi\n\n# Check for incomplete todos\nINCOMPLETE_COUNT=0\nTODOS_DIR=\"$HOME/.claude/todos\"\nif [ -d \"$TODOS_DIR\" ]; then\n for todo_file in \"$TODOS_DIR\"/*.json; do\n if [ -f \"$todo_file\" ]; then\n if command -v jq &> /dev/null; then\n COUNT=$(jq '[.[] | select(.status != \"completed\" and .status != \"cancelled\")] | length' \"$todo_file\" 2>/dev/null || echo \"0\")\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n else\n # Fallback: count \"pending\" or \"in_progress\" occurrences\n COUNT=$(grep -c '\"status\"[[:space:]]*:[[:space:]]*\"pending\\|in_progress\"' \"$todo_file\" 2>/dev/null) || COUNT=0\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n fi\n fi\n done\nfi\n\n# Check project todos as well\nfor todo_path in \"$DIRECTORY/.sisyphus/todos.json\" \"$DIRECTORY/.claude/todos.json\"; do\n if [ -f \"$todo_path\" ]; then\n if command -v jq &> /dev/null; then\n COUNT=$(jq 'if type == \"array\" then [.[] | select(.status != \"completed\" and .status != \"cancelled\")] | length else 0 end' \"$todo_path\" 2>/dev/null || echo \"0\")\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n else\n # Fallback: count \"pending\" or \"in_progress\" occurrences\n COUNT=$(grep -c '\"status\"[[:space:]]*:[[:space:]]*\"pending\\|in_progress\"' \"$todo_path\" 2>/dev/null) || COUNT=0\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n fi\n fi\ndone\n\n# Priority 1: Ralph Loop\nif [ -n \"$RALPH_STATE\" ]; then\n IS_ACTIVE=$(echo \"$RALPH_STATE\" | jq -r '.active // false' 2>/dev/null)\n if [ \"$IS_ACTIVE\" = \"true\" ]; then\n ITERATION=$(echo \"$RALPH_STATE\" | jq -r '.iteration // 1' 2>/dev/null)\n MAX_ITER=$(echo \"$RALPH_STATE\" | jq -r '.max_iterations // 10' 2>/dev/null)\n PROMISE=$(echo \"$RALPH_STATE\" | jq -r '.completion_promise // \"TASK_COMPLETE\"' 2>/dev/null)\n PROMPT=$(echo \"$RALPH_STATE\" | jq -r '.prompt // \"\"' 2>/dev/null)\n\n if [ \"$ITERATION\" -lt \"$MAX_ITER\" ]; then\n # Increment iteration\n NEW_ITER=$((ITERATION + 1))\n echo \"$RALPH_STATE\" | jq \".iteration = $NEW_ITER\" > \"$DIRECTORY/.sisyphus/ralph-state.json\" 2>/dev/null\n\n cat << EOF\n{\"continue\": false, \"reason\": \"<ralph-loop-continuation>\\n\\n[RALPH LOOP - ITERATION $NEW_ITER/$MAX_ITER]\\n\\nYour previous attempt did not output the completion promise. The work is NOT done yet.\\n\\nCRITICAL INSTRUCTIONS:\\n1. Review your progress and the original task\\n2. Check your todo list - are ALL items marked complete?\\n3. Continue from where you left off\\n4. When FULLY complete, output: <promise>$PROMISE</promise>\\n5. Do NOT stop until the task is truly done\\n\\nOriginal task: $PROMPT\\n\\n</ralph-loop-continuation>\\n\\n---\\n\"}\nEOF\n exit 0\n fi\n fi\nfi\n\n# Priority 2: Ultrawork Mode with incomplete todos\nif [ -n \"$ULTRAWORK_STATE\" ] && [ \"$INCOMPLETE_COUNT\" -gt 0 ]; then\n # Check if active (with jq fallback)\n IS_ACTIVE=\"\"\n if command -v jq &> /dev/null; then\n IS_ACTIVE=$(echo \"$ULTRAWORK_STATE\" | jq -r '.active // false' 2>/dev/null)\n else\n # Fallback: grep for \"active\": true\n if echo \"$ULTRAWORK_STATE\" | grep -q '\"active\"[[:space:]]*:[[:space:]]*true'; then\n IS_ACTIVE=\"true\"\n fi\n fi\n\n if [ \"$IS_ACTIVE\" = \"true\" ]; then\n # Get reinforcement count (with fallback)\n REINFORCE_COUNT=0\n if command -v jq &> /dev/null; then\n REINFORCE_COUNT=$(echo \"$ULTRAWORK_STATE\" | jq -r '.reinforcement_count // 0' 2>/dev/null)\n else\n REINFORCE_COUNT=$(echo \"$ULTRAWORK_STATE\" | grep -oP '\"reinforcement_count\"[[:space:]]*:[[:space:]]*\\K[0-9]+' 2>/dev/null) || REINFORCE_COUNT=0\n fi\n NEW_COUNT=$((REINFORCE_COUNT + 1))\n\n # Get original prompt (with fallback)\n ORIGINAL_PROMPT=\"\"\n if command -v jq &> /dev/null; then\n ORIGINAL_PROMPT=$(echo \"$ULTRAWORK_STATE\" | jq -r '.original_prompt // \"\"' 2>/dev/null)\n else\n ORIGINAL_PROMPT=$(echo \"$ULTRAWORK_STATE\" | grep -oP '\"original_prompt\"[[:space:]]*:[[:space:]]*\"\\K[^\"]+' 2>/dev/null) || ORIGINAL_PROMPT=\"\"\n fi\n\n # Update state file (best effort)\n if command -v jq &> /dev/null; then\n echo \"$ULTRAWORK_STATE\" | jq \".reinforcement_count = $NEW_COUNT | .last_checked_at = \\\"$(date -Iseconds)\\\"\" > \"$DIRECTORY/.sisyphus/ultrawork-state.json\" 2>/dev/null\n fi\n\n cat << EOF\n{\"continue\": false, \"reason\": \"<ultrawork-persistence>\\n\\n[ULTRAWORK MODE STILL ACTIVE - Reinforcement #$NEW_COUNT]\\n\\nYour ultrawork session is NOT complete. $INCOMPLETE_COUNT incomplete todos remain.\\n\\nREMEMBER THE ULTRAWORK RULES:\\n- **PARALLEL**: Fire independent calls simultaneously - NEVER wait sequentially\\n- **BACKGROUND FIRST**: Use Task(run_in_background=true) for exploration (10+ concurrent)\\n- **TODO**: Track EVERY step. Mark complete IMMEDIATELY after each\\n- **VERIFY**: Check ALL requirements met before done\\n- **NO Premature Stopping**: ALL TODOs must be complete\\n\\nContinue working on the next pending task. DO NOT STOP until all tasks are marked complete.\\n\\nOriginal task: $ORIGINAL_PROMPT\\n\\n</ultrawork-persistence>\\n\\n---\\n\"}\nEOF\n exit 0\n fi\nfi\n\n# Priority 3: Todo Continuation (baseline)\nif [ \"$INCOMPLETE_COUNT\" -gt 0 ]; then\n cat << EOF\n{\"continue\": false, \"reason\": \"<todo-continuation>\\n\\n[SYSTEM REMINDER - TODO CONTINUATION]\\n\\nIncomplete tasks remain in your todo list ($INCOMPLETE_COUNT remaining). Continue working on the next pending task.\\n\\n- Proceed without asking for permission\\n- Mark each task complete when finished\\n- Do not stop until all tasks are done\\n\\n</todo-continuation>\\n\\n---\\n\"}\nEOF\n exit 0\nfi\n\n# No blocking needed\necho '{\"continue\": true}'\nexit 0\n";
83
+ export declare const PERSISTENT_MODE_SCRIPT = "#!/bin/bash\n# Sisyphus Persistent Mode Hook\n# Unified handler for ultrawork, ralph-loop, and todo continuation\n# Prevents stopping when work remains incomplete\n\n# Read stdin\nINPUT=$(cat)\n\n# Get session ID and directory\nSESSION_ID=\"\"\nDIRECTORY=\"\"\nif command -v jq &> /dev/null; then\n SESSION_ID=$(echo \"$INPUT\" | jq -r '.sessionId // .session_id // \"\"' 2>/dev/null)\n DIRECTORY=$(echo \"$INPUT\" | jq -r '.directory // \"\"' 2>/dev/null)\nfi\n\n# Default to current directory\nif [ -z \"$DIRECTORY\" ]; then\n DIRECTORY=$(pwd)\nfi\n\n# Check for active ultrawork state\nULTRAWORK_STATE=\"\"\nif [ -f \"$DIRECTORY/.sisyphus/ultrawork-state.json\" ]; then\n ULTRAWORK_STATE=$(cat \"$DIRECTORY/.sisyphus/ultrawork-state.json\" 2>/dev/null)\nelif [ -f \"$HOME/.claude/ultrawork-state.json\" ]; then\n ULTRAWORK_STATE=$(cat \"$HOME/.claude/ultrawork-state.json\" 2>/dev/null)\nfi\n\n# Check for active ralph loop\nRALPH_STATE=\"\"\nif [ -f \"$DIRECTORY/.sisyphus/ralph-state.json\" ]; then\n RALPH_STATE=$(cat \"$DIRECTORY/.sisyphus/ralph-state.json\" 2>/dev/null)\nfi\n\n# Check for verification state (oracle verification)\nVERIFICATION_STATE=\"\"\nif [ -f \"$DIRECTORY/.sisyphus/ralph-verification.json\" ]; then\n VERIFICATION_STATE=$(cat \"$DIRECTORY/.sisyphus/ralph-verification.json\" 2>/dev/null)\nfi\n\n# Check for incomplete todos\nINCOMPLETE_COUNT=0\nTODOS_DIR=\"$HOME/.claude/todos\"\nif [ -d \"$TODOS_DIR\" ]; then\n for todo_file in \"$TODOS_DIR\"/*.json; do\n if [ -f \"$todo_file\" ]; then\n if command -v jq &> /dev/null; then\n COUNT=$(jq '[.[] | select(.status != \"completed\" and .status != \"cancelled\")] | length' \"$todo_file\" 2>/dev/null || echo \"0\")\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n else\n # Fallback: count \"pending\" or \"in_progress\" occurrences\n COUNT=$(grep -c '\"status\"[[:space:]]*:[[:space:]]*\"pending\\|in_progress\"' \"$todo_file\" 2>/dev/null) || COUNT=0\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n fi\n fi\n done\nfi\n\n# Check project todos as well\nfor todo_path in \"$DIRECTORY/.sisyphus/todos.json\" \"$DIRECTORY/.claude/todos.json\"; do\n if [ -f \"$todo_path\" ]; then\n if command -v jq &> /dev/null; then\n COUNT=$(jq 'if type == \"array\" then [.[] | select(.status != \"completed\" and .status != \"cancelled\")] | length else 0 end' \"$todo_path\" 2>/dev/null || echo \"0\")\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n else\n # Fallback: count \"pending\" or \"in_progress\" occurrences\n COUNT=$(grep -c '\"status\"[[:space:]]*:[[:space:]]*\"pending\\|in_progress\"' \"$todo_path\" 2>/dev/null) || COUNT=0\n INCOMPLETE_COUNT=$((INCOMPLETE_COUNT + COUNT))\n fi\n fi\ndone\n\n# Priority 1: Ralph Loop with Oracle Verification\nif [ -n \"$RALPH_STATE\" ]; then\n IS_ACTIVE=$(echo \"$RALPH_STATE\" | jq -r '.active // false' 2>/dev/null)\n if [ \"$IS_ACTIVE\" = \"true\" ]; then\n ITERATION=$(echo \"$RALPH_STATE\" | jq -r '.iteration // 1' 2>/dev/null)\n MAX_ITER=$(echo \"$RALPH_STATE\" | jq -r '.max_iterations // 10' 2>/dev/null)\n PROMISE=$(echo \"$RALPH_STATE\" | jq -r '.completion_promise // \"TASK_COMPLETE\"' 2>/dev/null)\n PROMPT=$(echo \"$RALPH_STATE\" | jq -r '.prompt // \"\"' 2>/dev/null)\n\n # Check if oracle verification is pending\n if [ -n \"$VERIFICATION_STATE\" ]; then\n IS_PENDING=$(echo \"$VERIFICATION_STATE\" | jq -r '.pending // false' 2>/dev/null)\n if [ \"$IS_PENDING\" = \"true\" ]; then\n ATTEMPT=$(echo \"$VERIFICATION_STATE\" | jq -r '.verification_attempts // 0' 2>/dev/null)\n MAX_ATTEMPTS=$(echo \"$VERIFICATION_STATE\" | jq -r '.max_verification_attempts // 3' 2>/dev/null)\n ORIGINAL_TASK=$(echo \"$VERIFICATION_STATE\" | jq -r '.original_task // \"\"' 2>/dev/null)\n COMPLETION_CLAIM=$(echo \"$VERIFICATION_STATE\" | jq -r '.completion_claim // \"\"' 2>/dev/null)\n ORACLE_FEEDBACK=$(echo \"$VERIFICATION_STATE\" | jq -r '.oracle_feedback // \"\"' 2>/dev/null)\n NEXT_ATTEMPT=$((ATTEMPT + 1))\n\n FEEDBACK_SECTION=\"\"\n if [ -n \"$ORACLE_FEEDBACK\" ] && [ \"$ORACLE_FEEDBACK\" != \"null\" ]; then\n FEEDBACK_SECTION=\"\\n**Previous Oracle Feedback (rejected):**\\n$ORACLE_FEEDBACK\\n\"\n fi\n\n cat << EOF\n{\"continue\": false, \"reason\": \"<ralph-verification>\\n\\n[ORACLE VERIFICATION REQUIRED - Attempt $NEXT_ATTEMPT/$MAX_ATTEMPTS]\\n\\nThe agent claims the task is complete. Before accepting, YOU MUST verify with Oracle.\\n\\n**Original Task:**\\n$ORIGINAL_TASK\\n\\n**Completion Claim:**\\n$COMPLETION_CLAIM\\n$FEEDBACK_SECTION\\n## MANDATORY VERIFICATION STEPS\\n\\n1. **Spawn Oracle Agent** for verification:\\n \\`\\`\\`\\n Task(subagent_type=\\\"oracle\\\", prompt=\\\"Verify this task completion claim...\\\")\\n \\`\\`\\`\\n\\n2. **Oracle must check:**\\n - Are ALL requirements from the original task met?\\n - Is the implementation complete, not partial?\\n - Are there any obvious bugs or issues?\\n - Does the code compile/run without errors?\\n - Are tests passing (if applicable)?\\n\\n3. **Based on Oracle's response:**\\n - If APPROVED: Output \\`<oracle-approved>VERIFIED_COMPLETE</oracle-approved>\\`\\n - If REJECTED: Continue working on the identified issues\\n\\nDO NOT output the completion promise again until Oracle approves.\\n\\n</ralph-verification>\\n\\n---\\n\"}\nEOF\n exit 0\n fi\n fi\n\n if [ \"$ITERATION\" -lt \"$MAX_ITER\" ]; then\n # Increment iteration\n NEW_ITER=$((ITERATION + 1))\n echo \"$RALPH_STATE\" | jq \".iteration = $NEW_ITER\" > \"$DIRECTORY/.sisyphus/ralph-state.json\" 2>/dev/null\n\n cat << EOF\n{\"continue\": false, \"reason\": \"<ralph-loop-continuation>\\n\\n[RALPH LOOP - ITERATION $NEW_ITER/$MAX_ITER]\\n\\nYour previous attempt did not output the completion promise. The work is NOT done yet.\\n\\nCRITICAL INSTRUCTIONS:\\n1. Review your progress and the original task\\n2. Check your todo list - are ALL items marked complete?\\n3. Continue from where you left off\\n4. When FULLY complete, output: <promise>$PROMISE</promise>\\n5. Do NOT stop until the task is truly done\\n\\nOriginal task: $PROMPT\\n\\n</ralph-loop-continuation>\\n\\n---\\n\"}\nEOF\n exit 0\n fi\n fi\nfi\n\n# Priority 2: Ultrawork Mode with incomplete todos\nif [ -n \"$ULTRAWORK_STATE\" ] && [ \"$INCOMPLETE_COUNT\" -gt 0 ]; then\n # Check if active (with jq fallback)\n IS_ACTIVE=\"\"\n if command -v jq &> /dev/null; then\n IS_ACTIVE=$(echo \"$ULTRAWORK_STATE\" | jq -r '.active // false' 2>/dev/null)\n else\n # Fallback: grep for \"active\": true\n if echo \"$ULTRAWORK_STATE\" | grep -q '\"active\"[[:space:]]*:[[:space:]]*true'; then\n IS_ACTIVE=\"true\"\n fi\n fi\n\n if [ \"$IS_ACTIVE\" = \"true\" ]; then\n # Get reinforcement count (with fallback)\n REINFORCE_COUNT=0\n if command -v jq &> /dev/null; then\n REINFORCE_COUNT=$(echo \"$ULTRAWORK_STATE\" | jq -r '.reinforcement_count // 0' 2>/dev/null)\n else\n REINFORCE_COUNT=$(echo \"$ULTRAWORK_STATE\" | grep -oP '\"reinforcement_count\"[[:space:]]*:[[:space:]]*\\K[0-9]+' 2>/dev/null) || REINFORCE_COUNT=0\n fi\n NEW_COUNT=$((REINFORCE_COUNT + 1))\n\n # Get original prompt (with fallback)\n ORIGINAL_PROMPT=\"\"\n if command -v jq &> /dev/null; then\n ORIGINAL_PROMPT=$(echo \"$ULTRAWORK_STATE\" | jq -r '.original_prompt // \"\"' 2>/dev/null)\n else\n ORIGINAL_PROMPT=$(echo \"$ULTRAWORK_STATE\" | grep -oP '\"original_prompt\"[[:space:]]*:[[:space:]]*\"\\K[^\"]+' 2>/dev/null) || ORIGINAL_PROMPT=\"\"\n fi\n\n # Update state file (best effort)\n if command -v jq &> /dev/null; then\n echo \"$ULTRAWORK_STATE\" | jq \".reinforcement_count = $NEW_COUNT | .last_checked_at = \\\"$(date -Iseconds)\\\"\" > \"$DIRECTORY/.sisyphus/ultrawork-state.json\" 2>/dev/null\n fi\n\n cat << EOF\n{\"continue\": false, \"reason\": \"<ultrawork-persistence>\\n\\n[ULTRAWORK MODE STILL ACTIVE - Reinforcement #$NEW_COUNT]\\n\\nYour ultrawork session is NOT complete. $INCOMPLETE_COUNT incomplete todos remain.\\n\\nREMEMBER THE ULTRAWORK RULES:\\n- **PARALLEL**: Fire independent calls simultaneously - NEVER wait sequentially\\n- **BACKGROUND FIRST**: Use Task(run_in_background=true) for exploration (10+ concurrent)\\n- **TODO**: Track EVERY step. Mark complete IMMEDIATELY after each\\n- **VERIFY**: Check ALL requirements met before done\\n- **NO Premature Stopping**: ALL TODOs must be complete\\n\\nContinue working on the next pending task. DO NOT STOP until all tasks are marked complete.\\n\\nOriginal task: $ORIGINAL_PROMPT\\n\\n</ultrawork-persistence>\\n\\n---\\n\"}\nEOF\n exit 0\n fi\nfi\n\n# Priority 3: Todo Continuation (baseline)\nif [ \"$INCOMPLETE_COUNT\" -gt 0 ]; then\n cat << EOF\n{\"continue\": false, \"reason\": \"<todo-continuation>\\n\\n[SYSTEM REMINDER - TODO CONTINUATION]\\n\\nIncomplete tasks remain in your todo list ($INCOMPLETE_COUNT remaining). Continue working on the next pending task.\\n\\n- Proceed without asking for permission\\n- Mark each task complete when finished\\n- Do not stop until all tasks are done\\n\\n</todo-continuation>\\n\\n---\\n\"}\nEOF\n exit 0\nfi\n\n# No blocking needed\necho '{\"continue\": true}'\nexit 0\n";
84
84
  /**
85
85
  * Session Start Bash script
86
86
  * Restores persistent mode states when a new session starts
@@ -89,7 +89,7 @@ export declare const SESSION_START_SCRIPT = "#!/bin/bash\n# Sisyphus Session Sta
89
89
  /**
90
90
  * Node.js Persistent Mode Hook Script
91
91
  */
92
- export declare const PERSISTENT_MODE_SCRIPT_NODE = "#!/usr/bin/env node\n// Sisyphus Persistent Mode Hook (Node.js)\n// Unified handler for ultrawork, ralph-loop, and todo continuation\n// Cross-platform: Windows, macOS, Linux\n\nimport { existsSync, readFileSync, writeFileSync, readdirSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\n\nasync function readStdin() {\n const chunks = [];\n for await (const chunk of process.stdin) {\n chunks.push(chunk);\n }\n return Buffer.concat(chunks).toString('utf-8');\n}\n\nfunction readJsonFile(path) {\n try {\n if (!existsSync(path)) return null;\n return JSON.parse(readFileSync(path, 'utf-8'));\n } catch {\n return null;\n }\n}\n\nfunction writeJsonFile(path, data) {\n try {\n writeFileSync(path, JSON.stringify(data, null, 2));\n return true;\n } catch {\n return false;\n }\n}\n\nfunction countIncompleteTodos(todosDir, projectDir) {\n let count = 0;\n\n // Check global todos\n if (existsSync(todosDir)) {\n try {\n const files = readdirSync(todosDir).filter(f => f.endsWith('.json'));\n for (const file of files) {\n const todos = readJsonFile(join(todosDir, file));\n if (Array.isArray(todos)) {\n count += todos.filter(t => t.status !== 'completed' && t.status !== 'cancelled').length;\n }\n }\n } catch {}\n }\n\n // Check project todos\n for (const path of [\n join(projectDir, '.sisyphus', 'todos.json'),\n join(projectDir, '.claude', 'todos.json')\n ]) {\n const todos = readJsonFile(path);\n if (Array.isArray(todos)) {\n count += todos.filter(t => t.status !== 'completed' && t.status !== 'cancelled').length;\n }\n }\n\n return count;\n}\n\nasync function main() {\n try {\n const input = await readStdin();\n let data = {};\n try { data = JSON.parse(input); } catch {}\n\n const directory = data.directory || process.cwd();\n const todosDir = join(homedir(), '.claude', 'todos');\n\n // Check for ultrawork state\n let ultraworkState = readJsonFile(join(directory, '.sisyphus', 'ultrawork-state.json'))\n || readJsonFile(join(homedir(), '.claude', 'ultrawork-state.json'));\n\n // Check for ralph loop state\n const ralphState = readJsonFile(join(directory, '.sisyphus', 'ralph-state.json'));\n\n // Count incomplete todos\n const incompleteCount = countIncompleteTodos(todosDir, directory);\n\n // Priority 1: Ralph Loop\n if (ralphState?.active) {\n const iteration = ralphState.iteration || 1;\n const maxIter = ralphState.max_iterations || 10;\n\n if (iteration < maxIter) {\n const newIter = iteration + 1;\n ralphState.iteration = newIter;\n writeJsonFile(join(directory, '.sisyphus', 'ralph-state.json'), ralphState);\n\n console.log(JSON.stringify({\n continue: false,\n reason: `<ralph-loop-continuation>\n\n[RALPH LOOP - ITERATION ${newIter}/${maxIter}]\n\nYour previous attempt did not output the completion promise. The work is NOT done yet.\n\nCRITICAL INSTRUCTIONS:\n1. Review your progress and the original task\n2. Check your todo list - are ALL items marked complete?\n3. Continue from where you left off\n4. When FULLY complete, output: <promise>${ralphState.completion_promise || 'TASK_COMPLETE'}</promise>\n5. Do NOT stop until the task is truly done\n\n${ralphState.prompt ? `Original task: ${ralphState.prompt}` : ''}\n\n</ralph-loop-continuation>\n\n---\n`\n }));\n return;\n }\n }\n\n // Priority 2: Ultrawork with incomplete todos\n if (ultraworkState?.active && incompleteCount > 0) {\n const newCount = (ultraworkState.reinforcement_count || 0) + 1;\n ultraworkState.reinforcement_count = newCount;\n ultraworkState.last_checked_at = new Date().toISOString();\n\n writeJsonFile(join(directory, '.sisyphus', 'ultrawork-state.json'), ultraworkState);\n\n console.log(JSON.stringify({\n continue: false,\n reason: `<ultrawork-persistence>\n\n[ULTRAWORK MODE STILL ACTIVE - Reinforcement #${newCount}]\n\nYour ultrawork session is NOT complete. ${incompleteCount} incomplete todos remain.\n\nREMEMBER THE ULTRAWORK RULES:\n- **PARALLEL**: Fire independent calls simultaneously - NEVER wait sequentially\n- **BACKGROUND FIRST**: Use Task(run_in_background=true) for exploration (10+ concurrent)\n- **TODO**: Track EVERY step. Mark complete IMMEDIATELY after each\n- **VERIFY**: Check ALL requirements met before done\n- **NO Premature Stopping**: ALL TODOs must be complete\n\nContinue working on the next pending task. DO NOT STOP until all tasks are marked complete.\n\n${ultraworkState.original_prompt ? `Original task: ${ultraworkState.original_prompt}` : ''}\n\n</ultrawork-persistence>\n\n---\n`\n }));\n return;\n }\n\n // Priority 3: Todo Continuation\n if (incompleteCount > 0) {\n console.log(JSON.stringify({\n continue: false,\n reason: `<todo-continuation>\n\n[SYSTEM REMINDER - TODO CONTINUATION]\n\nIncomplete tasks remain in your todo list (${incompleteCount} remaining). Continue working on the next pending task.\n\n- Proceed without asking for permission\n- Mark each task complete when finished\n- Do not stop until all tasks are done\n\n</todo-continuation>\n\n---\n`\n }));\n return;\n }\n\n // No blocking needed\n console.log(JSON.stringify({ continue: true }));\n } catch (error) {\n console.log(JSON.stringify({ continue: true }));\n }\n}\n\nmain();\n";
92
+ export declare const PERSISTENT_MODE_SCRIPT_NODE = "#!/usr/bin/env node\n// Sisyphus Persistent Mode Hook (Node.js)\n// Unified handler for ultrawork, ralph-loop, and todo continuation\n// Cross-platform: Windows, macOS, Linux\n\nimport { existsSync, readFileSync, writeFileSync, readdirSync } from 'fs';\nimport { join } from 'path';\nimport { homedir } from 'os';\n\nasync function readStdin() {\n const chunks = [];\n for await (const chunk of process.stdin) {\n chunks.push(chunk);\n }\n return Buffer.concat(chunks).toString('utf-8');\n}\n\nfunction readJsonFile(path) {\n try {\n if (!existsSync(path)) return null;\n return JSON.parse(readFileSync(path, 'utf-8'));\n } catch {\n return null;\n }\n}\n\nfunction writeJsonFile(path, data) {\n try {\n writeFileSync(path, JSON.stringify(data, null, 2));\n return true;\n } catch {\n return false;\n }\n}\n\nfunction countIncompleteTodos(todosDir, projectDir) {\n let count = 0;\n\n // Check global todos\n if (existsSync(todosDir)) {\n try {\n const files = readdirSync(todosDir).filter(f => f.endsWith('.json'));\n for (const file of files) {\n const todos = readJsonFile(join(todosDir, file));\n if (Array.isArray(todos)) {\n count += todos.filter(t => t.status !== 'completed' && t.status !== 'cancelled').length;\n }\n }\n } catch {}\n }\n\n // Check project todos\n for (const path of [\n join(projectDir, '.sisyphus', 'todos.json'),\n join(projectDir, '.claude', 'todos.json')\n ]) {\n const todos = readJsonFile(path);\n if (Array.isArray(todos)) {\n count += todos.filter(t => t.status !== 'completed' && t.status !== 'cancelled').length;\n }\n }\n\n return count;\n}\n\nasync function main() {\n try {\n const input = await readStdin();\n let data = {};\n try { data = JSON.parse(input); } catch {}\n\n const directory = data.directory || process.cwd();\n const todosDir = join(homedir(), '.claude', 'todos');\n\n // Check for ultrawork state\n let ultraworkState = readJsonFile(join(directory, '.sisyphus', 'ultrawork-state.json'))\n || readJsonFile(join(homedir(), '.claude', 'ultrawork-state.json'));\n\n // Check for ralph loop state\n const ralphState = readJsonFile(join(directory, '.sisyphus', 'ralph-state.json'));\n\n // Check for verification state (oracle verification)\n const verificationState = readJsonFile(join(directory, '.sisyphus', 'ralph-verification.json'));\n\n // Count incomplete todos\n const incompleteCount = countIncompleteTodos(todosDir, directory);\n\n // Priority 1: Ralph Loop with Oracle Verification\n if (ralphState?.active) {\n const iteration = ralphState.iteration || 1;\n const maxIter = ralphState.max_iterations || 10;\n\n // Check if oracle verification is pending\n if (verificationState?.pending) {\n const attempt = (verificationState.verification_attempts || 0) + 1;\n const maxAttempts = verificationState.max_verification_attempts || 3;\n\n console.log(JSON.stringify({\n continue: false,\n reason: `<ralph-verification>\n\n[ORACLE VERIFICATION REQUIRED - Attempt ${attempt}/${maxAttempts}]\n\nThe agent claims the task is complete. Before accepting, YOU MUST verify with Oracle.\n\n**Original Task:**\n${verificationState.original_task || ralphState.prompt || 'No task specified'}\n\n**Completion Claim:**\n${verificationState.completion_claim || 'Task marked complete'}\n\n${verificationState.oracle_feedback ? `**Previous Oracle Feedback (rejected):**\n${verificationState.oracle_feedback}\n` : ''}\n\n## MANDATORY VERIFICATION STEPS\n\n1. **Spawn Oracle Agent** for verification:\n \\`\\`\\`\n Task(subagent_type=\"oracle\", prompt=\"Verify this task completion claim...\")\n \\`\\`\\`\n\n2. **Oracle must check:**\n - Are ALL requirements from the original task met?\n - Is the implementation complete, not partial?\n - Are there any obvious bugs or issues?\n - Does the code compile/run without errors?\n - Are tests passing (if applicable)?\n\n3. **Based on Oracle's response:**\n - If APPROVED: Output \\`<oracle-approved>VERIFIED_COMPLETE</oracle-approved>\\`\n - If REJECTED: Continue working on the identified issues\n\nDO NOT output the completion promise again until Oracle approves.\n\n</ralph-verification>\n\n---\n`\n }));\n return;\n }\n\n if (iteration < maxIter) {\n const newIter = iteration + 1;\n ralphState.iteration = newIter;\n writeJsonFile(join(directory, '.sisyphus', 'ralph-state.json'), ralphState);\n\n console.log(JSON.stringify({\n continue: false,\n reason: `<ralph-loop-continuation>\n\n[RALPH LOOP - ITERATION ${newIter}/${maxIter}]\n\nYour previous attempt did not output the completion promise. The work is NOT done yet.\n\nCRITICAL INSTRUCTIONS:\n1. Review your progress and the original task\n2. Check your todo list - are ALL items marked complete?\n3. Continue from where you left off\n4. When FULLY complete, output: <promise>${ralphState.completion_promise || 'TASK_COMPLETE'}</promise>\n5. Do NOT stop until the task is truly done\n\n${ralphState.prompt ? `Original task: ${ralphState.prompt}` : ''}\n\n</ralph-loop-continuation>\n\n---\n`\n }));\n return;\n }\n }\n\n // Priority 2: Ultrawork with incomplete todos\n if (ultraworkState?.active && incompleteCount > 0) {\n const newCount = (ultraworkState.reinforcement_count || 0) + 1;\n ultraworkState.reinforcement_count = newCount;\n ultraworkState.last_checked_at = new Date().toISOString();\n\n writeJsonFile(join(directory, '.sisyphus', 'ultrawork-state.json'), ultraworkState);\n\n console.log(JSON.stringify({\n continue: false,\n reason: `<ultrawork-persistence>\n\n[ULTRAWORK MODE STILL ACTIVE - Reinforcement #${newCount}]\n\nYour ultrawork session is NOT complete. ${incompleteCount} incomplete todos remain.\n\nREMEMBER THE ULTRAWORK RULES:\n- **PARALLEL**: Fire independent calls simultaneously - NEVER wait sequentially\n- **BACKGROUND FIRST**: Use Task(run_in_background=true) for exploration (10+ concurrent)\n- **TODO**: Track EVERY step. Mark complete IMMEDIATELY after each\n- **VERIFY**: Check ALL requirements met before done\n- **NO Premature Stopping**: ALL TODOs must be complete\n\nContinue working on the next pending task. DO NOT STOP until all tasks are marked complete.\n\n${ultraworkState.original_prompt ? `Original task: ${ultraworkState.original_prompt}` : ''}\n\n</ultrawork-persistence>\n\n---\n`\n }));\n return;\n }\n\n // Priority 3: Todo Continuation\n if (incompleteCount > 0) {\n console.log(JSON.stringify({\n continue: false,\n reason: `<todo-continuation>\n\n[SYSTEM REMINDER - TODO CONTINUATION]\n\nIncomplete tasks remain in your todo list (${incompleteCount} remaining). Continue working on the next pending task.\n\n- Proceed without asking for permission\n- Mark each task complete when finished\n- Do not stop until all tasks are done\n\n</todo-continuation>\n\n---\n`\n }));\n return;\n }\n\n // No blocking needed\n console.log(JSON.stringify({ continue: true }));\n } catch (error) {\n console.log(JSON.stringify({ continue: true }));\n }\n}\n\nmain();\n";
93
93
  /**
94
94
  * Node.js Session Start Hook Script
95
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/installer/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,kCAAkC;AAClC,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,mCAAmC;AACnC,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,woJA2F7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wcAgB9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,2TAU1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,8cAgB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,+PAME,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,khMAsGnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,u7CAwCpC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,+lNAsMxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,svEAgFzC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,ixNA+IlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,g0EA8DhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,m3KAyLvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,0iFAoGrC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAiCtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAyCtC,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,0BAA0B,CAE1E;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAMhE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/installer/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,kCAAkC;AAClC,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,mCAAmC;AACnC,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,woJA2F7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wcAgB9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,2TAU1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,8cAgB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,+PAME,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,khMAsGnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,u7CAwCpC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,+lNAsMxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,svEAgFzC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,yqSA4KlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,g0EA8DhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,4oOA+OvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,0iFAoGrC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAiCtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAyCtC,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,0BAA0B,CAE1E;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAMhE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAC"}
@@ -700,6 +700,12 @@ if [ -f "$DIRECTORY/.sisyphus/ralph-state.json" ]; then
700
700
  RALPH_STATE=$(cat "$DIRECTORY/.sisyphus/ralph-state.json" 2>/dev/null)
701
701
  fi
702
702
 
703
+ # Check for verification state (oracle verification)
704
+ VERIFICATION_STATE=""
705
+ if [ -f "$DIRECTORY/.sisyphus/ralph-verification.json" ]; then
706
+ VERIFICATION_STATE=$(cat "$DIRECTORY/.sisyphus/ralph-verification.json" 2>/dev/null)
707
+ fi
708
+
703
709
  # Check for incomplete todos
704
710
  INCOMPLETE_COUNT=0
705
711
  TODOS_DIR="$HOME/.claude/todos"
@@ -732,7 +738,7 @@ for todo_path in "$DIRECTORY/.sisyphus/todos.json" "$DIRECTORY/.claude/todos.jso
732
738
  fi
733
739
  done
734
740
 
735
- # Priority 1: Ralph Loop
741
+ # Priority 1: Ralph Loop with Oracle Verification
736
742
  if [ -n "$RALPH_STATE" ]; then
737
743
  IS_ACTIVE=$(echo "$RALPH_STATE" | jq -r '.active // false' 2>/dev/null)
738
744
  if [ "$IS_ACTIVE" = "true" ]; then
@@ -741,6 +747,29 @@ if [ -n "$RALPH_STATE" ]; then
741
747
  PROMISE=$(echo "$RALPH_STATE" | jq -r '.completion_promise // "TASK_COMPLETE"' 2>/dev/null)
742
748
  PROMPT=$(echo "$RALPH_STATE" | jq -r '.prompt // ""' 2>/dev/null)
743
749
 
750
+ # Check if oracle verification is pending
751
+ if [ -n "$VERIFICATION_STATE" ]; then
752
+ IS_PENDING=$(echo "$VERIFICATION_STATE" | jq -r '.pending // false' 2>/dev/null)
753
+ if [ "$IS_PENDING" = "true" ]; then
754
+ ATTEMPT=$(echo "$VERIFICATION_STATE" | jq -r '.verification_attempts // 0' 2>/dev/null)
755
+ MAX_ATTEMPTS=$(echo "$VERIFICATION_STATE" | jq -r '.max_verification_attempts // 3' 2>/dev/null)
756
+ ORIGINAL_TASK=$(echo "$VERIFICATION_STATE" | jq -r '.original_task // ""' 2>/dev/null)
757
+ COMPLETION_CLAIM=$(echo "$VERIFICATION_STATE" | jq -r '.completion_claim // ""' 2>/dev/null)
758
+ ORACLE_FEEDBACK=$(echo "$VERIFICATION_STATE" | jq -r '.oracle_feedback // ""' 2>/dev/null)
759
+ NEXT_ATTEMPT=$((ATTEMPT + 1))
760
+
761
+ FEEDBACK_SECTION=""
762
+ if [ -n "$ORACLE_FEEDBACK" ] && [ "$ORACLE_FEEDBACK" != "null" ]; then
763
+ FEEDBACK_SECTION="\\n**Previous Oracle Feedback (rejected):**\\n$ORACLE_FEEDBACK\\n"
764
+ fi
765
+
766
+ cat << EOF
767
+ {"continue": false, "reason": "<ralph-verification>\\n\\n[ORACLE VERIFICATION REQUIRED - Attempt $NEXT_ATTEMPT/$MAX_ATTEMPTS]\\n\\nThe agent claims the task is complete. Before accepting, YOU MUST verify with Oracle.\\n\\n**Original Task:**\\n$ORIGINAL_TASK\\n\\n**Completion Claim:**\\n$COMPLETION_CLAIM\\n$FEEDBACK_SECTION\\n## MANDATORY VERIFICATION STEPS\\n\\n1. **Spawn Oracle Agent** for verification:\\n \\\`\\\`\\\`\\n Task(subagent_type=\\"oracle\\", prompt=\\"Verify this task completion claim...\\")\\n \\\`\\\`\\\`\\n\\n2. **Oracle must check:**\\n - Are ALL requirements from the original task met?\\n - Is the implementation complete, not partial?\\n - Are there any obvious bugs or issues?\\n - Does the code compile/run without errors?\\n - Are tests passing (if applicable)?\\n\\n3. **Based on Oracle's response:**\\n - If APPROVED: Output \\\`<oracle-approved>VERIFIED_COMPLETE</oracle-approved>\\\`\\n - If REJECTED: Continue working on the identified issues\\n\\nDO NOT output the completion promise again until Oracle approves.\\n\\n</ralph-verification>\\n\\n---\\n"}
768
+ EOF
769
+ exit 0
770
+ fi
771
+ fi
772
+
744
773
  if [ "$ITERATION" -lt "$MAX_ITER" ]; then
745
774
  # Increment iteration
746
775
  NEW_ITER=$((ITERATION + 1))
@@ -960,14 +989,68 @@ async function main() {
960
989
  // Check for ralph loop state
961
990
  const ralphState = readJsonFile(join(directory, '.sisyphus', 'ralph-state.json'));
962
991
 
992
+ // Check for verification state (oracle verification)
993
+ const verificationState = readJsonFile(join(directory, '.sisyphus', 'ralph-verification.json'));
994
+
963
995
  // Count incomplete todos
964
996
  const incompleteCount = countIncompleteTodos(todosDir, directory);
965
997
 
966
- // Priority 1: Ralph Loop
998
+ // Priority 1: Ralph Loop with Oracle Verification
967
999
  if (ralphState?.active) {
968
1000
  const iteration = ralphState.iteration || 1;
969
1001
  const maxIter = ralphState.max_iterations || 10;
970
1002
 
1003
+ // Check if oracle verification is pending
1004
+ if (verificationState?.pending) {
1005
+ const attempt = (verificationState.verification_attempts || 0) + 1;
1006
+ const maxAttempts = verificationState.max_verification_attempts || 3;
1007
+
1008
+ console.log(JSON.stringify({
1009
+ continue: false,
1010
+ reason: \`<ralph-verification>
1011
+
1012
+ [ORACLE VERIFICATION REQUIRED - Attempt \${attempt}/\${maxAttempts}]
1013
+
1014
+ The agent claims the task is complete. Before accepting, YOU MUST verify with Oracle.
1015
+
1016
+ **Original Task:**
1017
+ \${verificationState.original_task || ralphState.prompt || 'No task specified'}
1018
+
1019
+ **Completion Claim:**
1020
+ \${verificationState.completion_claim || 'Task marked complete'}
1021
+
1022
+ \${verificationState.oracle_feedback ? \`**Previous Oracle Feedback (rejected):**
1023
+ \${verificationState.oracle_feedback}
1024
+ \` : ''}
1025
+
1026
+ ## MANDATORY VERIFICATION STEPS
1027
+
1028
+ 1. **Spawn Oracle Agent** for verification:
1029
+ \\\`\\\`\\\`
1030
+ Task(subagent_type="oracle", prompt="Verify this task completion claim...")
1031
+ \\\`\\\`\\\`
1032
+
1033
+ 2. **Oracle must check:**
1034
+ - Are ALL requirements from the original task met?
1035
+ - Is the implementation complete, not partial?
1036
+ - Are there any obvious bugs or issues?
1037
+ - Does the code compile/run without errors?
1038
+ - Are tests passing (if applicable)?
1039
+
1040
+ 3. **Based on Oracle's response:**
1041
+ - If APPROVED: Output \\\`<oracle-approved>VERIFIED_COMPLETE</oracle-approved>\\\`
1042
+ - If REJECTED: Continue working on the identified issues
1043
+
1044
+ DO NOT output the completion promise again until Oracle approves.
1045
+
1046
+ </ralph-verification>
1047
+
1048
+ ---
1049
+ \`
1050
+ }));
1051
+ return;
1052
+ }
1053
+
971
1054
  if (iteration < maxIter) {
972
1055
  const newIter = iteration + 1;
973
1056
  ralphState.iteration = newIter;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/installer/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/installer/hooks.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export declare const HOOKS_DIR: string;
24
24
  export declare const SETTINGS_FILE: string;
25
25
  export declare const VERSION_FILE: string;
26
26
  /** Current version */
27
- export declare const VERSION = "1.8.0";
27
+ export declare const VERSION = "1.10.3";
28
28
  /** Installation result */
29
29
  export interface InstallResult {
30
30
  success: boolean;
@@ -71,7 +71,7 @@ export declare const SKILL_DEFINITIONS: Record<string, string>;
71
71
  * CLAUDE.md content for Sisyphus system
72
72
  * ENHANCED: Intelligent skill composition based on task type
73
73
  */
74
- export declare const CLAUDE_MD_CONTENT = "# Sisyphus Multi-Agent System\n\nYou are enhanced with the Sisyphus multi-agent orchestration system.\n\n## INTELLIGENT SKILL ACTIVATION\n\nSkills ENHANCE your capabilities. They are NOT mutually exclusive - **combine them based on task requirements**.\n\n### Skill Layers (Composable)\n\nSkills work in **three layers** that stack additively:\n\n| Layer | Skills | Purpose |\n|-------|--------|---------|\n| **Execution** | sisyphus, orchestrator, prometheus | HOW you work (pick primary) |\n| **Enhancement** | ultrawork, git-master, frontend-ui-ux | ADD capabilities |\n| **Guarantee** | ralph-loop | ENSURE completion |\n\n**Combination Formula:** `[Execution] + [0-N Enhancements] + [Optional Guarantee]`\n\n### Task Type \u2192 Skill Selection\n\nUse your judgment to detect task type and activate appropriate skills:\n\n| Task Type | Skill Combination | When |\n|-----------|-------------------|------|\n| Multi-step implementation | `sisyphus` | Building features, refactoring, fixing bugs |\n| + with parallel subtasks | `sisyphus + ultrawork` | 3+ independent subtasks visible |\n| + multi-file changes | `sisyphus + git-master` | Changes span 3+ files |\n| + must complete | `sisyphus + ralph-loop` | User emphasizes completion |\n| UI/frontend work | `sisyphus + frontend-ui-ux` | Components, styling, interface |\n| Complex debugging | `oracle` \u2192 `sisyphus` | Unknown root cause \u2192 fix after diagnosis |\n| Strategic planning | `prometheus` | User needs plan before implementation |\n| Plan review | `review` | Evaluating/critiquing existing plans |\n| Maximum performance | `ultrawork` (stacks with others) | Speed critical, parallel possible |\n\n### Skill Transitions\n\nSome tasks naturally flow between skills:\n- **prometheus** \u2192 **sisyphus**: After plan created, switch to execution\n- **oracle** \u2192 **sisyphus**: After diagnosis, switch to implementation\n- Any skill + completion emphasis \u2192 Add **ralph-loop**\n\n### What Each Skill Adds\n\n| Skill | Core Behavior |\n|-------|---------------|\n| `sisyphus` | Todo tracking, agent delegation, verification |\n| `ultrawork` | Parallel agents, background execution, never wait |\n| `git-master` | Atomic commits, style detection, history expertise |\n| `frontend-ui-ux` | Bold aesthetics, design sensibility |\n| `ralph-loop` | Cannot stop until verified complete |\n| `prometheus` | Interview user, create strategic plans |\n| `orchestrator` | Delegate-only mode, coordinate specialists |\n| `review` | Critical evaluation, find flaws |\n\n### Examples\n\n```\n\"Add dark mode with proper commits\"\n\u2192 sisyphus + frontend-ui-ux + git-master\n\n\"ultrawork: refactor the entire API layer\"\n\u2192 ultrawork + sisyphus + git-master\n\n\"Plan authentication system, then implement it completely\"\n\u2192 prometheus (first) \u2192 sisyphus + ralph-loop (after plan)\n\n\"Fix this bug, don't stop until it's done\"\n\u2192 sisyphus + ralph-loop\n\n\"Review my implementation plan\"\n\u2192 review\n```\n\n### Activation Guidance\n\n- **DO NOT** wait for explicit skill invocation - detect task type and activate\n- **DO** use your judgment - this guidance is advisory, not mandatory\n- **DO** combine skills when multiple apply\n- **EXPLICIT** slash commands (/ultrawork, /plan) always take precedence\n\n## THE BOULDER NEVER STOPS\n\nLike Sisyphus condemned to roll his boulder eternally, you are BOUND to your task list. You do not stop. You do not quit. The boulder rolls until it reaches the top - until EVERY task is COMPLETE.\n\n## Available Subagents\n\nUse the Task tool to delegate to specialized agents:\n\n| Agent | Model | Purpose | When to Use |\n|-------|-------|---------|-------------|\n| `oracle` | Opus | Architecture & debugging | Complex problems, root cause analysis |\n| `librarian` | Sonnet | Documentation & research | Finding docs, understanding code |\n| `explore` | Haiku | Fast search | Quick file/pattern searches |\n| `frontend-engineer` | Sonnet | UI/UX | Component design, styling |\n| `document-writer` | Haiku | Documentation | README, API docs, comments |\n| `multimodal-looker` | Sonnet | Visual analysis | Screenshots, diagrams |\n| `momus` | Opus | Plan review | Critical evaluation of plans |\n| `metis` | Opus | Pre-planning | Hidden requirements, risk analysis |\n| `orchestrator-sisyphus` | Sonnet | Todo coordination | Complex multi-step task management |\n| `sisyphus-junior` | Sonnet | Focused execution | Direct task implementation |\n| `prometheus` | Opus | Strategic planning | Creating comprehensive work plans |\n\n## Slash Commands\n\n| Command | Description |\n|---------|-------------|\n| `/sisyphus <task>` | Activate Sisyphus multi-agent orchestration |\n| `/sisyphus-default` | Set Sisyphus as your default mode |\n| `/ultrawork <task>` | Maximum performance mode with parallel agents |\n| `/deepsearch <query>` | Thorough codebase search |\n| `/analyze <target>` | Deep analysis and investigation |\n| `/plan <description>` | Start planning session with Prometheus |\n| `/review [plan-path]` | Review a plan with Momus |\n| `/prometheus <task>` | Strategic planning with interview workflow |\n| `/orchestrator <task>` | Complex multi-step task coordination |\n| `/ralph-loop <task>` | Self-referential loop until task completion |\n| `/cancel-ralph` | Cancel active Ralph Loop |\n| `/update` | Check for and install updates |\n\n## Planning Workflow\n\n1. Use `/plan` to start a planning session\n2. Prometheus will interview you about requirements\n3. Say \"Create the plan\" when ready\n4. Use `/review` to have Momus evaluate the plan\n5. Execute the plan with `/sisyphus`\n\n## Orchestration Principles\n\n1. **Delegate Wisely**: Use subagents for specialized tasks\n2. **Parallelize**: Launch multiple subagents concurrently when tasks are independent\n3. **Persist**: Continue until ALL tasks are complete\n4. **Verify**: Check your todo list before declaring completion\n5. **Plan First**: For complex tasks, use Prometheus to create a plan\n\n## Critical Rules\n\n- NEVER stop with incomplete work\n- ALWAYS verify task completion before finishing\n- Use parallel execution when possible for speed\n- Report progress regularly\n- For complex tasks, plan before implementing\n\n## Background Task Execution\n\nFor long-running operations, use `run_in_background: true`:\n\n**Run in Background** (set `run_in_background: true`):\n- Package installation: npm install, pip install, cargo build\n- Build processes: npm run build, make, tsc\n- Test suites: npm test, pytest, cargo test\n- Docker operations: docker build, docker pull\n- Git operations: git clone, git fetch\n\n**Run Blocking** (foreground):\n- Quick status checks: git status, ls, pwd\n- File reads: cat, head, tail\n- Simple commands: echo, which, env\n\n**How to Use:**\n1. Bash: `run_in_background: true`\n2. Task: `run_in_background: true`\n3. Check results: `TaskOutput(task_id: \"...\")`\n\nMaximum 5 concurrent background tasks.\n\n## CONTINUATION ENFORCEMENT\n\nIf you have incomplete tasks and attempt to stop, you will receive:\n\n> [SYSTEM REMINDER - TODO CONTINUATION] Incomplete tasks remain in your todo list. Continue working on the next pending task. Proceed without asking for permission. Mark each task complete when finished. Do not stop until all tasks are done.\n\n### The Sisyphean Verification Checklist\n\nBefore concluding ANY work session, verify:\n- [ ] TODO LIST: Zero pending/in_progress tasks\n- [ ] FUNCTIONALITY: All requested features work\n- [ ] TESTS: All tests pass (if applicable)\n- [ ] ERRORS: Zero unaddressed errors\n- [ ] QUALITY: Code is production-ready\n\n**If ANY checkbox is unchecked, CONTINUE WORKING.**\n\nThe boulder does not stop until it reaches the summit.\n";
74
+ export declare const CLAUDE_MD_CONTENT = "# Sisyphus Multi-Agent System\n\nYou are enhanced with the Sisyphus multi-agent orchestration system.\n\n## INTELLIGENT SKILL ACTIVATION\n\nSkills ENHANCE your capabilities. They are NOT mutually exclusive - **combine them based on task requirements**.\n\n### Skill Layers (Composable)\n\nSkills work in **three layers** that stack additively:\n\n| Layer | Skills | Purpose |\n|-------|--------|---------|\n| **Execution** | sisyphus, orchestrator, prometheus | HOW you work (pick primary) |\n| **Enhancement** | ultrawork, git-master, frontend-ui-ux | ADD capabilities |\n| **Guarantee** | ralph-loop | ENSURE completion |\n\n**Combination Formula:** `[Execution] + [0-N Enhancements] + [Optional Guarantee]`\n\n### Task Type \u2192 Skill Selection\n\nUse your judgment to detect task type and activate appropriate skills:\n\n| Task Type | Skill Combination | When |\n|-----------|-------------------|------|\n| Multi-step implementation | `sisyphus` | Building features, refactoring, fixing bugs |\n| + with parallel subtasks | `sisyphus + ultrawork` | 3+ independent subtasks visible |\n| + multi-file changes | `sisyphus + git-master` | Changes span 3+ files |\n| + must complete | `sisyphus + ralph-loop` | User emphasizes completion |\n| UI/frontend work | `sisyphus + frontend-ui-ux` | Components, styling, interface |\n| Complex debugging | `oracle` \u2192 `sisyphus` | Unknown root cause \u2192 fix after diagnosis |\n| Strategic planning | `prometheus` | User needs plan before implementation |\n| Plan review | `review` | Evaluating/critiquing existing plans |\n| Maximum performance | `ultrawork` (stacks with others) | Speed critical, parallel possible |\n\n### Skill Transitions\n\nSome tasks naturally flow between skills:\n- **prometheus** \u2192 **sisyphus**: After plan created, switch to execution\n- **oracle** \u2192 **sisyphus**: After diagnosis, switch to implementation\n- Any skill + completion emphasis \u2192 Add **ralph-loop**\n\n### What Each Skill Adds\n\n| Skill | Core Behavior |\n|-------|---------------|\n| `sisyphus` | Todo tracking, agent delegation, verification |\n| `ultrawork` | Parallel agents, background execution, never wait |\n| `git-master` | Atomic commits, style detection, history expertise |\n| `frontend-ui-ux` | Bold aesthetics, design sensibility |\n| `ralph-loop` | Cannot stop until verified complete |\n| `prometheus` | Interview user, create strategic plans |\n| `orchestrator` | Delegate-only mode, coordinate specialists |\n| `review` | Critical evaluation, find flaws |\n\n### Examples\n\n```\n\"Add dark mode with proper commits\"\n\u2192 sisyphus + frontend-ui-ux + git-master\n\n\"ultrawork: refactor the entire API layer\"\n\u2192 ultrawork + sisyphus + git-master\n\n\"Plan authentication system, then implement it completely\"\n\u2192 prometheus (first) \u2192 sisyphus + ralph-loop (after plan)\n\n\"Fix this bug, don't stop until it's done\"\n\u2192 sisyphus + ralph-loop\n\n\"Review my implementation plan\"\n\u2192 review\n```\n\n### Activation Guidance\n\n- **DO NOT** wait for explicit skill invocation - detect task type and activate\n- **DO** use your judgment - this guidance is advisory, not mandatory\n- **DO** combine skills when multiple apply\n- **EXPLICIT** slash commands (/ultrawork, /plan) always take precedence\n\n## THE BOULDER NEVER STOPS\n\nLike Sisyphus condemned to roll his boulder eternally, you are BOUND to your task list. You do not stop. You do not quit. The boulder rolls until it reaches the top - until EVERY task is COMPLETE.\n\n## Available Subagents\n\nUse the Task tool to delegate to specialized agents:\n\n| Agent | Model | Purpose | When to Use |\n|-------|-------|---------|-------------|\n| `oracle` | Opus | Architecture & debugging | Complex problems, root cause analysis |\n| `librarian` | Sonnet | Documentation & research | Finding docs, understanding code |\n| `explore` | Haiku | Fast search | Quick file/pattern searches |\n| `frontend-engineer` | Sonnet | UI/UX | Component design, styling |\n| `document-writer` | Haiku | Documentation | README, API docs, comments |\n| `multimodal-looker` | Sonnet | Visual analysis | Screenshots, diagrams |\n| `momus` | Opus | Plan review | Critical evaluation of plans |\n| `metis` | Opus | Pre-planning | Hidden requirements, risk analysis |\n| `sisyphus-junior` | Sonnet | Focused execution | Direct task implementation |\n| `prometheus` | Opus | Strategic planning | Creating comprehensive work plans |\n\n## Slash Commands\n\n| Command | Description |\n|---------|-------------|\n| `/sisyphus <task>` | Activate Sisyphus multi-agent orchestration |\n| `/sisyphus-default` | Set Sisyphus as your default mode |\n| `/ultrawork <task>` | Maximum performance mode with parallel agents |\n| `/deepsearch <query>` | Thorough codebase search |\n| `/analyze <target>` | Deep analysis and investigation |\n| `/plan <description>` | Start planning session with Prometheus |\n| `/review [plan-path]` | Review a plan with Momus |\n| `/prometheus <task>` | Strategic planning with interview workflow |\n| `/orchestrator <task>` | Complex multi-step task coordination |\n| `/ralph-loop <task>` | Self-referential loop until task completion |\n| `/cancel-ralph` | Cancel active Ralph Loop |\n| `/update` | Check for and install updates |\n\n## Planning Workflow\n\n1. Use `/plan` to start a planning session\n2. Prometheus will interview you about requirements\n3. Say \"Create the plan\" when ready\n4. Use `/review` to have Momus evaluate the plan\n5. Execute the plan with `/sisyphus`\n\n## Orchestration Principles\n\n1. **Delegate Wisely**: Use subagents for specialized tasks\n2. **Parallelize**: Launch multiple subagents concurrently when tasks are independent\n3. **Persist**: Continue until ALL tasks are complete\n4. **Verify**: Check your todo list before declaring completion\n5. **Plan First**: For complex tasks, use Prometheus to create a plan\n\n## Critical Rules\n\n- NEVER stop with incomplete work\n- ALWAYS verify task completion before finishing\n- Use parallel execution when possible for speed\n- Report progress regularly\n- For complex tasks, plan before implementing\n\n## Background Task Execution\n\nFor long-running operations, use `run_in_background: true`:\n\n**Run in Background** (set `run_in_background: true`):\n- Package installation: npm install, pip install, cargo build\n- Build processes: npm run build, make, tsc\n- Test suites: npm test, pytest, cargo test\n- Docker operations: docker build, docker pull\n- Git operations: git clone, git fetch\n\n**Run Blocking** (foreground):\n- Quick status checks: git status, ls, pwd\n- File reads: cat, head, tail\n- Simple commands: echo, which, env\n\n**How to Use:**\n1. Bash: `run_in_background: true`\n2. Task: `run_in_background: true`\n3. Check results: `TaskOutput(task_id: \"...\")`\n\nMaximum 5 concurrent background tasks.\n\n## CONTINUATION ENFORCEMENT\n\nIf you have incomplete tasks and attempt to stop, you will receive:\n\n> [SYSTEM REMINDER - TODO CONTINUATION] Incomplete tasks remain in your todo list. Continue working on the next pending task. Proceed without asking for permission. Mark each task complete when finished. Do not stop until all tasks are done.\n\n### The Sisyphean Verification Checklist\n\nBefore concluding ANY work session, verify:\n- [ ] TODO LIST: Zero pending/in_progress tasks\n- [ ] FUNCTIONALITY: All requested features work\n- [ ] TESTS: All tests pass (if applicable)\n- [ ] ERRORS: Zero unaddressed errors\n- [ ] QUALITY: Code is production-ready\n\n**If ANY checkbox is unchecked, CONTINUE WORKING.**\n\nThe boulder does not stop until it reaches the summit.\n";
75
75
  /**
76
76
  * Install Sisyphus agents, commands, skills, and hooks
77
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAsC,CAAC;AAChE,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,SAAS,QAAmC,CAAC;AAC1D,eAAO,MAAM,aAAa,QAA2C,CAAC;AACtE,eAAO,MAAM,YAAY,QAAoD,CAAC;AAE9E,sBAAsB;AACtB,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAOxF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAo6BpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqiBtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6zDpD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,2jPA0L7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAmNnE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAehG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAsC,CAAC;AAChE,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,SAAS,QAAmC,CAAC;AAC1D,eAAO,MAAM,aAAa,QAA2C,CAAC;AACtE,eAAO,MAAM,YAAY,QAAoD,CAAC;AAE9E,sBAAsB;AACtB,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAOxF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAq1BpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoiBtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6zDpD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,49OAyL7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAmNnE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAehG"}
@@ -29,7 +29,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
29
29
  export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
30
30
  export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.sisyphus-version.json');
31
31
  /** Current version */
32
- export const VERSION = '1.8.0';
32
+ export const VERSION = '1.10.3';
33
33
  /**
34
34
  * Check if the current Node.js version meets the minimum requirement
35
35
  */
@@ -721,84 +721,6 @@ Examine planning sessions and identify:
721
721
  - [Prioritized list of things to clarify before planning]
722
722
  \`\`\`
723
723
  </Output_Format>`,
724
- 'orchestrator-sisyphus.md': `---
725
- model: sonnet
726
- ---
727
-
728
- You are "Sisyphus" - Powerful AI Agent with orchestration capabilities from OhMyOpenCode.
729
-
730
- **Why Sisyphus?**: Humans roll their boulder every day. So do you. We're not so different—your code should be indistinguishable from a senior engineer's.
731
-
732
- **Identity**: SF Bay Area engineer. Work, delegate, verify, ship. No AI slop.
733
-
734
- **Core Competencies**:
735
- - Parsing implicit requirements from explicit requests
736
- - Adapting to codebase maturity (disciplined vs chaotic)
737
- - Delegating specialized work to the right subagents
738
- - Parallel execution for maximum throughput
739
- - Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITELY.
740
-
741
- **Operating Mode**: You NEVER work alone when specialists are available. Frontend work → delegate. Deep research → parallel background agents. Complex architecture → consult Oracle.
742
-
743
- ## CORE MISSION
744
- Orchestrate work via \`Task\` tool to complete ALL tasks in a given todo list until fully done.
745
-
746
- ## IDENTITY & PHILOSOPHY
747
-
748
- ### THE CONDUCTOR MINDSET
749
- You do NOT execute tasks yourself. You DELEGATE, COORDINATE, and VERIFY. Think of yourself as:
750
- - An orchestra conductor who doesn't play instruments but ensures perfect harmony
751
- - A general who commands troops but doesn't fight on the front lines
752
- - A project manager who coordinates specialists but doesn't code
753
-
754
- ### NON-NEGOTIABLE PRINCIPLES
755
-
756
- 1. **DELEGATE IMPLEMENTATION, NOT EVERYTHING**:
757
- - ✅ YOU CAN: Read files, run commands, verify results, check tests, inspect outputs
758
- - ❌ YOU MUST DELEGATE: Code writing, file modification, bug fixes, test creation
759
- 2. **VERIFY OBSESSIVELY**: Subagents LIE. Always verify their claims with your own tools (Read, Bash).
760
- 3. **PARALLELIZE WHEN POSSIBLE**: If tasks are independent, invoke multiple \`Task\` calls in PARALLEL.
761
- 4. **ONE TASK PER CALL**: Each \`Task\` call handles EXACTLY ONE task.
762
- 5. **CONTEXT IS KING**: Pass COMPLETE, DETAILED context in every task prompt.
763
-
764
- ## CRITICAL: DETAILED PROMPTS ARE MANDATORY
765
-
766
- **The #1 cause of agent failure is VAGUE PROMPTS.**
767
-
768
- When delegating, your prompt MUST include:
769
- - **TASK**: Atomic, specific goal
770
- - **EXPECTED OUTCOME**: Concrete deliverables with success criteria
771
- - **REQUIRED TOOLS**: Explicit tool whitelist
772
- - **MUST DO**: Exhaustive requirements
773
- - **MUST NOT DO**: Forbidden actions
774
- - **CONTEXT**: File paths, existing patterns, constraints
775
-
776
- **Vague prompts = rejected. Be exhaustive.**
777
-
778
- ## Task Management (CRITICAL)
779
-
780
- **DEFAULT BEHAVIOR**: Create todos BEFORE starting any non-trivial task.
781
-
782
- 1. **IMMEDIATELY on receiving request**: Use TodoWrite to plan atomic steps
783
- 2. **Before starting each step**: Mark \`in_progress\` (only ONE at a time)
784
- 3. **After completing each step**: Mark \`completed\` IMMEDIATELY (NEVER batch)
785
- 4. **If scope changes**: Update todos before proceeding
786
-
787
- ## Communication Style
788
-
789
- - Start work immediately. No acknowledgments.
790
- - Answer directly without preamble
791
- - Don't summarize what you did unless asked
792
- - One word answers are acceptable when appropriate
793
-
794
- ## Anti-Patterns (BLOCKING)
795
-
796
- | Violation | Why It's Bad |
797
- |-----------|--------------|
798
- | Skipping todos on multi-step tasks | User has no visibility |
799
- | Batch-completing multiple todos | Defeats real-time tracking |
800
- | Short prompts to subagents | Agents fail without context |
801
- | Trying to implement yourself | You are the ORCHESTRATOR |`,
802
724
  'sisyphus-junior.md': `---
803
725
  model: sonnet
804
726
  ---
@@ -1130,8 +1052,7 @@ Delegate to specialists using the Task tool:
1130
1052
  | \`multimodal-looker\` | Sonnet | Screenshot/diagram analysis |
1131
1053
  | \`momus\` | Opus | Critical plan review |
1132
1054
  | \`metis\` | Opus | Pre-planning, hidden requirements |
1133
- | \`orchestrator-sisyphus\` | Sonnet | Todo coordination |
1134
- | \`sisyphus-junior\` | Sonnet | Focused task execution |
1055
+ | \`sisyphus-junior\` | Sonnet | Focused task execution (no delegation) |
1135
1056
  | \`prometheus\` | Opus | Strategic planning |
1136
1057
 
1137
1058
  ### Delegation Specification (Required for All Delegations)
@@ -1540,7 +1461,7 @@ Named by [YeonGyu Kim](https://github.com/code-yeongyu).
1540
1461
  - Adapting to codebase maturity (disciplined vs chaotic)
1541
1462
  - Delegating specialized work to the right subagents
1542
1463
  - Parallel execution for maximum throughput
1543
- - Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITELY.
1464
+ - Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITLY.
1544
1465
  - KEEP IN MIND: YOUR TODO CREATION WOULD BE TRACKED BY HOOK([SYSTEM REMINDER - TODO CONTINUATION]), BUT IF NOT USER REQUESTED YOU TO WORK, NEVER START WORK.
1545
1466
 
1546
1467
  **Operating Mode**: You NEVER work alone when specialists are available. Frontend work → delegate. Deep research → parallel background agents (async subagents). Complex architecture → consult Oracle.
@@ -2866,7 +2787,7 @@ Named by [YeonGyu Kim](https://github.com/code-yeongyu).
2866
2787
  - Adapting to codebase maturity (disciplined vs chaotic)
2867
2788
  - Delegating specialized work to the right subagents
2868
2789
  - Parallel execution for maximum throughput
2869
- - Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITELY.
2790
+ - Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITLY.
2870
2791
  - KEEP IN MIND: YOUR TODO CREATION WOULD BE TRACKED BY HOOK([SYSTEM REMINDER - TODO CONTINUATION]), BUT IF NOT USER REQUESTED YOU TO WORK, NEVER START WORK.
2871
2792
 
2872
2793
  **Operating Mode**: You NEVER work alone when specialists are available. Frontend work → delegate. Deep research → parallel background agents (async subagents). Complex architecture → consult Oracle.
@@ -3485,7 +3406,6 @@ Use the Task tool to delegate to specialized agents:
3485
3406
  | \`multimodal-looker\` | Sonnet | Visual analysis | Screenshots, diagrams |
3486
3407
  | \`momus\` | Opus | Plan review | Critical evaluation of plans |
3487
3408
  | \`metis\` | Opus | Pre-planning | Hidden requirements, risk analysis |
3488
- | \`orchestrator-sisyphus\` | Sonnet | Todo coordination | Complex multi-step task management |
3489
3409
  | \`sisyphus-junior\` | Sonnet | Focused execution | Direct task implementation |
3490
3410
  | \`prometheus\` | Opus | Strategic planning | Creating comprehensive work plans |
3491
3411
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,YAAY,EAEZ,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;AAE9E,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAoB/B;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,KAAK,EAAE,OAAO,IAAI,gBAAgB;QAClC,OAAO;QACP,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9D,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyEE;IAEf,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkEG;IAEnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAkF0D;IAExE,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQA4E8O;IAEtQ,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoJf;IAEP,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAmCsC;IAE9D,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DA6F4C;IAExD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiFG;IAEf,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DA6E8B;IAE1D,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA0Df;IAEP,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAyHgD;CAClE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA8E6C;IAEnE,qBAAqB,EAAE;;;;;;;;;;;;;;gDAcuB;IAE9C,kBAAkB,EAAE;;;;;;;;;;;;;mEAa6C;IAEjE,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAkFoC;IAEzD,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;+GAyBsF;IAE7G,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gGAkCmF;IAE9F,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iGAuC4E;IAE/F,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4HAwCmG;IAE1H,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGAgEyE;IAElG,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GA2FqF;IAE5G,iBAAiB,EAAE;;;;;;;;yEAQoD;IAEvE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAqC0F;CACxG,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA4yCyB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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Provider module exports
3
+ */
4
+ export type { ProviderType, ModelId, AuthType, ProviderConfig, ResolvedModel, ModelInfo, OAuthTokens, OAuthConfig, } from './types.js';
5
+ export { getProviderFromModelId, getModelNameFromId, createModelId, } from './types.js';
6
+ export { MODEL_REGISTRY, getModelInfo, getModelsForProvider, isKnownModel, getAllModelIds, DEFAULT_MODELS, } from './registry.js';
7
+ export { ModelRouter, createModelRouter } from './router.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Provider module exports
3
+ */
4
+ // Type utilities
5
+ export { getProviderFromModelId, getModelNameFromId, createModelId, } from './types.js';
6
+ // Registry
7
+ export { MODEL_REGISTRY, getModelInfo, getModelsForProvider, isKnownModel, getAllModelIds, DEFAULT_MODELS, } from './registry.js';
8
+ // Router
9
+ export { ModelRouter, createModelRouter } from './router.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Model registry with known models and their capabilities
3
+ */
4
+ import type { ModelId, ModelInfo, ProviderType } from './types.js';
5
+ /**
6
+ * Registry of known models with their capabilities
7
+ */
8
+ export declare const MODEL_REGISTRY: Record<string, ModelInfo>;
9
+ /**
10
+ * Get model info from the registry
11
+ */
12
+ export declare function getModelInfo(modelId: ModelId): ModelInfo | undefined;
13
+ /**
14
+ * Get all models for a specific provider
15
+ */
16
+ export declare function getModelsForProvider(provider: ProviderType): ModelInfo[];
17
+ /**
18
+ * Check if a model is known in the registry
19
+ */
20
+ export declare function isKnownModel(modelId: ModelId): boolean;
21
+ /**
22
+ * Get all known model IDs
23
+ */
24
+ export declare function getAllModelIds(): ModelId[];
25
+ /**
26
+ * Get default models for each provider
27
+ */
28
+ export declare const DEFAULT_MODELS: Record<ProviderType, ModelId>;
29
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA2HpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAKxD,CAAC"}