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
@@ -1,5 +1,6 @@
1
1
  #!/bin/bash
2
2
  # Oh-My-Claude-Sisyphus Uninstaller
3
+ # Completely removes all Sisyphus-installed files and configurations
3
4
 
4
5
  set -e
5
6
 
@@ -15,17 +16,38 @@ echo ""
15
16
  # Claude Code config directory (always ~/.claude)
16
17
  CLAUDE_CONFIG_DIR="$HOME/.claude"
17
18
 
18
- echo "This will remove Sisyphus agents and commands from:"
19
+ echo "This will remove ALL Sisyphus components from:"
19
20
  echo " $CLAUDE_CONFIG_DIR"
20
21
  echo ""
21
- read -p "Continue? (y/N) " -n 1 -r
22
- echo
22
+ echo "Components to be removed:"
23
+ echo " - Agents (oracle, librarian, explore, etc.)"
24
+ echo " - Commands (sisyphus, ultrawork, plan, etc.)"
25
+ echo " - Skills (ultrawork, git-master, frontend-ui-ux)"
26
+ echo " - Hooks (keyword-detector, silent-auto-update, stop-continuation)"
27
+ echo " - Version and state files"
28
+ echo " - Hook configurations from settings.json"
29
+ echo ""
30
+ if [ -t 0 ]; then
31
+ read -p "Continue? (y/N) " -n 1 -r
32
+ echo
33
+ else
34
+ # Try reading from terminal if script is piped
35
+ if [ -c /dev/tty ]; then
36
+ echo -n "Continue? (y/N) " >&2
37
+ read -n 1 -r < /dev/tty
38
+ echo
39
+ else
40
+ echo "Non-interactive mode detected or terminal not available. Uninstallation cancelled."
41
+ exit 1
42
+ fi
43
+ fi
23
44
 
24
45
  if [[ ! $REPLY =~ ^[Yy]$ ]]; then
25
46
  echo "Cancelled."
26
47
  exit 0
27
48
  fi
28
49
 
50
+ # Remove agents
29
51
  echo -e "${BLUE}Removing agents...${NC}"
30
52
  rm -f "$CLAUDE_CONFIG_DIR/agents/oracle.md"
31
53
  rm -f "$CLAUDE_CONFIG_DIR/agents/librarian.md"
@@ -33,15 +55,117 @@ rm -f "$CLAUDE_CONFIG_DIR/agents/explore.md"
33
55
  rm -f "$CLAUDE_CONFIG_DIR/agents/frontend-engineer.md"
34
56
  rm -f "$CLAUDE_CONFIG_DIR/agents/document-writer.md"
35
57
  rm -f "$CLAUDE_CONFIG_DIR/agents/multimodal-looker.md"
58
+ rm -f "$CLAUDE_CONFIG_DIR/agents/momus.md"
59
+ rm -f "$CLAUDE_CONFIG_DIR/agents/metis.md"
60
+ rm -f "$CLAUDE_CONFIG_DIR/agents/sisyphus-junior.md"
61
+ rm -f "$CLAUDE_CONFIG_DIR/agents/prometheus.md"
36
62
 
63
+ # Remove commands
37
64
  echo -e "${BLUE}Removing commands...${NC}"
38
65
  rm -f "$CLAUDE_CONFIG_DIR/commands/sisyphus.md"
39
66
  rm -f "$CLAUDE_CONFIG_DIR/commands/sisyphus-default.md"
40
67
  rm -f "$CLAUDE_CONFIG_DIR/commands/ultrawork.md"
41
68
  rm -f "$CLAUDE_CONFIG_DIR/commands/deepsearch.md"
42
69
  rm -f "$CLAUDE_CONFIG_DIR/commands/analyze.md"
70
+ rm -f "$CLAUDE_CONFIG_DIR/commands/plan.md"
71
+ rm -f "$CLAUDE_CONFIG_DIR/commands/review.md"
72
+ rm -f "$CLAUDE_CONFIG_DIR/commands/prometheus.md"
73
+ rm -f "$CLAUDE_CONFIG_DIR/commands/orchestrator.md"
74
+ rm -f "$CLAUDE_CONFIG_DIR/commands/ralph-loop.md"
75
+ rm -f "$CLAUDE_CONFIG_DIR/commands/cancel-ralph.md"
76
+ rm -f "$CLAUDE_CONFIG_DIR/commands/update.md"
77
+
78
+ # Remove skills
79
+ echo -e "${BLUE}Removing skills...${NC}"
80
+ rm -rf "$CLAUDE_CONFIG_DIR/skills/ultrawork"
81
+ rm -rf "$CLAUDE_CONFIG_DIR/skills/git-master"
82
+ rm -rf "$CLAUDE_CONFIG_DIR/skills/frontend-ui-ux"
83
+
84
+ # Remove hooks
85
+ echo -e "${BLUE}Removing hooks...${NC}"
86
+ rm -f "$CLAUDE_CONFIG_DIR/hooks/keyword-detector.sh"
87
+ rm -f "$CLAUDE_CONFIG_DIR/hooks/stop-continuation.sh"
88
+ rm -f "$CLAUDE_CONFIG_DIR/hooks/silent-auto-update.sh"
89
+
90
+ # Remove version, state, and config files
91
+ echo -e "${BLUE}Removing state and config files...${NC}"
92
+ rm -f "$CLAUDE_CONFIG_DIR/.sisyphus-version.json"
93
+ rm -f "$CLAUDE_CONFIG_DIR/.sisyphus-silent-update.json"
94
+ rm -f "$CLAUDE_CONFIG_DIR/.sisyphus-update.log"
95
+ rm -f "$CLAUDE_CONFIG_DIR/.sisyphus-config.json"
96
+
97
+ # Remove hook configurations from settings.json
98
+ SETTINGS_FILE="$CLAUDE_CONFIG_DIR/settings.json"
99
+ if [ -f "$SETTINGS_FILE" ] && command -v jq &> /dev/null; then
100
+ echo -e "${BLUE}Removing hook configurations from settings.json...${NC}"
101
+
102
+ # Create a backup
103
+ cp "$SETTINGS_FILE" "$SETTINGS_FILE.bak"
104
+
105
+ # Remove Sisyphus-specific hooks from settings.json
106
+ # This removes hooks that reference sisyphus hook scripts
107
+ TEMP_SETTINGS=$(mktemp)
108
+
109
+ # Use jq to filter out Sisyphus hooks
110
+ jq '
111
+ # Remove Sisyphus hooks from UserPromptSubmit
112
+ if .hooks.UserPromptSubmit then
113
+ .hooks.UserPromptSubmit |= map(
114
+ if .hooks then
115
+ .hooks |= map(select(.command | (contains("keyword-detector.sh") or contains("silent-auto-update.sh") or contains("stop-continuation.sh")) | not))
116
+ else .
117
+ end
118
+ ) | .hooks.UserPromptSubmit |= map(select(.hooks | length > 0))
119
+ else . end |
120
+
121
+ # Remove Sisyphus hooks from Stop
122
+ if .hooks.Stop then
123
+ .hooks.Stop |= map(
124
+ if .hooks then
125
+ .hooks |= map(select(.command | (contains("keyword-detector.sh") or contains("silent-auto-update.sh") or contains("stop-continuation.sh")) | not))
126
+ else .
127
+ end
128
+ ) | .hooks.Stop |= map(select(.hooks | length > 0))
129
+ else . end |
130
+
131
+ # Clean up empty hooks sections
132
+ if .hooks.UserPromptSubmit == [] then del(.hooks.UserPromptSubmit) else . end |
133
+ if .hooks.Stop == [] then del(.hooks.Stop) else . end |
134
+ if .hooks == {} then del(.hooks) else . end
135
+ ' "$SETTINGS_FILE" > "$TEMP_SETTINGS" 2>/dev/null
136
+
137
+ if [ $? -eq 0 ] && [ -s "$TEMP_SETTINGS" ]; then
138
+ mv "$TEMP_SETTINGS" "$SETTINGS_FILE"
139
+ echo -e "${GREEN}✓ Removed Sisyphus hooks from settings.json${NC}"
140
+ echo -e "${YELLOW} Backup saved to: $SETTINGS_FILE.bak${NC}"
141
+ else
142
+ rm -f "$TEMP_SETTINGS"
143
+ echo -e "${YELLOW}⚠ Could not modify settings.json automatically${NC}"
144
+ echo " Please manually remove Sisyphus hooks from the 'hooks' section"
145
+ fi
146
+ else
147
+ if [ -f "$SETTINGS_FILE" ]; then
148
+ echo -e "${YELLOW}⚠ jq not installed - cannot auto-remove hooks from settings.json${NC}"
149
+ echo " Please manually edit $SETTINGS_FILE and remove the following hooks:"
150
+ echo " - keyword-detector.sh"
151
+ echo " - silent-auto-update.sh"
152
+ echo " - stop-continuation.sh"
153
+ fi
154
+ fi
155
+
156
+ # Remove .sisyphus directory if it exists (plans, notepads, drafts)
157
+ if [ -d "$CLAUDE_CONFIG_DIR/../.sisyphus" ] || [ -d ".sisyphus" ]; then
158
+ echo -e "${YELLOW}Note: .sisyphus directory (plans/notepads) was not removed.${NC}"
159
+ echo " To remove project plans and notepads, run:"
160
+ echo " rm -rf .sisyphus"
161
+ fi
43
162
 
44
163
  echo ""
45
164
  echo -e "${GREEN}Uninstallation complete!${NC}"
46
- echo -e "${YELLOW}Note: CLAUDE.md was not removed. Delete manually if desired:${NC}"
47
- echo " rm $CLAUDE_CONFIG_DIR/CLAUDE.md"
165
+ echo ""
166
+ echo -e "${YELLOW}Items NOT removed (manual cleanup if desired):${NC}"
167
+ echo " - CLAUDE.md: rm $CLAUDE_CONFIG_DIR/CLAUDE.md"
168
+ echo " - settings.json backup: rm $CLAUDE_CONFIG_DIR/settings.json.bak"
169
+ echo ""
170
+ echo "To verify complete removal, check:"
171
+ echo " ls -la $CLAUDE_CONFIG_DIR/"