oh-my-claude-sisyphus 3.8.9 → 3.8.11

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 (456) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/agents/architect.md +78 -0
  5. package/agents/explore.md +15 -0
  6. package/agents/qa-tester.md +159 -1
  7. package/agents/writer.md +20 -0
  8. package/commands/help.md +1 -1
  9. package/commands/omc-setup.md +1 -1
  10. package/dist/__tests__/agent-registry.test.d.ts +2 -0
  11. package/dist/__tests__/agent-registry.test.d.ts.map +1 -0
  12. package/dist/__tests__/agent-registry.test.js +39 -0
  13. package/dist/__tests__/agent-registry.test.js.map +1 -0
  14. package/dist/__tests__/load-agent-prompt.test.d.ts +2 -0
  15. package/dist/__tests__/load-agent-prompt.test.d.ts.map +1 -0
  16. package/dist/__tests__/load-agent-prompt.test.js +68 -0
  17. package/dist/__tests__/load-agent-prompt.test.js.map +1 -0
  18. package/dist/__tests__/model-routing.test.js +5 -34
  19. package/dist/__tests__/model-routing.test.js.map +1 -1
  20. package/dist/agents/analyst.d.ts.map +1 -1
  21. package/dist/agents/analyst.js +2 -77
  22. package/dist/agents/analyst.js.map +1 -1
  23. package/dist/agents/architect.d.ts.map +1 -1
  24. package/dist/agents/architect.js +3 -148
  25. package/dist/agents/architect.js.map +1 -1
  26. package/dist/agents/coordinator-deprecated.d.ts +18 -0
  27. package/dist/agents/coordinator-deprecated.d.ts.map +1 -0
  28. package/dist/agents/coordinator-deprecated.js +34 -0
  29. package/dist/agents/coordinator-deprecated.js.map +1 -0
  30. package/dist/agents/critic.d.ts.map +1 -1
  31. package/dist/agents/critic.js +2 -90
  32. package/dist/agents/critic.js.map +1 -1
  33. package/dist/agents/definitions.d.ts +2 -0
  34. package/dist/agents/definitions.d.ts.map +1 -1
  35. package/dist/agents/definitions.js +3 -32
  36. package/dist/agents/definitions.js.map +1 -1
  37. package/dist/agents/designer.d.ts.map +1 -1
  38. package/dist/agents/designer.js +2 -73
  39. package/dist/agents/designer.js.map +1 -1
  40. package/dist/agents/executor.d.ts +1 -0
  41. package/dist/agents/executor.d.ts.map +1 -1
  42. package/dist/agents/executor.js +3 -56
  43. package/dist/agents/executor.js.map +1 -1
  44. package/dist/agents/explore.d.ts.map +1 -1
  45. package/dist/agents/explore.js +2 -64
  46. package/dist/agents/explore.js.map +1 -1
  47. package/dist/agents/index.d.ts +4 -3
  48. package/dist/agents/index.d.ts.map +1 -1
  49. package/dist/agents/index.js +6 -3
  50. package/dist/agents/index.js.map +1 -1
  51. package/dist/agents/planner.d.ts.map +1 -1
  52. package/dist/agents/planner.js +2 -157
  53. package/dist/agents/planner.js.map +1 -1
  54. package/dist/agents/qa-tester.d.ts.map +1 -1
  55. package/dist/agents/qa-tester.js +2 -324
  56. package/dist/agents/qa-tester.js.map +1 -1
  57. package/dist/agents/researcher.d.ts.map +1 -1
  58. package/dist/agents/researcher.js +2 -65
  59. package/dist/agents/researcher.js.map +1 -1
  60. package/dist/agents/scientist.d.ts.map +1 -1
  61. package/dist/agents/scientist.js +2 -293
  62. package/dist/agents/scientist.js.map +1 -1
  63. package/dist/agents/utils.d.ts +7 -0
  64. package/dist/agents/utils.d.ts.map +1 -1
  65. package/dist/agents/utils.js +50 -0
  66. package/dist/agents/utils.js.map +1 -1
  67. package/dist/agents/vision.d.ts.map +1 -1
  68. package/dist/agents/vision.js +2 -32
  69. package/dist/agents/vision.js.map +1 -1
  70. package/dist/agents/writer.d.ts.map +1 -1
  71. package/dist/agents/writer.js +2 -171
  72. package/dist/agents/writer.js.map +1 -1
  73. package/dist/cli/analytics.js +0 -0
  74. package/dist/cli/index.js +0 -0
  75. package/dist/features/model-routing/index.d.ts +1 -1
  76. package/dist/features/model-routing/index.d.ts.map +1 -1
  77. package/dist/features/model-routing/index.js +1 -1
  78. package/dist/features/model-routing/index.js.map +1 -1
  79. package/dist/features/model-routing/router.d.ts +1 -15
  80. package/dist/features/model-routing/router.d.ts.map +1 -1
  81. package/dist/features/model-routing/router.js +2 -33
  82. package/dist/features/model-routing/router.js.map +1 -1
  83. package/dist/features/model-routing/rules.d.ts.map +1 -1
  84. package/dist/features/model-routing/rules.js +0 -8
  85. package/dist/features/model-routing/rules.js.map +1 -1
  86. package/dist/features/model-routing/types.d.ts +1 -2
  87. package/dist/features/model-routing/types.d.ts.map +1 -1
  88. package/dist/features/model-routing/types.js +2 -6
  89. package/dist/features/model-routing/types.js.map +1 -1
  90. package/dist/features/task-decomposer/index.d.ts +1 -1
  91. package/dist/features/task-decomposer/index.d.ts.map +1 -1
  92. package/dist/features/task-decomposer/index.js +5 -8
  93. package/dist/features/task-decomposer/index.js.map +1 -1
  94. package/dist/features/task-decomposer/types.d.ts +4 -4
  95. package/dist/features/task-decomposer/types.d.ts.map +1 -1
  96. package/dist/hooks/bridge.d.ts.map +1 -1
  97. package/dist/hooks/bridge.js +56 -49
  98. package/dist/hooks/bridge.js.map +1 -1
  99. package/dist/hooks/keyword-detector/__tests__/index.test.js +89 -1
  100. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  101. package/dist/hooks/keyword-detector/index.d.ts +5 -1
  102. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  103. package/dist/hooks/keyword-detector/index.js +32 -11
  104. package/dist/hooks/keyword-detector/index.js.map +1 -1
  105. package/dist/hooks/ultrapilot/decomposer.d.ts +1 -1
  106. package/dist/hooks/ultrapilot/decomposer.js +2 -2
  107. package/dist/index.d.ts +1 -1
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +4 -2
  110. package/dist/index.js.map +1 -1
  111. package/docs/CLAUDE.md +44 -4
  112. package/docs/FEATURES.md +1 -1
  113. package/docs/MIGRATION.md +5 -5
  114. package/docs/REFERENCE.md +6 -2
  115. package/package.json +1 -1
  116. package/scripts/keyword-detector.mjs +140 -59
  117. package/skills/help/SKILL.md +1 -1
  118. package/skills/omc-setup/SKILL.md +1 -1
  119. package/templates/hooks/keyword-detector.mjs +280 -118
  120. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  121. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  122. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  123. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  124. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  125. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  126. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  127. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  128. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  129. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  130. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  131. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  132. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  133. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  134. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  135. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  136. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  137. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  138. package/dist/__tests__/learned-skills/config.test.js +0 -37
  139. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  140. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  141. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  142. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  143. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  144. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  145. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  146. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  147. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  148. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  149. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  150. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  151. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  152. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  153. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  154. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  155. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  156. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  157. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  158. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  159. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  160. package/dist/agents/codex-agents.d.ts +0 -20
  161. package/dist/agents/codex-agents.d.ts.map +0 -1
  162. package/dist/agents/codex-agents.js +0 -36
  163. package/dist/agents/codex-agents.js.map +0 -1
  164. package/dist/agents/coordinator.d.ts +0 -11
  165. package/dist/agents/coordinator.d.ts.map +0 -1
  166. package/dist/agents/coordinator.js +0 -115
  167. package/dist/agents/coordinator.js.map +0 -1
  168. package/dist/agents/document-writer.d.ts +0 -11
  169. package/dist/agents/document-writer.d.ts.map +0 -1
  170. package/dist/agents/document-writer.js +0 -209
  171. package/dist/agents/document-writer.js.map +0 -1
  172. package/dist/agents/frontend-engineer.d.ts +0 -11
  173. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  174. package/dist/agents/frontend-engineer.js +0 -115
  175. package/dist/agents/frontend-engineer.js.map +0 -1
  176. package/dist/agents/librarian.d.ts +0 -12
  177. package/dist/agents/librarian.d.ts.map +0 -1
  178. package/dist/agents/librarian.js +0 -103
  179. package/dist/agents/librarian.js.map +0 -1
  180. package/dist/agents/metis.d.ts +0 -12
  181. package/dist/agents/metis.d.ts.map +0 -1
  182. package/dist/agents/metis.js +0 -117
  183. package/dist/agents/metis.js.map +0 -1
  184. package/dist/agents/momus.d.ts +0 -12
  185. package/dist/agents/momus.d.ts.map +0 -1
  186. package/dist/agents/momus.js +0 -128
  187. package/dist/agents/momus.js.map +0 -1
  188. package/dist/agents/multimodal-looker.d.ts +0 -11
  189. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  190. package/dist/agents/multimodal-looker.js +0 -70
  191. package/dist/agents/multimodal-looker.js.map +0 -1
  192. package/dist/agents/oracle.d.ts +0 -13
  193. package/dist/agents/oracle.d.ts.map +0 -1
  194. package/dist/agents/oracle.js +0 -191
  195. package/dist/agents/oracle.js.map +0 -1
  196. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  197. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  198. package/dist/agents/orchestrator-sisyphus.js +0 -115
  199. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  200. package/dist/agents/prometheus.d.ts +0 -12
  201. package/dist/agents/prometheus.d.ts.map +0 -1
  202. package/dist/agents/prometheus.js +0 -195
  203. package/dist/agents/prometheus.js.map +0 -1
  204. package/dist/agents/sisyphus-junior.d.ts +0 -12
  205. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  206. package/dist/agents/sisyphus-junior.js +0 -93
  207. package/dist/agents/sisyphus-junior.js.map +0 -1
  208. package/dist/cli/components/CostDashboard.d.ts +0 -15
  209. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  210. package/dist/cli/components/CostDashboard.js +0 -15
  211. package/dist/cli/components/CostDashboard.js.map +0 -1
  212. package/dist/cli/components/LiveStats.d.ts +0 -16
  213. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  214. package/dist/cli/components/LiveStats.js +0 -16
  215. package/dist/cli/components/LiveStats.js.map +0 -1
  216. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  217. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  218. package/dist/cli/components/SessionBrowser.js +0 -14
  219. package/dist/cli/components/SessionBrowser.js.map +0 -1
  220. package/dist/cli/tui.d.ts +0 -21
  221. package/dist/cli/tui.d.ts.map +0 -1
  222. package/dist/cli/tui.js +0 -21
  223. package/dist/cli/tui.js.map +0 -1
  224. package/dist/hooks/autopilot/signals.d.ts +0 -20
  225. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  226. package/dist/hooks/autopilot/signals.js +0 -75
  227. package/dist/hooks/autopilot/signals.js.map +0 -1
  228. package/dist/hooks/autopilot/summary.d.ts +0 -27
  229. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  230. package/dist/hooks/autopilot/summary.js +0 -160
  231. package/dist/hooks/autopilot/summary.js.map +0 -1
  232. package/dist/hooks/autopilot/transition.d.ts +0 -39
  233. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  234. package/dist/hooks/autopilot/transition.js +0 -216
  235. package/dist/hooks/autopilot/transition.js.map +0 -1
  236. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  237. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  238. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  239. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  240. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  241. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  242. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  243. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  244. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  245. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  246. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  247. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  248. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  249. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  250. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  251. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  252. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  253. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  254. package/dist/hooks/edit-error-recovery/index.js +0 -89
  255. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  256. package/dist/hooks/github-auto-responder/classifier.d.ts +0 -43
  257. package/dist/hooks/github-auto-responder/classifier.d.ts.map +0 -1
  258. package/dist/hooks/github-auto-responder/classifier.js +0 -150
  259. package/dist/hooks/github-auto-responder/classifier.js.map +0 -1
  260. package/dist/hooks/github-auto-responder/config.d.ts +0 -109
  261. package/dist/hooks/github-auto-responder/config.d.ts.map +0 -1
  262. package/dist/hooks/github-auto-responder/config.js +0 -69
  263. package/dist/hooks/github-auto-responder/config.js.map +0 -1
  264. package/dist/hooks/github-auto-responder/constants.d.ts +0 -45
  265. package/dist/hooks/github-auto-responder/constants.d.ts.map +0 -1
  266. package/dist/hooks/github-auto-responder/constants.js +0 -60
  267. package/dist/hooks/github-auto-responder/constants.js.map +0 -1
  268. package/dist/hooks/github-auto-responder/filters.d.ts +0 -95
  269. package/dist/hooks/github-auto-responder/filters.d.ts.map +0 -1
  270. package/dist/hooks/github-auto-responder/filters.js +0 -174
  271. package/dist/hooks/github-auto-responder/filters.js.map +0 -1
  272. package/dist/hooks/github-auto-responder/github-client.d.ts +0 -65
  273. package/dist/hooks/github-auto-responder/github-client.d.ts.map +0 -1
  274. package/dist/hooks/github-auto-responder/github-client.js +0 -128
  275. package/dist/hooks/github-auto-responder/github-client.js.map +0 -1
  276. package/dist/hooks/github-auto-responder/idempotency.d.ts +0 -68
  277. package/dist/hooks/github-auto-responder/idempotency.d.ts.map +0 -1
  278. package/dist/hooks/github-auto-responder/idempotency.js +0 -147
  279. package/dist/hooks/github-auto-responder/idempotency.js.map +0 -1
  280. package/dist/hooks/github-auto-responder/index.d.ts +0 -140
  281. package/dist/hooks/github-auto-responder/index.d.ts.map +0 -1
  282. package/dist/hooks/github-auto-responder/index.js +0 -145
  283. package/dist/hooks/github-auto-responder/index.js.map +0 -1
  284. package/dist/hooks/github-auto-responder/persona.d.ts +0 -40
  285. package/dist/hooks/github-auto-responder/persona.d.ts.map +0 -1
  286. package/dist/hooks/github-auto-responder/persona.js +0 -99
  287. package/dist/hooks/github-auto-responder/persona.js.map +0 -1
  288. package/dist/hooks/github-auto-responder/responder.d.ts +0 -122
  289. package/dist/hooks/github-auto-responder/responder.d.ts.map +0 -1
  290. package/dist/hooks/github-auto-responder/responder.js +0 -264
  291. package/dist/hooks/github-auto-responder/responder.js.map +0 -1
  292. package/dist/hooks/github-auto-responder/server.d.ts +0 -140
  293. package/dist/hooks/github-auto-responder/server.d.ts.map +0 -1
  294. package/dist/hooks/github-auto-responder/server.js +0 -301
  295. package/dist/hooks/github-auto-responder/server.js.map +0 -1
  296. package/dist/hooks/github-auto-responder/signature.d.ts +0 -34
  297. package/dist/hooks/github-auto-responder/signature.d.ts.map +0 -1
  298. package/dist/hooks/github-auto-responder/signature.js +0 -79
  299. package/dist/hooks/github-auto-responder/signature.js.map +0 -1
  300. package/dist/hooks/github-auto-responder/templates.d.ts +0 -16
  301. package/dist/hooks/github-auto-responder/templates.d.ts.map +0 -1
  302. package/dist/hooks/github-auto-responder/templates.js +0 -93
  303. package/dist/hooks/github-auto-responder/templates.js.map +0 -1
  304. package/dist/hooks/github-auto-responder/types.d.ts +0 -246
  305. package/dist/hooks/github-auto-responder/types.d.ts.map +0 -1
  306. package/dist/hooks/github-auto-responder/types.js +0 -7
  307. package/dist/hooks/github-auto-responder/types.js.map +0 -1
  308. package/dist/hooks/learned-skills/config.d.ts +0 -53
  309. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  310. package/dist/hooks/learned-skills/config.js +0 -103
  311. package/dist/hooks/learned-skills/config.js.map +0 -1
  312. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  313. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  314. package/dist/hooks/learned-skills/constants.js +0 -26
  315. package/dist/hooks/learned-skills/constants.js.map +0 -1
  316. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  317. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  318. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  319. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  320. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  321. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  322. package/dist/hooks/learned-skills/detector.js +0 -150
  323. package/dist/hooks/learned-skills/detector.js.map +0 -1
  324. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  325. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  326. package/dist/hooks/learned-skills/finder.js +0 -117
  327. package/dist/hooks/learned-skills/finder.js.map +0 -1
  328. package/dist/hooks/learned-skills/index.d.ts +0 -62
  329. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  330. package/dist/hooks/learned-skills/index.js +0 -137
  331. package/dist/hooks/learned-skills/index.js.map +0 -1
  332. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  333. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  334. package/dist/hooks/learned-skills/loader.js +0 -107
  335. package/dist/hooks/learned-skills/loader.js.map +0 -1
  336. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  337. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  338. package/dist/hooks/learned-skills/parser.js +0 -190
  339. package/dist/hooks/learned-skills/parser.js.map +0 -1
  340. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  341. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  342. package/dist/hooks/learned-skills/promotion.js +0 -87
  343. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  344. package/dist/hooks/learned-skills/types.d.ts +0 -109
  345. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  346. package/dist/hooks/learned-skills/types.js +0 -8
  347. package/dist/hooks/learned-skills/types.js.map +0 -1
  348. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  349. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  350. package/dist/hooks/learned-skills/validator.js +0 -87
  351. package/dist/hooks/learned-skills/validator.js.map +0 -1
  352. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  353. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  354. package/dist/hooks/learned-skills/writer.js +0 -126
  355. package/dist/hooks/learned-skills/writer.js.map +0 -1
  356. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  357. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  358. package/dist/hooks/mnemosyne/config.js +0 -103
  359. package/dist/hooks/mnemosyne/config.js.map +0 -1
  360. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  361. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  362. package/dist/hooks/mnemosyne/constants.js +0 -26
  363. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  364. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  365. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  366. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  367. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  368. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  369. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  370. package/dist/hooks/mnemosyne/detector.js +0 -150
  371. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  372. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  373. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  374. package/dist/hooks/mnemosyne/finder.js +0 -117
  375. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  376. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  377. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  378. package/dist/hooks/mnemosyne/index.js +0 -137
  379. package/dist/hooks/mnemosyne/index.js.map +0 -1
  380. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  381. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  382. package/dist/hooks/mnemosyne/loader.js +0 -113
  383. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  384. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  385. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  386. package/dist/hooks/mnemosyne/parser.js +0 -190
  387. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  388. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  389. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  390. package/dist/hooks/mnemosyne/promotion.js +0 -87
  391. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  392. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  393. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  394. package/dist/hooks/mnemosyne/types.js +0 -8
  395. package/dist/hooks/mnemosyne/types.js.map +0 -1
  396. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  397. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  398. package/dist/hooks/mnemosyne/validator.js +0 -87
  399. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  400. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  401. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  402. package/dist/hooks/mnemosyne/writer.js +0 -126
  403. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  404. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  405. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  406. package/dist/hooks/ralph-loop/index.js +0 -322
  407. package/dist/hooks/ralph-loop/index.js.map +0 -1
  408. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  409. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  410. package/dist/hooks/ralph-prd/index.js +0 -310
  411. package/dist/hooks/ralph-prd/index.js.map +0 -1
  412. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  413. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  414. package/dist/hooks/ralph-progress/index.js +0 -408
  415. package/dist/hooks/ralph-progress/index.js.map +0 -1
  416. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  417. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  418. package/dist/hooks/ralph-verifier/index.js +0 -223
  419. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  420. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  421. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  422. package/dist/hooks/session-recovery/constants.js +0 -78
  423. package/dist/hooks/session-recovery/constants.js.map +0 -1
  424. package/dist/hooks/session-recovery/index.d.ts +0 -53
  425. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  426. package/dist/hooks/session-recovery/index.js +0 -321
  427. package/dist/hooks/session-recovery/index.js.map +0 -1
  428. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  429. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  430. package/dist/hooks/session-recovery/storage.js +0 -383
  431. package/dist/hooks/session-recovery/storage.js.map +0 -1
  432. package/dist/hooks/session-recovery/types.d.ts +0 -145
  433. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  434. package/dist/hooks/session-recovery/types.js +0 -8
  435. package/dist/hooks/session-recovery/types.js.map +0 -1
  436. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  437. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  438. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  439. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  440. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  441. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  442. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  443. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  444. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  445. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  446. package/dist/hooks/ultraqa-loop/index.js +0 -216
  447. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  448. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  449. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  450. package/dist/hooks/ultrawork-state/index.js +0 -208
  451. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  452. package/dist/hud/sisyphus-state.d.ts +0 -31
  453. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  454. package/dist/hud/sisyphus-state.js +0 -163
  455. package/dist/hud/sisyphus-state.js.map +0 -1
  456. package/dist/mcp/standalone-server.cjs +0 -19135
@@ -1,321 +0,0 @@
1
- /**
2
- * Session Recovery Hook
3
- *
4
- * Helps recover session state when Claude Code restarts or crashes.
5
- * Detects and fixes various error conditions that can cause session failures.
6
- *
7
- * Adapted from oh-my-opencode's session-recovery hook for Claude Code's
8
- * shell hook system.
9
- *
10
- * Recovery Strategies:
11
- * 1. Tool Result Missing: Inject cancelled tool results for orphaned tool_use
12
- * 2. Thinking Block Order: Fix messages where thinking isn't first
13
- * 3. Thinking Disabled: Strip thinking blocks when model doesn't support them
14
- * 4. Empty Content: Add placeholder text to empty messages
15
- */
16
- import { appendFileSync } from "node:fs";
17
- import { findEmptyMessages, findEmptyMessageByIndex, findMessageByIndexNeedingThinking, findMessagesWithEmptyTextParts, findMessagesWithOrphanThinking, findMessagesWithThinkingBlocks, findMessagesWithThinkingOnly, injectTextPart, prependThinkingPart, readParts, replaceEmptyTextParts, stripThinkingParts, } from "./storage.js";
18
- import { DEBUG, DEBUG_LOG_PATH, PLACEHOLDER_TEXT, RECOVERY_MESSAGES, } from "./constants.js";
19
- /**
20
- * Debug logging utility
21
- */
22
- function debugLog(...args) {
23
- if (DEBUG) {
24
- const msg = `[${new Date().toISOString()}] [session-recovery] ${args
25
- .map((a) => (typeof a === "object" ? JSON.stringify(a, null, 2) : String(a)))
26
- .join(" ")}\n`;
27
- appendFileSync(DEBUG_LOG_PATH, msg);
28
- }
29
- }
30
- /**
31
- * Extract error message from various error formats
32
- */
33
- function getErrorMessage(error) {
34
- if (!error)
35
- return "";
36
- if (typeof error === "string")
37
- return error.toLowerCase();
38
- const errorObj = error;
39
- const paths = [
40
- errorObj.data,
41
- errorObj.error,
42
- errorObj,
43
- errorObj.data?.error,
44
- ];
45
- for (const obj of paths) {
46
- if (obj && typeof obj === "object") {
47
- const msg = obj.message;
48
- if (typeof msg === "string" && msg.length > 0) {
49
- return msg.toLowerCase();
50
- }
51
- }
52
- }
53
- try {
54
- return JSON.stringify(error).toLowerCase();
55
- }
56
- catch {
57
- return "";
58
- }
59
- }
60
- /**
61
- * Extract message index from error (e.g., "messages.5")
62
- */
63
- function extractMessageIndex(error) {
64
- const message = getErrorMessage(error);
65
- const match = message.match(/messages\.(\d+)/);
66
- return match ? parseInt(match[1], 10) : null;
67
- }
68
- /**
69
- * Detect the type of recoverable error
70
- */
71
- export function detectErrorType(error) {
72
- const message = getErrorMessage(error);
73
- if (message.includes("tool_use") && message.includes("tool_result")) {
74
- return "tool_result_missing";
75
- }
76
- if (message.includes("thinking") &&
77
- (message.includes("first block") ||
78
- message.includes("must start with") ||
79
- message.includes("preceeding") ||
80
- message.includes("final block") ||
81
- message.includes("cannot be thinking") ||
82
- (message.includes("expected") && message.includes("found")))) {
83
- return "thinking_block_order";
84
- }
85
- if (message.includes("thinking is disabled") && message.includes("cannot contain")) {
86
- return "thinking_disabled_violation";
87
- }
88
- if (message.includes("empty") &&
89
- (message.includes("content") || message.includes("message"))) {
90
- return "empty_content";
91
- }
92
- return null;
93
- }
94
- /**
95
- * Check if an error is recoverable
96
- */
97
- export function isRecoverableError(error) {
98
- return detectErrorType(error) !== null;
99
- }
100
- /**
101
- * Extract tool_use IDs from message parts
102
- */
103
- function extractToolUseIds(parts) {
104
- return parts
105
- .filter((p) => p.type === "tool_use" && !!p.id)
106
- .map((p) => p.id);
107
- }
108
- /**
109
- * Recover from missing tool results
110
- */
111
- async function recoverToolResultMissing(sessionID, failedAssistantMsg) {
112
- debugLog("recoverToolResultMissing", { sessionID, msgId: failedAssistantMsg.info?.id });
113
- // Try API parts first, fallback to filesystem if empty
114
- let parts = failedAssistantMsg.parts || [];
115
- if (parts.length === 0 && failedAssistantMsg.info?.id) {
116
- const storedParts = readParts(failedAssistantMsg.info.id);
117
- parts = storedParts.map((p) => ({
118
- type: p.type === "tool" ? "tool_use" : p.type,
119
- id: "callID" in p ? p.callID : p.id,
120
- name: "tool" in p ? p.tool : undefined,
121
- input: "state" in p
122
- ? p.state?.input
123
- : undefined,
124
- }));
125
- }
126
- const toolUseIds = extractToolUseIds(parts);
127
- if (toolUseIds.length === 0) {
128
- debugLog("No tool_use IDs found");
129
- return false;
130
- }
131
- debugLog("Found tool_use IDs to inject results for", toolUseIds);
132
- // Note: In Claude Code's simplified architecture, we would need to
133
- // integrate with the actual session/tool system to inject tool results.
134
- // This is a placeholder showing the recovery intent.
135
- // A full implementation would require access to the SDK client.
136
- return true; // Indicate recovery was attempted
137
- }
138
- /**
139
- * Recover from thinking block order errors
140
- */
141
- async function recoverThinkingBlockOrder(sessionID, _failedAssistantMsg, error) {
142
- debugLog("recoverThinkingBlockOrder", { sessionID });
143
- const targetIndex = extractMessageIndex(error);
144
- if (targetIndex !== null) {
145
- const targetMessageID = findMessageByIndexNeedingThinking(sessionID, targetIndex);
146
- if (targetMessageID) {
147
- debugLog("Found target message by index", { targetIndex, targetMessageID });
148
- return prependThinkingPart(sessionID, targetMessageID);
149
- }
150
- }
151
- const orphanMessages = findMessagesWithOrphanThinking(sessionID);
152
- if (orphanMessages.length === 0) {
153
- debugLog("No orphan thinking messages found");
154
- return false;
155
- }
156
- debugLog("Found orphan thinking messages", orphanMessages);
157
- let anySuccess = false;
158
- for (const messageID of orphanMessages) {
159
- if (prependThinkingPart(sessionID, messageID)) {
160
- anySuccess = true;
161
- }
162
- }
163
- return anySuccess;
164
- }
165
- /**
166
- * Recover from thinking disabled violations
167
- */
168
- async function recoverThinkingDisabledViolation(sessionID, _failedAssistantMsg) {
169
- debugLog("recoverThinkingDisabledViolation", { sessionID });
170
- const messagesWithThinking = findMessagesWithThinkingBlocks(sessionID);
171
- if (messagesWithThinking.length === 0) {
172
- debugLog("No messages with thinking blocks found");
173
- return false;
174
- }
175
- debugLog("Found messages with thinking blocks", messagesWithThinking);
176
- let anySuccess = false;
177
- for (const messageID of messagesWithThinking) {
178
- if (stripThinkingParts(messageID)) {
179
- anySuccess = true;
180
- }
181
- }
182
- return anySuccess;
183
- }
184
- /**
185
- * Recover from empty content messages
186
- */
187
- async function recoverEmptyContentMessage(sessionID, failedAssistantMsg, error) {
188
- debugLog("recoverEmptyContentMessage", { sessionID });
189
- const targetIndex = extractMessageIndex(error);
190
- const failedID = failedAssistantMsg.info?.id;
191
- let anySuccess = false;
192
- // Fix messages with empty text parts
193
- const messagesWithEmptyText = findMessagesWithEmptyTextParts(sessionID);
194
- for (const messageID of messagesWithEmptyText) {
195
- if (replaceEmptyTextParts(messageID, PLACEHOLDER_TEXT)) {
196
- anySuccess = true;
197
- }
198
- }
199
- // Fix messages with only thinking
200
- const thinkingOnlyIDs = findMessagesWithThinkingOnly(sessionID);
201
- for (const messageID of thinkingOnlyIDs) {
202
- if (injectTextPart(sessionID, messageID, PLACEHOLDER_TEXT)) {
203
- anySuccess = true;
204
- }
205
- }
206
- // Try target index if provided
207
- if (targetIndex !== null) {
208
- const targetMessageID = findEmptyMessageByIndex(sessionID, targetIndex);
209
- if (targetMessageID) {
210
- if (replaceEmptyTextParts(targetMessageID, PLACEHOLDER_TEXT)) {
211
- return true;
212
- }
213
- if (injectTextPart(sessionID, targetMessageID, PLACEHOLDER_TEXT)) {
214
- return true;
215
- }
216
- }
217
- }
218
- // Try failed message ID
219
- if (failedID) {
220
- if (replaceEmptyTextParts(failedID, PLACEHOLDER_TEXT)) {
221
- return true;
222
- }
223
- if (injectTextPart(sessionID, failedID, PLACEHOLDER_TEXT)) {
224
- return true;
225
- }
226
- }
227
- // Fix all empty messages as last resort
228
- const emptyMessageIDs = findEmptyMessages(sessionID);
229
- for (const messageID of emptyMessageIDs) {
230
- if (replaceEmptyTextParts(messageID, PLACEHOLDER_TEXT)) {
231
- anySuccess = true;
232
- }
233
- if (injectTextPart(sessionID, messageID, PLACEHOLDER_TEXT)) {
234
- anySuccess = true;
235
- }
236
- }
237
- return anySuccess;
238
- }
239
- /**
240
- * Main recovery handler
241
- */
242
- export async function handleSessionRecovery(sessionID, error, failedMessage, config) {
243
- debugLog("handleSessionRecovery", { sessionID, error });
244
- const errorType = detectErrorType(error);
245
- if (!errorType) {
246
- debugLog("Not a recoverable error");
247
- return {
248
- attempted: false,
249
- success: false,
250
- };
251
- }
252
- debugLog("Detected recoverable error type", errorType);
253
- try {
254
- let success = false;
255
- const failedMsg = failedMessage || { info: {}, parts: [] };
256
- switch (errorType) {
257
- case "tool_result_missing":
258
- success = await recoverToolResultMissing(sessionID, failedMsg);
259
- break;
260
- case "thinking_block_order":
261
- success = await recoverThinkingBlockOrder(sessionID, failedMsg, error);
262
- break;
263
- case "thinking_disabled_violation":
264
- success = await recoverThinkingDisabledViolation(sessionID, failedMsg);
265
- break;
266
- case "empty_content":
267
- success = await recoverEmptyContentMessage(sessionID, failedMsg, error);
268
- break;
269
- }
270
- debugLog("Recovery result", { errorType, success });
271
- const recoveryMessage = config?.customMessages?.[errorType] ||
272
- RECOVERY_MESSAGES[errorType]?.message ||
273
- `Session recovery attempted for ${errorType}`;
274
- return {
275
- attempted: true,
276
- success,
277
- message: success ? recoveryMessage : undefined,
278
- errorType,
279
- };
280
- }
281
- catch (err) {
282
- debugLog("Recovery failed with error", err);
283
- return {
284
- attempted: true,
285
- success: false,
286
- errorType,
287
- };
288
- }
289
- }
290
- /**
291
- * Create session recovery hook for Claude Code
292
- */
293
- export function createSessionRecoveryHook(config) {
294
- debugLog("createSessionRecoveryHook", { config });
295
- return {
296
- /**
297
- * Check for errors during tool execution or message processing
298
- */
299
- onError: async (input) => {
300
- return handleSessionRecovery(input.session_id, input.error, input.message, config);
301
- },
302
- /**
303
- * Check if an error is recoverable
304
- */
305
- isRecoverable: (error) => {
306
- return isRecoverableError(error);
307
- },
308
- /**
309
- * Get recovery message for an error type
310
- */
311
- getRecoveryMessage: (errorType) => {
312
- if (!errorType)
313
- return undefined;
314
- return config?.customMessages?.[errorType] ||
315
- RECOVERY_MESSAGES[errorType]?.message;
316
- },
317
- };
318
- }
319
- export { RECOVERY_MESSAGES, PLACEHOLDER_TEXT, } from "./constants.js";
320
- export { findEmptyMessages, findMessagesWithThinkingBlocks, findMessagesWithOrphanThinking, readMessages, readParts, } from "./storage.js";
321
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/session-recovery/index.ts"],"names":[],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Session Recovery Storage Operations
3
- *
4
- * Functions for reading and manipulating stored session data.
5
- * Adapted from oh-my-opencode's session-recovery hook.
6
- */
7
- import type { StoredMessageMeta, StoredPart } from "./types.js";
8
- /**
9
- * Generate a unique part ID
10
- */
11
- export declare function generatePartId(): string;
12
- /**
13
- * Get the directory containing messages for a session
14
- */
15
- export declare function getMessageDir(sessionID: string): string;
16
- /**
17
- * Read all messages for a session
18
- */
19
- export declare function readMessages(sessionID: string): StoredMessageMeta[];
20
- /**
21
- * Read all parts for a message
22
- */
23
- export declare function readParts(messageID: string): StoredPart[];
24
- /**
25
- * Check if a part has content (not thinking/meta)
26
- */
27
- export declare function hasContent(part: StoredPart): boolean;
28
- /**
29
- * Check if a message has content
30
- */
31
- export declare function messageHasContent(messageID: string): boolean;
32
- /**
33
- * Inject a text part into a message
34
- */
35
- export declare function injectTextPart(sessionID: string, messageID: string, text: string): boolean;
36
- /**
37
- * Find all messages with empty content
38
- */
39
- export declare function findEmptyMessages(sessionID: string): string[];
40
- /**
41
- * Find empty message by index (with fuzzy matching)
42
- */
43
- export declare function findEmptyMessageByIndex(sessionID: string, targetIndex: number): string | null;
44
- /**
45
- * Find messages that have thinking blocks
46
- */
47
- export declare function findMessagesWithThinkingBlocks(sessionID: string): string[];
48
- /**
49
- * Find messages that have thinking but no content
50
- */
51
- export declare function findMessagesWithThinkingOnly(sessionID: string): string[];
52
- /**
53
- * Find messages with orphan thinking (thinking not first)
54
- */
55
- export declare function findMessagesWithOrphanThinking(sessionID: string): string[];
56
- /**
57
- * Prepend a thinking part to a message
58
- */
59
- export declare function prependThinkingPart(sessionID: string, messageID: string): boolean;
60
- /**
61
- * Strip all thinking parts from a message
62
- */
63
- export declare function stripThinkingParts(messageID: string): boolean;
64
- /**
65
- * Replace empty text parts with placeholder text
66
- */
67
- export declare function replaceEmptyTextParts(messageID: string, replacementText?: string): boolean;
68
- /**
69
- * Find messages with empty text parts
70
- */
71
- export declare function findMessagesWithEmptyTextParts(sessionID: string): string[];
72
- /**
73
- * Find message by index that needs thinking block
74
- */
75
- export declare function findMessageByIndexNeedingThinking(sessionID: string, targetIndex: number): string | null;
76
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/hooks/session-recovery/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EAEX,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgBvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAqBnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAgBzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAkBpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAuBT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAW7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CA0Bf;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBxE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAqB1E;AAkCD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAyBT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAqB7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,MAAyB,GACzC,OAAO,CA2BT;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1E;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAoBf"}