oh-my-claude-sisyphus 3.7.0 → 3.7.3
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.
- package/README.md +24 -1
- package/commands/hud.md +37 -5
- package/commands/omc-setup.md +105 -0
- package/dist/__tests__/compatibility-security.test.d.ts +13 -0
- package/dist/__tests__/compatibility-security.test.d.ts.map +1 -0
- package/dist/__tests__/compatibility-security.test.js +403 -0
- package/dist/__tests__/compatibility-security.test.js.map +1 -0
- package/dist/__tests__/compatibility.test.d.ts +7 -0
- package/dist/__tests__/compatibility.test.d.ts.map +1 -0
- package/dist/__tests__/compatibility.test.js +484 -0
- package/dist/__tests__/compatibility.test.js.map +1 -0
- package/dist/__tests__/hud/analytics-display.test.js +141 -1
- package/dist/__tests__/hud/analytics-display.test.js.map +1 -1
- package/dist/__tests__/hud-windows.test.d.ts +2 -0
- package/dist/__tests__/hud-windows.test.d.ts.map +1 -0
- package/dist/__tests__/hud-windows.test.js +91 -0
- package/dist/__tests__/hud-windows.test.js.map +1 -0
- package/dist/cli/analytics.js +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/compatibility/discovery.d.ts +58 -0
- package/dist/compatibility/discovery.d.ts.map +1 -0
- package/dist/compatibility/discovery.js +619 -0
- package/dist/compatibility/discovery.js.map +1 -0
- package/dist/compatibility/index.d.ts +51 -0
- package/dist/compatibility/index.d.ts.map +1 -0
- package/dist/compatibility/index.js +72 -0
- package/dist/compatibility/index.js.map +1 -0
- package/dist/compatibility/mcp-bridge.d.ts +138 -0
- package/dist/compatibility/mcp-bridge.d.ts.map +1 -0
- package/dist/compatibility/mcp-bridge.js +524 -0
- package/dist/compatibility/mcp-bridge.js.map +1 -0
- package/dist/compatibility/permission-adapter.d.ts +79 -0
- package/dist/compatibility/permission-adapter.d.ts.map +1 -0
- package/dist/compatibility/permission-adapter.js +369 -0
- package/dist/compatibility/permission-adapter.js.map +1 -0
- package/dist/compatibility/registry.d.ts +161 -0
- package/dist/compatibility/registry.d.ts.map +1 -0
- package/dist/compatibility/registry.js +389 -0
- package/dist/compatibility/registry.js.map +1 -0
- package/dist/compatibility/types.d.ts +249 -0
- package/dist/compatibility/types.d.ts.map +1 -0
- package/dist/compatibility/types.js +8 -0
- package/dist/compatibility/types.js.map +1 -0
- package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/daemon.js +44 -1
- package/dist/features/rate-limit-wait/daemon.js.map +1 -1
- package/dist/features/state-manager/index.d.ts.map +1 -1
- package/dist/features/state-manager/index.js +4 -1
- package/dist/features/state-manager/index.js.map +1 -1
- package/dist/hooks/permission-handler/__tests__/index.test.js +47 -0
- package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
- package/dist/hooks/permission-handler/index.d.ts +1 -1
- package/dist/hooks/permission-handler/index.d.ts.map +1 -1
- package/dist/hooks/permission-handler/index.js +11 -15
- package/dist/hooks/permission-handler/index.js.map +1 -1
- package/dist/hooks/plugin-patterns/index.d.ts +5 -0
- package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
- package/dist/hooks/plugin-patterns/index.js +26 -1
- package/dist/hooks/plugin-patterns/index.js.map +1 -1
- package/dist/hooks/session-end/index.d.ts +0 -8
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +5 -12
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
- package/dist/hooks/subagent-tracker/index.js +32 -17
- package/dist/hooks/subagent-tracker/index.js.map +1 -1
- package/dist/hud/analytics-display.d.ts +17 -1
- package/dist/hud/analytics-display.d.ts.map +1 -1
- package/dist/hud/analytics-display.js +55 -12
- package/dist/hud/analytics-display.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +49 -18
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/types.d.ts +2 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +14 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +3 -2
- package/dist/installer/index.js.map +1 -1
- package/docs/COMPATIBILITY.md +1051 -0
- package/hooks/keyword-detector.sh +4 -4
- package/hooks/persistent-mode.sh +10 -10
- package/hooks/session-start.sh +4 -4
- package/package.json +3 -1
- package/scripts/keyword-detector.mjs +4 -4
- package/scripts/persistent-mode.mjs +6 -6
- package/scripts/persistent-mode.sh +10 -10
- package/scripts/session-start.mjs +4 -4
- package/skills/hud/SKILL.md +37 -5
- package/skills/omc-setup/SKILL.md +162 -4
- package/skills/writer-memory/SKILL.md +443 -0
- package/skills/writer-memory/lib/character-tracker.ts +338 -0
- package/skills/writer-memory/lib/memory-manager.ts +804 -0
- package/skills/writer-memory/lib/relationship-graph.ts +400 -0
- package/skills/writer-memory/lib/scene-organizer.ts +544 -0
- package/skills/writer-memory/lib/synopsis-builder.ts +339 -0
- package/skills/writer-memory/templates/synopsis-template.md +46 -0
- package/templates/hooks/keyword-detector.sh +4 -4
- package/templates/hooks/persistent-mode.sh +10 -10
- package/templates/hooks/session-start.sh +4 -4
- package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
- package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
- package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
- package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
- package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
- package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
- package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/config.test.js +0 -37
- package/dist/__tests__/learned-skills/config.test.js.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.js +0 -99
- package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.js +0 -59
- package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.js +0 -69
- package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.js +0 -81
- package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.js +0 -85
- package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
- package/dist/agents/codex-agents.d.ts +0 -20
- package/dist/agents/codex-agents.d.ts.map +0 -1
- package/dist/agents/codex-agents.js +0 -36
- package/dist/agents/codex-agents.js.map +0 -1
- package/dist/agents/document-writer.d.ts +0 -11
- package/dist/agents/document-writer.d.ts.map +0 -1
- package/dist/agents/document-writer.js +0 -209
- package/dist/agents/document-writer.js.map +0 -1
- package/dist/agents/frontend-engineer.d.ts +0 -11
- package/dist/agents/frontend-engineer.d.ts.map +0 -1
- package/dist/agents/frontend-engineer.js +0 -115
- package/dist/agents/frontend-engineer.js.map +0 -1
- package/dist/agents/librarian.d.ts +0 -12
- package/dist/agents/librarian.d.ts.map +0 -1
- package/dist/agents/librarian.js +0 -103
- package/dist/agents/librarian.js.map +0 -1
- package/dist/agents/metis.d.ts +0 -12
- package/dist/agents/metis.d.ts.map +0 -1
- package/dist/agents/metis.js +0 -117
- package/dist/agents/metis.js.map +0 -1
- package/dist/agents/momus.d.ts +0 -12
- package/dist/agents/momus.d.ts.map +0 -1
- package/dist/agents/momus.js +0 -128
- package/dist/agents/momus.js.map +0 -1
- package/dist/agents/multimodal-looker.d.ts +0 -11
- package/dist/agents/multimodal-looker.d.ts.map +0 -1
- package/dist/agents/multimodal-looker.js +0 -70
- package/dist/agents/multimodal-looker.js.map +0 -1
- package/dist/agents/oracle.d.ts +0 -13
- package/dist/agents/oracle.d.ts.map +0 -1
- package/dist/agents/oracle.js +0 -191
- package/dist/agents/oracle.js.map +0 -1
- package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
- package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
- package/dist/agents/orchestrator-sisyphus.js +0 -115
- package/dist/agents/orchestrator-sisyphus.js.map +0 -1
- package/dist/agents/prometheus.d.ts +0 -12
- package/dist/agents/prometheus.d.ts.map +0 -1
- package/dist/agents/prometheus.js +0 -195
- package/dist/agents/prometheus.js.map +0 -1
- package/dist/agents/sisyphus-junior.d.ts +0 -12
- package/dist/agents/sisyphus-junior.d.ts.map +0 -1
- package/dist/agents/sisyphus-junior.js +0 -93
- package/dist/agents/sisyphus-junior.js.map +0 -1
- package/dist/cli/components/CostDashboard.d.ts +0 -15
- package/dist/cli/components/CostDashboard.d.ts.map +0 -1
- package/dist/cli/components/CostDashboard.js +0 -15
- package/dist/cli/components/CostDashboard.js.map +0 -1
- package/dist/cli/components/LiveStats.d.ts +0 -16
- package/dist/cli/components/LiveStats.d.ts.map +0 -1
- package/dist/cli/components/LiveStats.js +0 -16
- package/dist/cli/components/LiveStats.js.map +0 -1
- package/dist/cli/components/SessionBrowser.d.ts +0 -14
- package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
- package/dist/cli/components/SessionBrowser.js +0 -14
- package/dist/cli/components/SessionBrowser.js.map +0 -1
- package/dist/cli/tui.d.ts +0 -21
- package/dist/cli/tui.d.ts.map +0 -1
- package/dist/cli/tui.js +0 -21
- package/dist/cli/tui.js.map +0 -1
- package/dist/hooks/autopilot/signals.d.ts +0 -20
- package/dist/hooks/autopilot/signals.d.ts.map +0 -1
- package/dist/hooks/autopilot/signals.js +0 -75
- package/dist/hooks/autopilot/signals.js.map +0 -1
- package/dist/hooks/autopilot/summary.d.ts +0 -27
- package/dist/hooks/autopilot/summary.d.ts.map +0 -1
- package/dist/hooks/autopilot/summary.js +0 -160
- package/dist/hooks/autopilot/summary.js.map +0 -1
- package/dist/hooks/autopilot/transition.d.ts +0 -39
- package/dist/hooks/autopilot/transition.d.ts.map +0 -1
- package/dist/hooks/autopilot/transition.js +0 -216
- package/dist/hooks/autopilot/transition.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
- package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
- package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
- package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.js +0 -201
- package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
- package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
- package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
- package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.js +0 -34
- package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
- package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
- package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
- package/dist/hooks/edit-error-recovery/index.js +0 -89
- package/dist/hooks/edit-error-recovery/index.js.map +0 -1
- package/dist/hooks/learned-skills/config.d.ts +0 -53
- package/dist/hooks/learned-skills/config.d.ts.map +0 -1
- package/dist/hooks/learned-skills/config.js +0 -103
- package/dist/hooks/learned-skills/config.js.map +0 -1
- package/dist/hooks/learned-skills/constants.d.ts +0 -24
- package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
- package/dist/hooks/learned-skills/constants.js +0 -26
- package/dist/hooks/learned-skills/constants.js.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
- package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.js +0 -83
- package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
- package/dist/hooks/learned-skills/detector.d.ts +0 -30
- package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detector.js +0 -150
- package/dist/hooks/learned-skills/detector.js.map +0 -1
- package/dist/hooks/learned-skills/finder.d.ts +0 -21
- package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
- package/dist/hooks/learned-skills/finder.js +0 -117
- package/dist/hooks/learned-skills/finder.js.map +0 -1
- package/dist/hooks/learned-skills/index.d.ts +0 -62
- package/dist/hooks/learned-skills/index.d.ts.map +0 -1
- package/dist/hooks/learned-skills/index.js +0 -137
- package/dist/hooks/learned-skills/index.js.map +0 -1
- package/dist/hooks/learned-skills/loader.d.ts +0 -20
- package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
- package/dist/hooks/learned-skills/loader.js +0 -107
- package/dist/hooks/learned-skills/loader.js.map +0 -1
- package/dist/hooks/learned-skills/parser.d.ts +0 -21
- package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
- package/dist/hooks/learned-skills/parser.js +0 -190
- package/dist/hooks/learned-skills/parser.js.map +0 -1
- package/dist/hooks/learned-skills/promotion.d.ts +0 -29
- package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
- package/dist/hooks/learned-skills/promotion.js +0 -87
- package/dist/hooks/learned-skills/promotion.js.map +0 -1
- package/dist/hooks/learned-skills/types.d.ts +0 -109
- package/dist/hooks/learned-skills/types.d.ts.map +0 -1
- package/dist/hooks/learned-skills/types.js +0 -8
- package/dist/hooks/learned-skills/types.js.map +0 -1
- package/dist/hooks/learned-skills/validator.d.ts +0 -15
- package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
- package/dist/hooks/learned-skills/validator.js +0 -87
- package/dist/hooks/learned-skills/validator.js.map +0 -1
- package/dist/hooks/learned-skills/writer.d.ts +0 -27
- package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
- package/dist/hooks/learned-skills/writer.js +0 -126
- package/dist/hooks/learned-skills/writer.js.map +0 -1
- package/dist/hooks/mnemosyne/config.d.ts +0 -53
- package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/config.js +0 -103
- package/dist/hooks/mnemosyne/config.js.map +0 -1
- package/dist/hooks/mnemosyne/constants.d.ts +0 -24
- package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/constants.js +0 -26
- package/dist/hooks/mnemosyne/constants.js.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
- package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.js +0 -83
- package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
- package/dist/hooks/mnemosyne/detector.d.ts +0 -30
- package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detector.js +0 -150
- package/dist/hooks/mnemosyne/detector.js.map +0 -1
- package/dist/hooks/mnemosyne/finder.d.ts +0 -21
- package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/finder.js +0 -117
- package/dist/hooks/mnemosyne/finder.js.map +0 -1
- package/dist/hooks/mnemosyne/index.d.ts +0 -62
- package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/index.js +0 -137
- package/dist/hooks/mnemosyne/index.js.map +0 -1
- package/dist/hooks/mnemosyne/loader.d.ts +0 -20
- package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/loader.js +0 -113
- package/dist/hooks/mnemosyne/loader.js.map +0 -1
- package/dist/hooks/mnemosyne/parser.d.ts +0 -21
- package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/parser.js +0 -190
- package/dist/hooks/mnemosyne/parser.js.map +0 -1
- package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
- package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/promotion.js +0 -87
- package/dist/hooks/mnemosyne/promotion.js.map +0 -1
- package/dist/hooks/mnemosyne/types.d.ts +0 -109
- package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/types.js +0 -8
- package/dist/hooks/mnemosyne/types.js.map +0 -1
- package/dist/hooks/mnemosyne/validator.d.ts +0 -15
- package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/validator.js +0 -87
- package/dist/hooks/mnemosyne/validator.js.map +0 -1
- package/dist/hooks/mnemosyne/writer.d.ts +0 -27
- package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/writer.js +0 -126
- package/dist/hooks/mnemosyne/writer.js.map +0 -1
- package/dist/hooks/ralph-loop/index.d.ts +0 -116
- package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
- package/dist/hooks/ralph-loop/index.js +0 -322
- package/dist/hooks/ralph-loop/index.js.map +0 -1
- package/dist/hooks/ralph-prd/index.d.ts +0 -130
- package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
- package/dist/hooks/ralph-prd/index.js +0 -310
- package/dist/hooks/ralph-prd/index.js.map +0 -1
- package/dist/hooks/ralph-progress/index.d.ts +0 -102
- package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
- package/dist/hooks/ralph-progress/index.js +0 -408
- package/dist/hooks/ralph-progress/index.js.map +0 -1
- package/dist/hooks/ralph-verifier/index.d.ts +0 -72
- package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
- package/dist/hooks/ralph-verifier/index.js +0 -223
- package/dist/hooks/ralph-verifier/index.js.map +0 -1
- package/dist/hooks/session-recovery/constants.d.ts +0 -56
- package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/session-recovery/constants.js +0 -78
- package/dist/hooks/session-recovery/constants.js.map +0 -1
- package/dist/hooks/session-recovery/index.d.ts +0 -53
- package/dist/hooks/session-recovery/index.d.ts.map +0 -1
- package/dist/hooks/session-recovery/index.js +0 -321
- package/dist/hooks/session-recovery/index.js.map +0 -1
- package/dist/hooks/session-recovery/storage.d.ts +0 -76
- package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
- package/dist/hooks/session-recovery/storage.js +0 -383
- package/dist/hooks/session-recovery/storage.js.map +0 -1
- package/dist/hooks/session-recovery/types.d.ts +0 -145
- package/dist/hooks/session-recovery/types.d.ts.map +0 -1
- package/dist/hooks/session-recovery/types.js +0 -8
- package/dist/hooks/session-recovery/types.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
- package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
- package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
- package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
- package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
- package/dist/hooks/ultraqa-loop/index.js +0 -216
- package/dist/hooks/ultraqa-loop/index.js.map +0 -1
- package/dist/hooks/ultrawork-state/index.d.ts +0 -62
- package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
- package/dist/hooks/ultrawork-state/index.js +0 -208
- package/dist/hooks/ultrawork-state/index.js.map +0 -1
- package/dist/hud/sisyphus-state.d.ts +0 -31
- package/dist/hud/sisyphus-state.d.ts.map +0 -1
- package/dist/hud/sisyphus-state.js +0 -163
- package/dist/hud/sisyphus-state.js.map +0 -1
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Learned Skills Types
|
|
3
|
-
*
|
|
4
|
-
* Type definitions for skill files and metadata.
|
|
5
|
-
* Follows patterns from rules-injector/types.ts
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Skill metadata from YAML frontmatter.
|
|
9
|
-
*/
|
|
10
|
-
export interface SkillMetadata {
|
|
11
|
-
/** Unique identifier for the skill */
|
|
12
|
-
id: string;
|
|
13
|
-
/** Human-readable name */
|
|
14
|
-
name: string;
|
|
15
|
-
/** Description of what this skill does */
|
|
16
|
-
description: string;
|
|
17
|
-
/** Keywords that trigger skill injection */
|
|
18
|
-
triggers: string[];
|
|
19
|
-
/** When the skill was created */
|
|
20
|
-
createdAt: string;
|
|
21
|
-
/** Source: 'extracted' | 'promoted' | 'manual' */
|
|
22
|
-
source: 'extracted' | 'promoted' | 'manual';
|
|
23
|
-
/** Original session ID if extracted */
|
|
24
|
-
sessionId?: string;
|
|
25
|
-
/** Quality score (0-100) */
|
|
26
|
-
quality?: number;
|
|
27
|
-
/** Number of times successfully applied */
|
|
28
|
-
usageCount?: number;
|
|
29
|
-
/** Tags for categorization */
|
|
30
|
-
tags?: string[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parsed skill file with content.
|
|
34
|
-
*/
|
|
35
|
-
export interface LearnedSkill {
|
|
36
|
-
/** Absolute path to skill file */
|
|
37
|
-
path: string;
|
|
38
|
-
/** Path relative to skills directory */
|
|
39
|
-
relativePath: string;
|
|
40
|
-
/** Whether from user (~/.claude) or project (.sisyphus) */
|
|
41
|
-
scope: 'user' | 'project';
|
|
42
|
-
/** Parsed frontmatter metadata */
|
|
43
|
-
metadata: SkillMetadata;
|
|
44
|
-
/** Skill content (the actual instructions) */
|
|
45
|
-
content: string;
|
|
46
|
-
/** SHA-256 hash for deduplication */
|
|
47
|
-
contentHash: string;
|
|
48
|
-
/** Priority: project > user */
|
|
49
|
-
priority: number;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Skill file candidate during discovery.
|
|
53
|
-
*/
|
|
54
|
-
export interface SkillFileCandidate {
|
|
55
|
-
/** Path to the skill file */
|
|
56
|
-
path: string;
|
|
57
|
-
/** Real path after symlink resolution */
|
|
58
|
-
realPath: string;
|
|
59
|
-
/** Scope: user or project */
|
|
60
|
-
scope: 'user' | 'project';
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Quality gate validation result.
|
|
64
|
-
*/
|
|
65
|
-
export interface QualityValidation {
|
|
66
|
-
/** Whether skill passes quality gates */
|
|
67
|
-
valid: boolean;
|
|
68
|
-
/** Missing required fields */
|
|
69
|
-
missingFields: string[];
|
|
70
|
-
/** Warnings (non-blocking) */
|
|
71
|
-
warnings: string[];
|
|
72
|
-
/** Quality score (0-100) */
|
|
73
|
-
score: number;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Skill extraction request.
|
|
77
|
-
*/
|
|
78
|
-
export interface SkillExtractionRequest {
|
|
79
|
-
/** The problem being solved */
|
|
80
|
-
problem: string;
|
|
81
|
-
/** The solution/approach */
|
|
82
|
-
solution: string;
|
|
83
|
-
/** Trigger keywords */
|
|
84
|
-
triggers: string[];
|
|
85
|
-
/** Optional tags */
|
|
86
|
-
tags?: string[];
|
|
87
|
-
/** Target scope: user or project */
|
|
88
|
-
targetScope: 'user' | 'project';
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Session storage for tracking injected skills.
|
|
92
|
-
*/
|
|
93
|
-
export interface InjectedSkillsData {
|
|
94
|
-
/** Session ID */
|
|
95
|
-
sessionId: string;
|
|
96
|
-
/** Content hashes of already injected skills */
|
|
97
|
-
injectedHashes: string[];
|
|
98
|
-
/** Timestamp of last update */
|
|
99
|
-
updatedAt: number;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Hook context passed to skill processing.
|
|
103
|
-
*/
|
|
104
|
-
export interface HookContext {
|
|
105
|
-
sessionId: string;
|
|
106
|
-
directory: string;
|
|
107
|
-
prompt?: string;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC5C,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,kCAAkC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oCAAoC;IACpC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Quality Validator
|
|
3
|
-
*
|
|
4
|
-
* Validates skill extraction requests against quality gates.
|
|
5
|
-
*/
|
|
6
|
-
import type { SkillExtractionRequest, QualityValidation, SkillMetadata } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Validate a skill extraction request.
|
|
9
|
-
*/
|
|
10
|
-
export declare function validateExtractionRequest(request: SkillExtractionRequest): QualityValidation;
|
|
11
|
-
/**
|
|
12
|
-
* Validate existing skill metadata.
|
|
13
|
-
*/
|
|
14
|
-
export declare function validateSkillMetadata(metadata: Partial<SkillMetadata>): QualityValidation;
|
|
15
|
-
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3F;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAqD5F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,iBAAiB,CAgCzF"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Quality Validator
|
|
3
|
-
*
|
|
4
|
-
* Validates skill extraction requests against quality gates.
|
|
5
|
-
*/
|
|
6
|
-
import { REQUIRED_METADATA_FIELDS, MIN_QUALITY_SCORE, MAX_SKILL_CONTENT_LENGTH } from './constants.js';
|
|
7
|
-
/**
|
|
8
|
-
* Validate a skill extraction request.
|
|
9
|
-
*/
|
|
10
|
-
export function validateExtractionRequest(request) {
|
|
11
|
-
const missingFields = [];
|
|
12
|
-
const warnings = [];
|
|
13
|
-
let score = 100;
|
|
14
|
-
// Check required fields
|
|
15
|
-
if (!request.problem || request.problem.trim().length < 10) {
|
|
16
|
-
missingFields.push('problem (minimum 10 characters)');
|
|
17
|
-
score -= 30;
|
|
18
|
-
}
|
|
19
|
-
if (!request.solution || request.solution.trim().length < 20) {
|
|
20
|
-
missingFields.push('solution (minimum 20 characters)');
|
|
21
|
-
score -= 30;
|
|
22
|
-
}
|
|
23
|
-
if (!request.triggers || request.triggers.length === 0) {
|
|
24
|
-
missingFields.push('triggers (at least one required)');
|
|
25
|
-
score -= 20;
|
|
26
|
-
}
|
|
27
|
-
// Check content length
|
|
28
|
-
const totalLength = (request.problem?.length || 0) + (request.solution?.length || 0);
|
|
29
|
-
if (totalLength > MAX_SKILL_CONTENT_LENGTH) {
|
|
30
|
-
warnings.push(`Content exceeds ${MAX_SKILL_CONTENT_LENGTH} chars (${totalLength}). Consider condensing.`);
|
|
31
|
-
score -= 10;
|
|
32
|
-
}
|
|
33
|
-
// Check trigger quality
|
|
34
|
-
if (request.triggers) {
|
|
35
|
-
const shortTriggers = request.triggers.filter(t => t.length < 3);
|
|
36
|
-
if (shortTriggers.length > 0) {
|
|
37
|
-
warnings.push(`Short triggers may cause false matches: ${shortTriggers.join(', ')}`);
|
|
38
|
-
score -= 5;
|
|
39
|
-
}
|
|
40
|
-
const genericTriggers = ['the', 'a', 'an', 'this', 'that', 'it', 'is', 'are'];
|
|
41
|
-
const foundGeneric = request.triggers.filter(t => genericTriggers.includes(t.toLowerCase()));
|
|
42
|
-
if (foundGeneric.length > 0) {
|
|
43
|
-
warnings.push(`Generic triggers should be avoided: ${foundGeneric.join(', ')}`);
|
|
44
|
-
score -= 10;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// Ensure score doesn't go negative
|
|
48
|
-
score = Math.max(0, score);
|
|
49
|
-
return {
|
|
50
|
-
valid: missingFields.length === 0 && score >= MIN_QUALITY_SCORE,
|
|
51
|
-
missingFields,
|
|
52
|
-
warnings,
|
|
53
|
-
score,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Validate existing skill metadata.
|
|
58
|
-
*/
|
|
59
|
-
export function validateSkillMetadata(metadata) {
|
|
60
|
-
const missingFields = [];
|
|
61
|
-
const warnings = [];
|
|
62
|
-
let score = 100;
|
|
63
|
-
for (const field of REQUIRED_METADATA_FIELDS) {
|
|
64
|
-
if (!metadata[field]) {
|
|
65
|
-
missingFields.push(field);
|
|
66
|
-
score -= 15;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Check triggers array
|
|
70
|
-
if (metadata.triggers && metadata.triggers.length === 0) {
|
|
71
|
-
missingFields.push('triggers (empty array)');
|
|
72
|
-
score -= 20;
|
|
73
|
-
}
|
|
74
|
-
// Check source value
|
|
75
|
-
if (metadata.source && !['extracted', 'promoted', 'manual'].includes(metadata.source)) {
|
|
76
|
-
warnings.push(`Invalid source value: ${metadata.source}`);
|
|
77
|
-
score -= 10;
|
|
78
|
-
}
|
|
79
|
-
score = Math.max(0, score);
|
|
80
|
-
return {
|
|
81
|
-
valid: missingFields.length === 0 && score >= MIN_QUALITY_SCORE,
|
|
82
|
-
missingFields,
|
|
83
|
-
warnings,
|
|
84
|
-
score,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Writer
|
|
3
|
-
*
|
|
4
|
-
* Writes skill files to disk with proper formatting.
|
|
5
|
-
*/
|
|
6
|
-
import type { SkillExtractionRequest, QualityValidation } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Result of skill writing operation.
|
|
9
|
-
*/
|
|
10
|
-
export interface WriteSkillResult {
|
|
11
|
-
success: boolean;
|
|
12
|
-
path?: string;
|
|
13
|
-
error?: string;
|
|
14
|
-
validation: QualityValidation;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Write a new skill from extraction request.
|
|
18
|
-
*/
|
|
19
|
-
export declare function writeSkill(request: SkillExtractionRequest, projectRoot: string | null, skillName: string): WriteSkillResult;
|
|
20
|
-
/**
|
|
21
|
-
* Check if a skill with similar triggers already exists.
|
|
22
|
-
*/
|
|
23
|
-
export declare function checkDuplicateTriggers(triggers: string[], projectRoot: string | null): {
|
|
24
|
-
isDuplicate: boolean;
|
|
25
|
-
existingSkillId?: string;
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAiB,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsB3F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA8ElB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBpD"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Writer
|
|
3
|
-
*
|
|
4
|
-
* Writes skill files to disk with proper formatting.
|
|
5
|
-
*/
|
|
6
|
-
import { writeFileSync, existsSync } from 'fs';
|
|
7
|
-
import { join } from 'path';
|
|
8
|
-
import { ensureSkillsDir, getSkillsDir } from './finder.js';
|
|
9
|
-
import { generateSkillFrontmatter } from './parser.js';
|
|
10
|
-
import { validateExtractionRequest } from './validator.js';
|
|
11
|
-
import { DEBUG_ENABLED } from './constants.js';
|
|
12
|
-
/**
|
|
13
|
-
* Generate a unique skill ID.
|
|
14
|
-
*/
|
|
15
|
-
function generateSkillId() {
|
|
16
|
-
const timestamp = Date.now().toString(36);
|
|
17
|
-
const random = Math.random().toString(36).slice(2, 6);
|
|
18
|
-
return `skill-${timestamp}-${random}`;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Sanitize a string for use as filename.
|
|
22
|
-
*/
|
|
23
|
-
function sanitizeFilename(name) {
|
|
24
|
-
return name
|
|
25
|
-
.toLowerCase()
|
|
26
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
27
|
-
.replace(/^-+|-+$/g, '')
|
|
28
|
-
.slice(0, 50);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Write a new skill from extraction request.
|
|
32
|
-
*/
|
|
33
|
-
export function writeSkill(request, projectRoot, skillName) {
|
|
34
|
-
// Validate first
|
|
35
|
-
const validation = validateExtractionRequest(request);
|
|
36
|
-
if (!validation.valid) {
|
|
37
|
-
return {
|
|
38
|
-
success: false,
|
|
39
|
-
error: `Quality validation failed: ${validation.missingFields.join(', ')}`,
|
|
40
|
-
validation,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
// Ensure directory exists
|
|
44
|
-
if (!ensureSkillsDir(request.targetScope, projectRoot || undefined)) {
|
|
45
|
-
return {
|
|
46
|
-
success: false,
|
|
47
|
-
error: `Failed to create skills directory for scope: ${request.targetScope}`,
|
|
48
|
-
validation,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
// Generate metadata
|
|
52
|
-
const metadata = {
|
|
53
|
-
id: generateSkillId(),
|
|
54
|
-
name: skillName,
|
|
55
|
-
description: request.problem.slice(0, 200),
|
|
56
|
-
source: 'extracted',
|
|
57
|
-
createdAt: new Date().toISOString(),
|
|
58
|
-
triggers: request.triggers,
|
|
59
|
-
tags: request.tags,
|
|
60
|
-
quality: validation.score,
|
|
61
|
-
usageCount: 0,
|
|
62
|
-
};
|
|
63
|
-
// Generate content
|
|
64
|
-
const frontmatter = generateSkillFrontmatter(metadata);
|
|
65
|
-
const content = `${frontmatter}
|
|
66
|
-
|
|
67
|
-
# Problem
|
|
68
|
-
|
|
69
|
-
${request.problem}
|
|
70
|
-
|
|
71
|
-
# Solution
|
|
72
|
-
|
|
73
|
-
${request.solution}
|
|
74
|
-
`;
|
|
75
|
-
// Write to file
|
|
76
|
-
const filename = `${sanitizeFilename(skillName)}.md`;
|
|
77
|
-
const skillsDir = getSkillsDir(request.targetScope, projectRoot || undefined);
|
|
78
|
-
const filePath = join(skillsDir, filename);
|
|
79
|
-
// Check for duplicates
|
|
80
|
-
if (existsSync(filePath)) {
|
|
81
|
-
return {
|
|
82
|
-
success: false,
|
|
83
|
-
error: `Skill file already exists: ${filename}`,
|
|
84
|
-
validation,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
try {
|
|
88
|
-
writeFileSync(filePath, content);
|
|
89
|
-
return {
|
|
90
|
-
success: true,
|
|
91
|
-
path: filePath,
|
|
92
|
-
validation,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
if (DEBUG_ENABLED) {
|
|
97
|
-
console.error('[mnemosyne] Error writing skill file:', e);
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
success: false,
|
|
101
|
-
error: `Failed to write skill file: ${e}`,
|
|
102
|
-
validation,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Check if a skill with similar triggers already exists.
|
|
108
|
-
*/
|
|
109
|
-
export function checkDuplicateTriggers(triggers, projectRoot) {
|
|
110
|
-
// Import dynamically to avoid circular dependency
|
|
111
|
-
const { loadAllSkills } = require('./loader.js');
|
|
112
|
-
const skills = loadAllSkills(projectRoot);
|
|
113
|
-
const normalizedTriggers = new Set(triggers.map(t => t.toLowerCase()));
|
|
114
|
-
for (const skill of skills) {
|
|
115
|
-
const skillTriggers = skill.metadata.triggers.map((t) => t.toLowerCase());
|
|
116
|
-
const overlap = skillTriggers.filter((t) => normalizedTriggers.has(t));
|
|
117
|
-
if (overlap.length >= triggers.length * 0.5) {
|
|
118
|
-
return {
|
|
119
|
-
isDuplicate: true,
|
|
120
|
-
existingSkillId: skill.metadata.id,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return { isDuplicate: false };
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=writer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/hooks/mnemosyne/writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ralph Hook
|
|
3
|
-
*
|
|
4
|
-
* Self-referential work loop that continues until a completion promise is detected.
|
|
5
|
-
* Named after the character who keeps working until the job is done.
|
|
6
|
-
*
|
|
7
|
-
* Enhanced with PRD (Product Requirements Document) support for structured task tracking.
|
|
8
|
-
* When a prd.json exists, completion is based on all stories having passes: true.
|
|
9
|
-
*
|
|
10
|
-
* Ported from oh-my-opencode's ralph hook.
|
|
11
|
-
*/
|
|
12
|
-
import { type PRDStatus, type UserStory } from '../ralph-prd/index.js';
|
|
13
|
-
export declare function isUltraQAActive(directory: string): boolean;
|
|
14
|
-
export interface RalphLoopState {
|
|
15
|
-
/** Whether the loop is currently active */
|
|
16
|
-
active: boolean;
|
|
17
|
-
/** Current iteration number */
|
|
18
|
-
iteration: number;
|
|
19
|
-
/** Maximum iterations before stopping */
|
|
20
|
-
max_iterations: number;
|
|
21
|
-
/** The promise phrase to detect for completion */
|
|
22
|
-
completion_promise: string;
|
|
23
|
-
/** When the loop started */
|
|
24
|
-
started_at: string;
|
|
25
|
-
/** The original prompt/task */
|
|
26
|
-
prompt: string;
|
|
27
|
-
/** Session ID the loop is bound to */
|
|
28
|
-
session_id?: string;
|
|
29
|
-
/** Whether PRD mode is active */
|
|
30
|
-
prd_mode?: boolean;
|
|
31
|
-
/** Current story being worked on */
|
|
32
|
-
current_story_id?: string;
|
|
33
|
-
/** Whether ultrawork is linked/auto-activated with ralph */
|
|
34
|
-
linked_ultrawork?: boolean;
|
|
35
|
-
}
|
|
36
|
-
export interface RalphLoopOptions {
|
|
37
|
-
/** Maximum iterations (default: 10) */
|
|
38
|
-
maxIterations?: number;
|
|
39
|
-
/** Custom completion promise (default: "TASK_COMPLETE") */
|
|
40
|
-
completionPromise?: string;
|
|
41
|
-
/** Disable auto-activation of ultrawork (default: false - ultrawork is enabled) */
|
|
42
|
-
disableUltrawork?: boolean;
|
|
43
|
-
}
|
|
44
|
-
export interface RalphLoopHook {
|
|
45
|
-
startLoop: (sessionId: string, prompt: string, options?: RalphLoopOptions) => boolean;
|
|
46
|
-
cancelLoop: (sessionId: string) => boolean;
|
|
47
|
-
getState: () => RalphLoopState | null;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Read Ralph Loop state from disk
|
|
51
|
-
*/
|
|
52
|
-
export declare function readRalphState(directory: string): RalphLoopState | null;
|
|
53
|
-
/**
|
|
54
|
-
* Write Ralph Loop state to disk
|
|
55
|
-
*/
|
|
56
|
-
export declare function writeRalphState(directory: string, state: RalphLoopState): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Clear Ralph Loop state
|
|
59
|
-
*/
|
|
60
|
-
export declare function clearRalphState(directory: string): boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Clear ultrawork state (only if linked to ralph)
|
|
63
|
-
*/
|
|
64
|
-
export declare function clearLinkedUltraworkState(directory: string): boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Increment Ralph Loop iteration
|
|
67
|
-
*/
|
|
68
|
-
export declare function incrementRalphIteration(directory: string): RalphLoopState | null;
|
|
69
|
-
/**
|
|
70
|
-
* Detect completion promise in session transcript
|
|
71
|
-
*/
|
|
72
|
-
export declare function detectCompletionPromise(sessionId: string, promise: string): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Create a Ralph Loop hook instance
|
|
75
|
-
*/
|
|
76
|
-
export declare function createRalphLoopHook(directory: string): RalphLoopHook;
|
|
77
|
-
/**
|
|
78
|
-
* Check if PRD mode is available (prd.json exists)
|
|
79
|
-
*/
|
|
80
|
-
export declare function hasPrd(directory: string): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Get PRD completion status for ralph
|
|
83
|
-
*/
|
|
84
|
-
export declare function getPrdCompletionStatus(directory: string): {
|
|
85
|
-
hasPrd: boolean;
|
|
86
|
-
allComplete: boolean;
|
|
87
|
-
status: PRDStatus | null;
|
|
88
|
-
nextStory: UserStory | null;
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Get context injection for ralph continuation
|
|
92
|
-
* Includes PRD current story and progress memory
|
|
93
|
-
*/
|
|
94
|
-
export declare function getRalphContext(directory: string): string;
|
|
95
|
-
/**
|
|
96
|
-
* Update ralph state with current story
|
|
97
|
-
*/
|
|
98
|
-
export declare function setCurrentStory(directory: string, storyId: string): boolean;
|
|
99
|
-
/**
|
|
100
|
-
* Enable PRD mode in ralph state
|
|
101
|
-
*/
|
|
102
|
-
export declare function enablePrdMode(directory: string): boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Record progress after completing a story
|
|
105
|
-
*/
|
|
106
|
-
export declare function recordStoryProgress(directory: string, storyId: string, implementation: string[], filesChanged: string[], learnings: string[]): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Add a codebase pattern discovered during work
|
|
109
|
-
*/
|
|
110
|
-
export declare function recordPattern(directory: string, pattern: string): boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Check if ralph should complete based on PRD status
|
|
113
|
-
*/
|
|
114
|
-
export declare function shouldCompleteByPrd(directory: string): boolean;
|
|
115
|
-
export type { PRD, PRDStatus, UserStory } from '../ralph-prd/index.js';
|
|
116
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/ralph-loop/index.ts"],"names":[],"mappings":"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"}
|