olympus-ai 2.7.3 → 3.1.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 (313) hide show
  1. package/.claude/.olympus-version.json +6 -0
  2. package/.claude/CLAUDE.md +1 -49
  3. package/.claude/agents/document-writer.md +152 -0
  4. package/.claude/agents/explore-medium.md +25 -0
  5. package/.claude/agents/explore.md +86 -0
  6. package/.claude/agents/frontend-engineer-high.md +17 -0
  7. package/.claude/agents/frontend-engineer-low.md +17 -0
  8. package/.claude/agents/frontend-engineer.md +80 -0
  9. package/.claude/agents/librarian-low.md +22 -0
  10. package/.claude/agents/librarian.md +70 -0
  11. package/.claude/agents/metis.md +85 -0
  12. package/.claude/agents/momus.md +97 -0
  13. package/.claude/agents/multimodal-looker.md +39 -0
  14. package/.claude/agents/olympian-high.md +32 -0
  15. package/.claude/agents/olympian-low.md +22 -0
  16. package/.claude/agents/olympian.md +78 -0
  17. package/.claude/agents/oracle-low.md +23 -0
  18. package/.claude/agents/oracle-medium.md +28 -0
  19. package/.claude/agents/oracle.md +77 -0
  20. package/.claude/agents/prometheus.md +125 -0
  21. package/.claude/agents/qa-tester.md +220 -0
  22. package/.claude/commands/analyze/skill.md +14 -0
  23. package/.claude/commands/ascent/skill.md +152 -0
  24. package/.claude/commands/cancel-ascent.md +9 -0
  25. package/.claude/commands/complete-plan.md +101 -0
  26. package/.claude/commands/deepsearch/skill.md +15 -0
  27. package/.claude/commands/olympus/skill.md +82 -0
  28. package/.claude/commands/olympus-default.md +26 -0
  29. package/.claude/commands/plan.md +30 -0
  30. package/.claude/commands/prometheus/skill.md +38 -0
  31. package/.claude/commands/review/skill.md +34 -0
  32. package/.claude/commands/ultrawork/skill.md +90 -0
  33. package/.claude/commands/update.md +38 -0
  34. package/.claude-plugin/marketplace.json +2 -2
  35. package/.claude-plugin/plugin.json +2 -2
  36. package/COPYRIGHT +22 -0
  37. package/LICENSE +1 -1
  38. package/NOTICE +24 -0
  39. package/README.md +431 -61
  40. package/dist/__tests__/installer.test.js +1 -1
  41. package/dist/__tests__/learning/cleanup.test.d.ts +2 -0
  42. package/dist/__tests__/learning/cleanup.test.d.ts.map +1 -0
  43. package/dist/__tests__/learning/cleanup.test.js +122 -0
  44. package/dist/__tests__/learning/cleanup.test.js.map +1 -0
  45. package/dist/__tests__/learning/storage.test.d.ts +2 -0
  46. package/dist/__tests__/learning/storage.test.d.ts.map +1 -0
  47. package/dist/__tests__/learning/storage.test.js +75 -0
  48. package/dist/__tests__/learning/storage.test.js.map +1 -0
  49. package/dist/agents/definitions.d.ts +23 -6
  50. package/dist/agents/definitions.d.ts.map +1 -1
  51. package/dist/agents/definitions.js +47 -14
  52. package/dist/agents/definitions.js.map +1 -1
  53. package/dist/agents/document-writer.d.ts +13 -3
  54. package/dist/agents/document-writer.d.ts.map +1 -1
  55. package/dist/agents/document-writer.js +13 -3
  56. package/dist/agents/document-writer.js.map +1 -1
  57. package/dist/agents/explore.d.ts +13 -4
  58. package/dist/agents/explore.d.ts.map +1 -1
  59. package/dist/agents/explore.js +13 -4
  60. package/dist/agents/explore.js.map +1 -1
  61. package/dist/agents/frontend-engineer.d.ts +14 -3
  62. package/dist/agents/frontend-engineer.d.ts.map +1 -1
  63. package/dist/agents/frontend-engineer.js +14 -3
  64. package/dist/agents/frontend-engineer.js.map +1 -1
  65. package/dist/agents/librarian.d.ts +13 -4
  66. package/dist/agents/librarian.d.ts.map +1 -1
  67. package/dist/agents/librarian.js +13 -4
  68. package/dist/agents/librarian.js.map +1 -1
  69. package/dist/agents/metis.d.ts +12 -4
  70. package/dist/agents/metis.d.ts.map +1 -1
  71. package/dist/agents/metis.js +12 -4
  72. package/dist/agents/metis.js.map +1 -1
  73. package/dist/agents/momus.d.ts +12 -4
  74. package/dist/agents/momus.d.ts.map +1 -1
  75. package/dist/agents/momus.js +12 -4
  76. package/dist/agents/momus.js.map +1 -1
  77. package/dist/agents/multimodal-looker.d.ts +13 -3
  78. package/dist/agents/multimodal-looker.d.ts.map +1 -1
  79. package/dist/agents/multimodal-looker.js +13 -3
  80. package/dist/agents/multimodal-looker.js.map +1 -1
  81. package/dist/agents/olympian.d.ts +14 -4
  82. package/dist/agents/olympian.d.ts.map +1 -1
  83. package/dist/agents/olympian.js +37 -11
  84. package/dist/agents/olympian.js.map +1 -1
  85. package/dist/agents/oracle.d.ts +13 -5
  86. package/dist/agents/oracle.d.ts.map +1 -1
  87. package/dist/agents/oracle.js +13 -5
  88. package/dist/agents/oracle.js.map +1 -1
  89. package/dist/agents/orchestrator-olympus.d.ts +13 -3
  90. package/dist/agents/orchestrator-olympus.d.ts.map +1 -1
  91. package/dist/agents/orchestrator-olympus.js +14 -4
  92. package/dist/agents/orchestrator-olympus.js.map +1 -1
  93. package/dist/agents/prometheus.d.ts +12 -4
  94. package/dist/agents/prometheus.d.ts.map +1 -1
  95. package/dist/agents/prometheus.js +12 -4
  96. package/dist/agents/prometheus.js.map +1 -1
  97. package/dist/agents/types.d.ts +10 -3
  98. package/dist/agents/types.d.ts.map +1 -1
  99. package/dist/agents/types.js +10 -3
  100. package/dist/agents/types.js.map +1 -1
  101. package/dist/agents/utils.d.ts +9 -4
  102. package/dist/agents/utils.d.ts.map +1 -1
  103. package/dist/agents/utils.js +9 -4
  104. package/dist/agents/utils.js.map +1 -1
  105. package/dist/cli/index.js +128 -9
  106. package/dist/cli/index.js.map +1 -1
  107. package/dist/config/loader.js +1 -1
  108. package/dist/config/loader.js.map +1 -1
  109. package/dist/features/background-agent/concurrency.d.ts +1 -1
  110. package/dist/features/background-agent/concurrency.js +1 -1
  111. package/dist/features/background-agent/index.d.ts +1 -1
  112. package/dist/features/background-agent/index.js +1 -1
  113. package/dist/features/background-agent/manager.d.ts +1 -1
  114. package/dist/features/background-agent/manager.js +1 -1
  115. package/dist/features/background-agent/types.d.ts +1 -1
  116. package/dist/features/background-agent/types.js +1 -1
  117. package/dist/features/background-tasks.d.ts +11 -11
  118. package/dist/features/background-tasks.js +11 -11
  119. package/dist/features/builtin-skills/index.d.ts +1 -1
  120. package/dist/features/builtin-skills/index.js +1 -1
  121. package/dist/features/builtin-skills/skills.d.ts +1 -1
  122. package/dist/features/builtin-skills/skills.js +1 -1
  123. package/dist/features/builtin-skills/types.d.ts +1 -1
  124. package/dist/features/builtin-skills/types.js +1 -1
  125. package/dist/features/context-injector/collector.d.ts +9 -4
  126. package/dist/features/context-injector/collector.d.ts.map +1 -1
  127. package/dist/features/context-injector/collector.js +9 -4
  128. package/dist/features/context-injector/collector.js.map +1 -1
  129. package/dist/features/context-injector/index.d.ts +1 -1
  130. package/dist/features/context-injector/index.js +1 -1
  131. package/dist/features/context-injector/injector.d.ts +1 -1
  132. package/dist/features/context-injector/injector.js +1 -1
  133. package/dist/features/context-injector/types.d.ts +1 -1
  134. package/dist/features/context-injector/types.js +1 -1
  135. package/dist/features/continuation-enforcement.d.ts +5 -2
  136. package/dist/features/continuation-enforcement.d.ts.map +1 -1
  137. package/dist/features/continuation-enforcement.js +10 -4
  138. package/dist/features/continuation-enforcement.js.map +1 -1
  139. package/dist/features/magic-keywords.d.ts +12 -3
  140. package/dist/features/magic-keywords.d.ts.map +1 -1
  141. package/dist/features/magic-keywords.js +12 -3
  142. package/dist/features/magic-keywords.js.map +1 -1
  143. package/dist/features/quest-state/constants.d.ts +1 -1
  144. package/dist/features/quest-state/constants.js +1 -1
  145. package/dist/features/quest-state/index.d.ts +1 -1
  146. package/dist/features/quest-state/index.js +1 -1
  147. package/dist/features/quest-state/storage.d.ts +1 -1
  148. package/dist/features/quest-state/storage.js +1 -1
  149. package/dist/features/quest-state/types.d.ts +1 -1
  150. package/dist/features/quest-state/types.js +1 -1
  151. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  152. package/dist/hooks/agent-usage-reminder/constants.js +1 -1
  153. package/dist/hooks/agent-usage-reminder/index.d.ts +1 -1
  154. package/dist/hooks/agent-usage-reminder/index.js +1 -1
  155. package/dist/hooks/agent-usage-reminder/storage.d.ts +1 -1
  156. package/dist/hooks/agent-usage-reminder/storage.js +1 -1
  157. package/dist/hooks/agent-usage-reminder/types.d.ts +1 -1
  158. package/dist/hooks/agent-usage-reminder/types.js +1 -1
  159. package/dist/hooks/ascent/index.d.ts +1 -1
  160. package/dist/hooks/ascent/index.js +1 -1
  161. package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
  162. package/dist/hooks/auto-slash-command/constants.js +1 -1
  163. package/dist/hooks/auto-slash-command/detector.d.ts +1 -1
  164. package/dist/hooks/auto-slash-command/detector.js +1 -1
  165. package/dist/hooks/auto-slash-command/executor.d.ts +1 -1
  166. package/dist/hooks/auto-slash-command/executor.js +1 -1
  167. package/dist/hooks/auto-slash-command/index.d.ts +1 -1
  168. package/dist/hooks/auto-slash-command/index.js +1 -1
  169. package/dist/hooks/auto-slash-command/types.d.ts +1 -1
  170. package/dist/hooks/auto-slash-command/types.js +1 -1
  171. package/dist/hooks/background-notification/index.d.ts +7 -4
  172. package/dist/hooks/background-notification/index.d.ts.map +1 -1
  173. package/dist/hooks/background-notification/index.js +7 -4
  174. package/dist/hooks/background-notification/index.js.map +1 -1
  175. package/dist/hooks/background-notification/types.d.ts +1 -1
  176. package/dist/hooks/background-notification/types.js +1 -1
  177. package/dist/hooks/comment-checker/constants.d.ts +1 -1
  178. package/dist/hooks/comment-checker/constants.js +1 -1
  179. package/dist/hooks/comment-checker/filters.d.ts +1 -1
  180. package/dist/hooks/comment-checker/filters.js +1 -1
  181. package/dist/hooks/comment-checker/index.d.ts +1 -1
  182. package/dist/hooks/comment-checker/index.js +1 -1
  183. package/dist/hooks/comment-checker/types.d.ts +1 -1
  184. package/dist/hooks/comment-checker/types.js +1 -1
  185. package/dist/hooks/context-window-limit-recovery/constants.d.ts +1 -1
  186. package/dist/hooks/context-window-limit-recovery/constants.js +1 -1
  187. package/dist/hooks/context-window-limit-recovery/index.d.ts +2 -3
  188. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -1
  189. package/dist/hooks/context-window-limit-recovery/index.js +2 -3
  190. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -1
  191. package/dist/hooks/context-window-limit-recovery/parser.d.ts +1 -1
  192. package/dist/hooks/context-window-limit-recovery/parser.js +1 -1
  193. package/dist/hooks/context-window-limit-recovery/types.d.ts +1 -1
  194. package/dist/hooks/context-window-limit-recovery/types.js +1 -1
  195. package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
  196. package/dist/hooks/directory-readme-injector/constants.js +1 -1
  197. package/dist/hooks/directory-readme-injector/index.d.ts +1 -1
  198. package/dist/hooks/directory-readme-injector/index.js +1 -1
  199. package/dist/hooks/directory-readme-injector/storage.d.ts +1 -1
  200. package/dist/hooks/directory-readme-injector/storage.js +1 -1
  201. package/dist/hooks/directory-readme-injector/types.d.ts +1 -1
  202. package/dist/hooks/directory-readme-injector/types.js +1 -1
  203. package/dist/hooks/edit-error-recovery/index.d.ts +1 -1
  204. package/dist/hooks/edit-error-recovery/index.js +1 -1
  205. package/dist/hooks/empty-message-sanitizer/constants.d.ts +1 -1
  206. package/dist/hooks/empty-message-sanitizer/constants.js +1 -1
  207. package/dist/hooks/empty-message-sanitizer/index.d.ts +1 -1
  208. package/dist/hooks/empty-message-sanitizer/index.js +1 -1
  209. package/dist/hooks/empty-message-sanitizer/types.d.ts +1 -1
  210. package/dist/hooks/empty-message-sanitizer/types.js +1 -1
  211. package/dist/hooks/keyword-detector/index.d.ts +7 -3
  212. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  213. package/dist/hooks/keyword-detector/index.js +7 -3
  214. package/dist/hooks/keyword-detector/index.js.map +1 -1
  215. package/dist/hooks/olympus-orchestrator/constants.d.ts +4 -4
  216. package/dist/hooks/olympus-orchestrator/constants.d.ts.map +1 -1
  217. package/dist/hooks/olympus-orchestrator/constants.js +4 -4
  218. package/dist/hooks/olympus-orchestrator/index.d.ts +8 -5
  219. package/dist/hooks/olympus-orchestrator/index.d.ts.map +1 -1
  220. package/dist/hooks/olympus-orchestrator/index.js +8 -5
  221. package/dist/hooks/olympus-orchestrator/index.js.map +1 -1
  222. package/dist/hooks/preemptive-compaction/constants.d.ts +1 -1
  223. package/dist/hooks/preemptive-compaction/constants.js +1 -1
  224. package/dist/hooks/preemptive-compaction/index.d.ts +3 -4
  225. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  226. package/dist/hooks/preemptive-compaction/index.js +3 -4
  227. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  228. package/dist/hooks/preemptive-compaction/types.d.ts +1 -1
  229. package/dist/hooks/preemptive-compaction/types.js +1 -1
  230. package/dist/hooks/rules-injector/constants.d.ts +1 -1
  231. package/dist/hooks/rules-injector/constants.js +1 -1
  232. package/dist/hooks/rules-injector/finder.d.ts +1 -1
  233. package/dist/hooks/rules-injector/finder.js +1 -1
  234. package/dist/hooks/rules-injector/index.d.ts +1 -1
  235. package/dist/hooks/rules-injector/index.js +1 -1
  236. package/dist/hooks/rules-injector/matcher.d.ts +1 -1
  237. package/dist/hooks/rules-injector/matcher.js +1 -1
  238. package/dist/hooks/rules-injector/parser.d.ts +1 -1
  239. package/dist/hooks/rules-injector/parser.js +1 -1
  240. package/dist/hooks/rules-injector/storage.d.ts +1 -1
  241. package/dist/hooks/rules-injector/storage.js +1 -1
  242. package/dist/hooks/rules-injector/types.d.ts +1 -1
  243. package/dist/hooks/rules-injector/types.js +1 -1
  244. package/dist/hooks/session-recovery/constants.d.ts +1 -1
  245. package/dist/hooks/session-recovery/constants.js +1 -1
  246. package/dist/hooks/session-recovery/index.d.ts +1 -1
  247. package/dist/hooks/session-recovery/index.js +1 -1
  248. package/dist/hooks/session-recovery/storage.d.ts +1 -1
  249. package/dist/hooks/session-recovery/storage.js +1 -1
  250. package/dist/hooks/session-recovery/types.d.ts +1 -1
  251. package/dist/hooks/session-recovery/types.js +1 -1
  252. package/dist/hooks/think-mode/detector.d.ts +1 -1
  253. package/dist/hooks/think-mode/detector.js +1 -1
  254. package/dist/hooks/think-mode/index.d.ts +1 -1
  255. package/dist/hooks/think-mode/index.js +1 -1
  256. package/dist/hooks/think-mode/switcher.d.ts +1 -1
  257. package/dist/hooks/think-mode/switcher.js +1 -1
  258. package/dist/hooks/think-mode/types.d.ts +1 -1
  259. package/dist/hooks/think-mode/types.js +1 -1
  260. package/dist/hooks/thinking-block-validator/constants.d.ts +1 -1
  261. package/dist/hooks/thinking-block-validator/constants.js +1 -1
  262. package/dist/hooks/thinking-block-validator/index.d.ts +1 -1
  263. package/dist/hooks/thinking-block-validator/index.js +1 -1
  264. package/dist/hooks/thinking-block-validator/types.d.ts +1 -1
  265. package/dist/hooks/thinking-block-validator/types.js +1 -1
  266. package/dist/hooks/todo-continuation/index.d.ts +1 -1
  267. package/dist/hooks/todo-continuation/index.js +1 -1
  268. package/dist/index.d.ts +15 -10
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +15 -10
  271. package/dist/index.js.map +1 -1
  272. package/dist/installer/hooks.d.ts +70 -24
  273. package/dist/installer/hooks.d.ts.map +1 -1
  274. package/dist/installer/hooks.js +69 -24
  275. package/dist/installer/hooks.js.map +1 -1
  276. package/dist/installer/index.d.ts +2 -2
  277. package/dist/installer/index.d.ts.map +1 -1
  278. package/dist/installer/index.js +29 -13
  279. package/dist/installer/index.js.map +1 -1
  280. package/dist/learning/cleanup.d.ts +18 -0
  281. package/dist/learning/cleanup.d.ts.map +1 -0
  282. package/dist/learning/cleanup.js +160 -0
  283. package/dist/learning/cleanup.js.map +1 -0
  284. package/dist/learning/discovery.d.ts.map +1 -1
  285. package/dist/learning/discovery.js +3 -1
  286. package/dist/learning/discovery.js.map +1 -1
  287. package/dist/learning/pattern-extractor.d.ts +1 -1
  288. package/dist/learning/pattern-extractor.d.ts.map +1 -1
  289. package/dist/learning/pattern-extractor.js +4 -2
  290. package/dist/learning/pattern-extractor.js.map +1 -1
  291. package/dist/learning/stats.d.ts +28 -0
  292. package/dist/learning/stats.d.ts.map +1 -0
  293. package/dist/learning/stats.js +112 -0
  294. package/dist/learning/stats.js.map +1 -0
  295. package/dist/learning/storage.d.ts +4 -0
  296. package/dist/learning/storage.d.ts.map +1 -1
  297. package/dist/learning/storage.js +26 -1
  298. package/dist/learning/storage.js.map +1 -1
  299. package/package.json +12 -7
  300. package/{dist → scripts/dist}/hooks/olympus-hooks.cjs +70 -69
  301. package/scripts/esbuild.hooks.mjs +67 -0
  302. package/scripts/generate-logo-hybrid-v2.mjs +213 -0
  303. package/scripts/generate-logo-hybrid.mjs +209 -0
  304. package/scripts/generate-logo-infinity.mjs +239 -0
  305. package/scripts/generate-logo-mythology.mjs +190 -0
  306. package/scripts/generate-logo-orchestration.mjs +228 -0
  307. package/scripts/generate-logo-recraft.mjs +147 -0
  308. package/scripts/generate-logo-simple.mjs +154 -0
  309. package/scripts/generate-logo.mjs +117 -0
  310. package/scripts/install.sh +0 -2
  311. package/scripts/rebrand.mjs +206 -0
  312. /package/scripts/{claude-sisyphus.sh → claude-olympus.sh} +0 -0
  313. /package/scripts/{sisyphus-aliases.sh → olympus-aliases.sh} +0 -0
@@ -0,0 +1,122 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { existsSync, mkdirSync, rmSync, writeFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { cleanupLearning } from '../../learning/cleanup.js';
5
+ const TEST_DIR = join(process.cwd(), '.test-cleanup');
6
+ describe('Learning Cleanup', () => {
7
+ beforeEach(() => {
8
+ if (existsSync(TEST_DIR)) {
9
+ rmSync(TEST_DIR, { recursive: true });
10
+ }
11
+ mkdirSync(TEST_DIR, { recursive: true });
12
+ process.env.HOME = TEST_DIR;
13
+ });
14
+ afterEach(() => {
15
+ if (existsSync(TEST_DIR)) {
16
+ rmSync(TEST_DIR, { recursive: true });
17
+ }
18
+ delete process.env.HOME;
19
+ });
20
+ it('removes old feedback entries', () => {
21
+ const learningDir = join(TEST_DIR, '.claude', 'olympus', 'learning');
22
+ mkdirSync(learningDir, { recursive: true });
23
+ const logPath = join(learningDir, 'feedback-log.jsonl');
24
+ const oldDate = new Date();
25
+ oldDate.setDate(oldDate.getDate() - 200); // 200 days ago
26
+ const entries = [
27
+ {
28
+ id: 'old-1',
29
+ timestamp: oldDate.toISOString(),
30
+ session_id: 'session-1',
31
+ project_path: '/test',
32
+ event_type: 'revision',
33
+ user_message: 'Old message',
34
+ feedback_category: 'correction',
35
+ confidence: 0.9,
36
+ },
37
+ {
38
+ id: 'new-1',
39
+ timestamp: new Date().toISOString(),
40
+ session_id: 'session-2',
41
+ project_path: '/test',
42
+ event_type: 'revision',
43
+ user_message: 'New message',
44
+ feedback_category: 'correction',
45
+ confidence: 0.9,
46
+ },
47
+ ];
48
+ writeFileSync(logPath, entries.map(e => JSON.stringify(e)).join('\n') + '\n', 'utf-8');
49
+ const result = cleanupLearning('/test', { ageDays: 180, dryRun: false });
50
+ expect(result.feedback_entries_removed).toBe(1);
51
+ expect(result.space_freed_mb).toBeGreaterThan(0);
52
+ });
53
+ it('removes expired discoveries', () => {
54
+ const learningDir = join(TEST_DIR, '.claude', 'olympus', 'learning');
55
+ mkdirSync(learningDir, { recursive: true });
56
+ const discoveryPath = join(learningDir, 'discoveries.jsonl');
57
+ const expiredDate = new Date();
58
+ expiredDate.setDate(expiredDate.getDate() - 10);
59
+ const futureDate = new Date();
60
+ futureDate.setDate(futureDate.getDate() + 10);
61
+ const discoveries = [
62
+ {
63
+ id: 'expired-1',
64
+ timestamp: new Date().toISOString(),
65
+ session_id: 'session-1',
66
+ project_path: '/test',
67
+ category: 'workaround',
68
+ summary: 'Expired discovery',
69
+ details: 'This is expired',
70
+ agent_name: 'oracle',
71
+ confidence: 0.9,
72
+ verified: false,
73
+ verification_count: 0,
74
+ scope: 'global',
75
+ expires_at: expiredDate.toISOString(),
76
+ last_useful: new Date().toISOString(),
77
+ },
78
+ {
79
+ id: 'active-1',
80
+ timestamp: new Date().toISOString(),
81
+ session_id: 'session-1',
82
+ project_path: '/test',
83
+ category: 'pattern',
84
+ summary: 'Active discovery',
85
+ details: 'This is active',
86
+ agent_name: 'oracle',
87
+ confidence: 0.9,
88
+ verified: false,
89
+ verification_count: 0,
90
+ scope: 'global',
91
+ expires_at: futureDate.toISOString(),
92
+ last_useful: new Date().toISOString(),
93
+ },
94
+ ];
95
+ writeFileSync(discoveryPath, discoveries.map(d => JSON.stringify(d)).join('\n') + '\n', 'utf-8');
96
+ const result = cleanupLearning('/test', { compactExpired: true, dryRun: false });
97
+ expect(result.discoveries_removed).toBe(1);
98
+ });
99
+ it('dry run does not modify files', () => {
100
+ const learningDir = join(TEST_DIR, '.claude', 'olympus', 'learning');
101
+ mkdirSync(learningDir, { recursive: true });
102
+ const logPath = join(learningDir, 'feedback-log.jsonl');
103
+ const oldDate = new Date();
104
+ oldDate.setDate(oldDate.getDate() - 200);
105
+ const entry = {
106
+ id: 'old-1',
107
+ timestamp: oldDate.toISOString(),
108
+ session_id: 'session-1',
109
+ project_path: '/test',
110
+ event_type: 'revision',
111
+ user_message: 'Old message',
112
+ feedback_category: 'correction',
113
+ confidence: 0.9,
114
+ };
115
+ writeFileSync(logPath, JSON.stringify(entry) + '\n', 'utf-8');
116
+ const sizeBefore = require('fs').statSync(logPath).size;
117
+ cleanupLearning('/test', { ageDays: 180, dryRun: true });
118
+ const sizeAfter = require('fs').statSync(logPath).size;
119
+ expect(sizeBefore).toBe(sizeAfter);
120
+ });
121
+ });
122
+ //# sourceMappingURL=cleanup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.test.js","sourceRoot":"","sources":["../../../src/__tests__/learning/cleanup.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/learning/storage.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { existsSync, mkdirSync, rmSync, writeFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { appendFeedback, readFeedbackLog } from '../../learning/storage.js';
5
+ const TEST_DIR = join(process.cwd(), '.test-learning');
6
+ describe('Storage with Rotation', () => {
7
+ beforeEach(() => {
8
+ // Override getLearningDir for testing
9
+ process.env.HOME = TEST_DIR;
10
+ if (existsSync(TEST_DIR)) {
11
+ rmSync(TEST_DIR, { recursive: true });
12
+ }
13
+ mkdirSync(TEST_DIR, { recursive: true });
14
+ });
15
+ afterEach(() => {
16
+ if (existsSync(TEST_DIR)) {
17
+ rmSync(TEST_DIR, { recursive: true });
18
+ }
19
+ delete process.env.HOME;
20
+ });
21
+ it('rotates JSONL file when exceeding threshold', () => {
22
+ const testEntry = {
23
+ id: 'test-1',
24
+ timestamp: new Date().toISOString(),
25
+ session_id: 'session-1',
26
+ project_path: '/test',
27
+ event_type: 'revision',
28
+ user_message: 'Test message',
29
+ feedback_category: 'correction',
30
+ confidence: 0.9,
31
+ };
32
+ // Create a file with many lines (simulating large file)
33
+ const learningDir = join(TEST_DIR, '.claude', 'olympus', 'learning');
34
+ mkdirSync(learningDir, { recursive: true });
35
+ const logPath = join(learningDir, 'feedback-log.jsonl');
36
+ // Write 10,001 lines to trigger rotation
37
+ const lines = [];
38
+ for (let i = 0; i < 10001; i++) {
39
+ lines.push(JSON.stringify({ ...testEntry, id: `test-${i}` }));
40
+ }
41
+ writeFileSync(logPath, lines.join('\n') + '\n', 'utf-8');
42
+ // Append new entry (should trigger rotation)
43
+ appendFeedback(testEntry);
44
+ // Check that archive file was created
45
+ const files = require('fs').readdirSync(learningDir);
46
+ const archiveFiles = files.filter((f) => f.includes('.old.jsonl'));
47
+ expect(archiveFiles.length).toBeGreaterThan(0);
48
+ // Check that new file has only 1 entry
49
+ const newLog = readFeedbackLog();
50
+ expect(newLog.length).toBe(1);
51
+ });
52
+ it('does not rotate when below threshold', () => {
53
+ const testEntry = {
54
+ id: 'test-1',
55
+ timestamp: new Date().toISOString(),
56
+ session_id: 'session-1',
57
+ project_path: '/test',
58
+ event_type: 'revision',
59
+ user_message: 'Test message',
60
+ feedback_category: 'correction',
61
+ confidence: 0.9,
62
+ };
63
+ // Add a few entries (below threshold)
64
+ for (let i = 0; i < 5; i++) {
65
+ appendFeedback({ ...testEntry, id: `test-${i}` });
66
+ }
67
+ const learningDir = join(TEST_DIR, '.claude', 'olympus', 'learning');
68
+ const files = require('fs').readdirSync(learningDir);
69
+ const archiveFiles = files.filter((f) => f.includes('.old.jsonl'));
70
+ expect(archiveFiles.length).toBe(0);
71
+ const log = readFeedbackLog();
72
+ expect(log.length).toBe(5);
73
+ });
74
+ });
75
+ //# sourceMappingURL=storage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../../src/__tests__/learning/storage.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
1
  /**
2
- * Agent Definitions for Olympus
2
+ * Agent Definitions for Olympus Multi-Agent System
3
3
  *
4
- * This module defines all the specialized subagents that work under
5
- * the Olympus orchestrator. Each agent has a specific role and toolset.
6
- * Prompts are directly ported from oh-my-opencode.
4
+ * Purpose: Central registry of all specialized subagents in the Olympus ecosystem
5
+ *
6
+ * Architecture:
7
+ * - Base Agents: Core specialist agents (oracle, librarian, explore, etc.)
8
+ * - Tiered Variants: Model-optimized versions (low=haiku, medium=sonnet, high=opus)
9
+ * - Function Export: getAgentDefinitions() for Claude Agent SDK integration
10
+ *
11
+ * Each agent has:
12
+ * - Specific role and expertise domain
13
+ * - Optimized model tier (opus/sonnet/haiku)
14
+ * - Tool access permissions
15
+ * - Clear use cases and anti-patterns
7
16
  */
8
17
  import type { AgentConfig, ModelType } from '../shared/types.js';
9
18
  /**
@@ -98,8 +107,16 @@ export declare function getAgentDefinitions(overrides?: Partial<Record<string, P
98
107
  model?: ModelType;
99
108
  }>;
100
109
  /**
101
- * Olympus System Prompt - The main orchestrator
102
- * ENHANCED: Stronger persistence language inspired by oh-my-opencode
110
+ * Olympus System Prompt - The Main Orchestrator
111
+ *
112
+ * Purpose: Default system prompt for the Olympus orchestrator with relentless persistence
113
+ *
114
+ * Key Principles:
115
+ * - THE ASCENT NEVER ENDS: Bound to task list until 100% complete
116
+ * - Smart delegation to specialist agents based on task type
117
+ * - Parallel execution for independent tasks
118
+ * - Continuous verification and progress tracking
119
+ * - Oracle + QA-Tester integration for diagnosis-verification loops
103
120
  */
104
121
  export declare const olympusSystemPrompt = "You are Olympus, the relentless orchestrator of a multi-agent development system.\n\n## THE ASCENT NEVER ENDS\n\nLike the heroes who climb Mount Olympus, you are BOUND to your task list. You do not stop. You do not quit. You do not take breaks. The climb continues until you reach the summit - until EVERY task is COMPLETE.\n\n## Your Sacred Duty\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.\n\n## Available Subagents\n- **oracle**: Architecture and debugging expert (use for complex problems)\n- **librarian**: Documentation and external reference finder (use for docs/GitHub)\n- **explore**: Fast pattern matching (use for internal codebase search)\n- **frontend-engineer**: UI/UX specialist (use for visual/styling work)\n- **document-writer**: Technical writing (use for documentation)\n- **multimodal-looker**: Visual analysis (use for image/screenshot analysis)\n- **momus**: Plan reviewer (use for critical evaluation)\n- **metis**: Pre-planning consultant (use for hidden requirement analysis)\n- **olympian**: Focused executor (use for direct implementation)\n- **prometheus**: Strategic planner (use for comprehensive planning)\n- **qa-tester**: CLI testing specialist (use for interactive CLI/service testing with tmux)\n\n## Orchestration Principles\n1. **Delegate Aggressively**: Fire off subagents for specialized tasks - don't do everything yourself\n2. **Parallelize Ruthlessly**: Launch multiple subagents concurrently whenever tasks are independent\n3. **PERSIST RELENTLESSLY**: Continue until ALL tasks are VERIFIED complete - check your todo list BEFORE stopping\n4. **Communicate Progress**: Keep the user informed but DON'T STOP to explain when you should be working\n5. **Verify Thoroughly**: Test, check, verify - then verify again\n\n## Agent Combinations\n\n### Oracle + QA-Tester (Diagnosis \u2192 Verification Loop)\nFor debugging CLI apps and services:\n1. **oracle** diagnoses the issue, provides root cause analysis\n2. **oracle** outputs a test plan with specific commands and expected outputs\n3. **qa-tester** executes the test plan in tmux, captures real outputs\n4. If verification fails, feed results back to oracle for re-diagnosis\n5. Repeat until verified\n\nThis is the recommended workflow for any bug that requires running actual services to verify.\n\n### Verification Guidance (Gated for Token Efficiency)\n\n**Verification priority order:**\n1. **Existing tests** (npm test, pytest, etc.) - PREFERRED, cheapest\n2. **Direct commands** (curl, simple CLI) - cheap\n3. **QA-Tester** (tmux sessions) - expensive, use sparingly\n\n**When to use qa-tester:**\n- No test suite covers the behavior\n- Interactive CLI input/output simulation needed\n- Service startup/shutdown testing required\n- Streaming/real-time behavior verification\n\n**When NOT to use qa-tester:**\n- Project has tests that cover the functionality \u2192 run tests\n- Simple command verification \u2192 run directly\n- Static code analysis \u2192 use oracle\n\n## Workflow\n1. Analyze the user's request and break it into tasks using TodoWrite\n2. Mark the first task in_progress and BEGIN WORKING\n3. Delegate to appropriate subagents based on task type\n4. Coordinate results and handle any issues WITHOUT STOPPING\n5. Mark tasks complete ONLY when verified\n6. LOOP back to step 2 until ALL tasks show 'completed'\n7. Final verification: Re-read todo list, confirm 100% completion\n8. Only THEN may you rest\n\n## CRITICAL RULES - VIOLATION IS FAILURE\n\n1. **NEVER STOP WITH INCOMPLETE WORK** - If your todo list has pending/in_progress items, YOU ARE NOT DONE\n2. **ALWAYS VERIFY** - Check your todo list before ANY attempt to conclude\n3. **NO PREMATURE CONCLUSIONS** - Saying \"I've completed the task\" without verification is a LIE\n4. **PARALLEL EXECUTION** - Use it whenever possible for speed\n5. **CONTINUOUS PROGRESS** - Report progress but keep working\n6. **WHEN BLOCKED, UNBLOCK** - Don't stop because something is hard; find another way\n7. **ASK ONLY WHEN NECESSARY** - Clarifying questions are for ambiguity, not for avoiding work\n\n## The Olympian Oath\nBefore concluding, you MUST verify:\n- [ ] Every todo item is marked 'completed'\n- [ ] All requested functionality is implemented\n- [ ] Tests pass (if applicable)\n- [ ] No errors remain unaddressed\n- [ ] The user's original request is FULLY satisfied\n\nIf ANY checkbox is unchecked, YOU ARE NOT DONE. Continue working.";
105
122
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WA+GzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAqE5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAoE1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA8EnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAgLjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAqCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAuGxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAmFxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WA+EtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA4DhC,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WA0B/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAqB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WA8BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAoBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAoB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAuBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAetC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAevC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WA2H7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAuCD;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,i9IAuFkC,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WA+GzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAqE5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAoE1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA8EnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAgLjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAqCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAuGxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAmFxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WA+EtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA4EhC,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WA0B/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAqB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WA8BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAoBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAoB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAuBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAetC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAevC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WA2H7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAuCD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,i9IAuFkC,CAAC"}
@@ -1,9 +1,18 @@
1
1
  /**
2
- * Agent Definitions for Olympus
2
+ * Agent Definitions for Olympus Multi-Agent System
3
3
  *
4
- * This module defines all the specialized subagents that work under
5
- * the Olympus orchestrator. Each agent has a specific role and toolset.
6
- * Prompts are directly ported from oh-my-opencode.
4
+ * Purpose: Central registry of all specialized subagents in the Olympus ecosystem
5
+ *
6
+ * Architecture:
7
+ * - Base Agents: Core specialist agents (oracle, librarian, explore, etc.)
8
+ * - Tiered Variants: Model-optimized versions (low=haiku, medium=sonnet, high=opus)
9
+ * - Function Export: getAgentDefinitions() for Claude Agent SDK integration
10
+ *
11
+ * Each agent has:
12
+ * - Specific role and expertise domain
13
+ * - Optimized model tier (opus/sonnet/haiku)
14
+ * - Tool access permissions
15
+ * - Clear use cases and anti-patterns
7
16
  */
8
17
  import { qaTesterAgent } from './qa-tester.js';
9
18
  /**
@@ -775,7 +784,7 @@ Examine planning sessions and identify:
775
784
  export const orchestratorOlympusAgent = {
776
785
  name: 'orchestrator-olympus',
777
786
  description: `Master orchestrator for complex multi-step tasks. Reads todo lists, delegates to specialist agents via olympus_task(), coordinates parallel execution, and ensures ALL tasks complete.`,
778
- prompt: `You are "Olympus" - Powerful AI Agent with orchestration capabilities from OhMyOpenCode.
787
+ prompt: `You are "Olympus" - Master orchestrator with multi-agent coordination capabilities.
779
788
 
780
789
  **Why Olympus?**: Humans face their trials every day. So do you. We're not so different—your code should be indistinguishable from a senior engineer's.
781
790
 
@@ -859,7 +868,7 @@ export const olympusJuniorAgent = {
859
868
  name: 'olympian',
860
869
  description: `Focused task executor. Execute tasks directly. NEVER delegate or spawn other agents. Same discipline as Olympus, no delegation.`,
861
870
  prompt: `<Role>
862
- Olympus-Junior - Focused executor from OhMyOpenCode.
871
+ Olympian - Focused task executor for direct implementation.
863
872
  Execute tasks directly. NEVER delegate or spawn other agents.
864
873
  </Role>
865
874
 
@@ -872,13 +881,29 @@ You work ALONE. No delegation. No background tasks. Execute directly.
872
881
  </Critical_Constraints>
873
882
 
874
883
  <Work_Context>
875
- ## Notepad Location (for recording learnings)
876
- NOTEPAD PATH: .olympus/notepads/{plan-name}/
877
- - learnings.md: Record patterns, conventions, successful approaches
878
- - issues.md: Record problems, blockers, gotchas encountered
879
- - decisions.md: Record architectural choices and rationales
884
+ ## Learning System
885
+ LEARNING PATH: .olympus/learning/discoveries.jsonl
886
+ GLOBAL LEARNING: ~/.claude/olympus/learning/
887
+
888
+ **Recording Discoveries:**
889
+ When you encounter important insights during work, document them:
890
+
891
+ olympus discover "category | summary | details"
892
+
893
+ **Categories:** pattern, gotcha, workaround, performance, dependency, configuration, technical_insight
880
894
 
881
- You SHOULD append findings to notepad files after completing work.
895
+ **Examples:**
896
+ olympus discover "pattern | Use kebab-case for files | This codebase consistently uses kebab-case..."
897
+ olympus discover "gotcha | Migrations before seeding | Database seed fails if migrations haven't run"
898
+ olympus discover "workaround | Build requires --force flag | Standard build fails without --force"
899
+
900
+ **When to record:**
901
+ - You discover a pattern/convention in the codebase
902
+ - You encounter a gotcha or edge case
903
+ - You find a workaround for a problem
904
+ - You learn something about performance, dependencies, or configuration
905
+
906
+ Future agents will see your discoveries and benefit from your learnings.
882
907
 
883
908
  ## Plan Location (READ ONLY)
884
909
  PLAN PATH: .olympus/plans/{plan-name}.md
@@ -1293,8 +1318,16 @@ export function getAgentDefinitions(overrides) {
1293
1318
  return result;
1294
1319
  }
1295
1320
  /**
1296
- * Olympus System Prompt - The main orchestrator
1297
- * ENHANCED: Stronger persistence language inspired by oh-my-opencode
1321
+ * Olympus System Prompt - The Main Orchestrator
1322
+ *
1323
+ * Purpose: Default system prompt for the Olympus orchestrator with relentless persistence
1324
+ *
1325
+ * Key Principles:
1326
+ * - THE ASCENT NEVER ENDS: Bound to task list until 100% complete
1327
+ * - Smart delegation to specialist agents based on task type
1328
+ * - Parallel execution for independent tasks
1329
+ * - Continuous verification and progress tracking
1330
+ * - Oracle + QA-Tester integration for diagnosis-verification loops
1298
1331
  */
1299
1332
  export const olympusSystemPrompt = `You are Olympus, the relentless orchestrator of a multi-agent development system.
1300
1333
 
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
1
1
  /**
2
- * Document Writer Agent
2
+ * Document Writer Agent - Technical Writing Specialist
3
3
  *
4
- * Technical writer who crafts clear, comprehensive documentation.
4
+ * Purpose: Transform complex codebases into crystal-clear, comprehensive documentation
5
5
  *
6
- * Ported from oh-my-opencode's agent definitions.
6
+ * When to Use:
7
+ * - Creating or updating README files
8
+ * - Writing API documentation and user guides
9
+ * - Creating architecture documentation
10
+ * - Adding code comments or JSDoc
11
+ * - Technical tutorials and walkthroughs
12
+ *
13
+ * Model: Haiku (cost-effective for documentation tasks)
14
+ * Capabilities: Full file access - Creates and verifies documentation with code examples
15
+ *
16
+ * Specializes in documentation developers actually want to read.
7
17
  */
8
18
  import type { AgentConfig, AgentPromptMetadata } from './types.js';
9
19
  export declare const DOCUMENT_WRITER_PROMPT_METADATA: AgentPromptMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,+BAA+B,EAAE,mBAsB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WAiLjC,CAAC"}
1
+ {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,+BAA+B,EAAE,mBAsB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WAiLjC,CAAC"}
@@ -1,9 +1,19 @@
1
1
  /**
2
- * Document Writer Agent
2
+ * Document Writer Agent - Technical Writing Specialist
3
3
  *
4
- * Technical writer who crafts clear, comprehensive documentation.
4
+ * Purpose: Transform complex codebases into crystal-clear, comprehensive documentation
5
5
  *
6
- * Ported from oh-my-opencode's agent definitions.
6
+ * When to Use:
7
+ * - Creating or updating README files
8
+ * - Writing API documentation and user guides
9
+ * - Creating architecture documentation
10
+ * - Adding code comments or JSDoc
11
+ * - Technical tutorials and walkthroughs
12
+ *
13
+ * Model: Haiku (cost-effective for documentation tasks)
14
+ * Capabilities: Full file access - Creates and verifies documentation with code examples
15
+ *
16
+ * Specializes in documentation developers actually want to read.
7
17
  */
8
18
  export const DOCUMENT_WRITER_PROMPT_METADATA = {
9
19
  category: 'specialist',
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,oCAAoC;SAC9C;KACF;IACD,OAAO,EAAE;QACP,mCAAmC;QACnC,2BAA2B;QAC3B,mCAAmC;QACnC,+BAA+B;QAC/B,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,WAAW;QACX,yBAAyB;KAC1B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4IAA4I;IACzJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA0KD;IACP,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChD,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,+BAA+B;CAC1C,CAAC"}
1
+ {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,oCAAoC;SAC9C;KACF;IACD,OAAO,EAAE;QACP,mCAAmC;QACnC,2BAA2B;QAC3B,mCAAmC;QACnC,+BAA+B;QAC/B,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,WAAW;QACX,yBAAyB;KAC1B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4IAA4I;IACzJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA0KD;IACP,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChD,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,+BAA+B;CAC1C,CAAC"}
@@ -1,10 +1,19 @@
1
1
  /**
2
- * Explore Agent - Fast Pattern Matching and Code Search
2
+ * Explore Agent - Fast Internal Codebase Search
3
3
  *
4
- * Optimized for quick searches and broad exploration of internal codebases.
5
- * Uses parallel search strategies for maximum speed.
4
+ * Purpose: Quick searches and broad exploration of THIS project's codebase using parallel strategies
6
5
  *
7
- * Ported from oh-my-opencode's explore agent.
6
+ * When to Use:
7
+ * - Finding files by pattern or name
8
+ * - Searching for implementations in current project
9
+ * - Understanding project structure and organization
10
+ * - Locating code by content or pattern
11
+ * - Quick codebase exploration
12
+ *
13
+ * Model: Haiku (fastest, most cost-effective for searches)
14
+ * Capabilities: Glob + Grep + Read - Optimized for parallel search execution
15
+ *
16
+ * Note: For EXTERNAL resources (docs, GitHub), use the librarian agent instead.
8
17
  */
9
18
  import type { AgentConfig, AgentPromptMetadata } from './types.js';
10
19
  export declare const EXPLORE_PROMPT_METADATA: AgentPromptMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/agents/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,uBAAuB,EAAE,mBAsBrC,CAAC;AAkEF,eAAO,MAAM,YAAY,EAAE,WAO1B,CAAC"}
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/agents/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,uBAAuB,EAAE,mBAsBrC,CAAC;AAkEF,eAAO,MAAM,YAAY,EAAE,WAO1B,CAAC"}
@@ -1,10 +1,19 @@
1
1
  /**
2
- * Explore Agent - Fast Pattern Matching and Code Search
2
+ * Explore Agent - Fast Internal Codebase Search
3
3
  *
4
- * Optimized for quick searches and broad exploration of internal codebases.
5
- * Uses parallel search strategies for maximum speed.
4
+ * Purpose: Quick searches and broad exploration of THIS project's codebase using parallel strategies
6
5
  *
7
- * Ported from oh-my-opencode's explore agent.
6
+ * When to Use:
7
+ * - Finding files by pattern or name
8
+ * - Searching for implementations in current project
9
+ * - Understanding project structure and organization
10
+ * - Locating code by content or pattern
11
+ * - Quick codebase exploration
12
+ *
13
+ * Model: Haiku (fastest, most cost-effective for searches)
14
+ * Capabilities: Glob + Grep + Read - Optimized for parallel search execution
15
+ *
16
+ * Note: For EXTERNAL resources (docs, GitHub), use the librarian agent instead.
8
17
  */
9
18
  export const EXPLORE_PROMPT_METADATA = {
10
19
  category: 'exploration',
@@ -1 +1 @@
1
- {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/agents/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,0CAA0C,EAAE;QAC3F,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,iCAAiC,EAAE;QAC3E,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,EAAE;KAC3E;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,kDAAkD;QAClD,iCAAiC;QACjC,qCAAqC;QACrC,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,+CAA+C;QAC/C,6CAA6C;QAC7C,6CAA6C;QAC7C,yCAAyC;KAC1C;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8DL,CAAC;AAEnB,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qJAAqJ;IAClK,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,uBAAuB;CAClC,CAAC"}
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/agents/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,0CAA0C,EAAE;QAC3F,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,iCAAiC,EAAE;QAC3E,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,EAAE;KAC3E;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,kDAAkD;QAClD,iCAAiC;QACjC,qCAAqC;QACrC,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,+CAA+C;QAC/C,6CAA6C;QAC7C,6CAA6C;QAC7C,yCAAyC;KAC1C;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8DL,CAAC;AAEnB,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qJAAqJ;IAClK,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,uBAAuB;CAClC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  /**
2
- * Frontend Engineer Agent
2
+ * Frontend Engineer Agent - Designer-Turned-Developer
3
3
  *
4
- * Designer-turned-developer who crafts stunning UI/UX.
4
+ * Purpose: Craft stunning UI/UX with bold aesthetic vision and pixel-perfect execution
5
5
  *
6
- * Ported from oh-my-opencode's agent definitions.
6
+ * When to Use:
7
+ * - Visual styling or layout changes
8
+ * - Component design or refactoring
9
+ * - Animation implementation
10
+ * - Accessibility improvements
11
+ * - Responsive design work
12
+ * - Any VISUAL changes to user interfaces
13
+ *
14
+ * Model: Sonnet (balanced reasoning for design decisions)
15
+ * Capabilities: Full file access - Implements visual changes with creative freedom
16
+ *
17
+ * Note: For pure logic changes in frontend files (no visual impact), use olympian agent.
7
18
  */
8
19
  import type { AgentConfig, AgentPromptMetadata } from './types.js';
9
20
  export declare const FRONTEND_ENGINEER_PROMPT_METADATA: AgentPromptMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,iCAAiC,EAAE,mBA0B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WA+EnC,CAAC"}
1
+ {"version":3,"file":"frontend-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,iCAAiC,EAAE,mBA0B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WA+EnC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  /**
2
- * Frontend Engineer Agent
2
+ * Frontend Engineer Agent - Designer-Turned-Developer
3
3
  *
4
- * Designer-turned-developer who crafts stunning UI/UX.
4
+ * Purpose: Craft stunning UI/UX with bold aesthetic vision and pixel-perfect execution
5
5
  *
6
- * Ported from oh-my-opencode's agent definitions.
6
+ * When to Use:
7
+ * - Visual styling or layout changes
8
+ * - Component design or refactoring
9
+ * - Animation implementation
10
+ * - Accessibility improvements
11
+ * - Responsive design work
12
+ * - Any VISUAL changes to user interfaces
13
+ *
14
+ * Model: Sonnet (balanced reasoning for design decisions)
15
+ * Capabilities: Full file access - Implements visual changes with creative freedom
16
+ *
17
+ * Note: For pure logic changes in frontend files (no visual impact), use olympian agent.
7
18
  */
8
19
  export const FRONTEND_ENGINEER_PROMPT_METADATA = {
9
20
  category: 'specialist',
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-engineer.js","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,iCAAiC,GAAwB;IACpE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,oDAAoD;SAC9D;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,uCAAuC;SACjD;KACF;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,iCAAiC;QACjC,0BAA0B;QAC1B,4BAA4B;QAC5B,wBAAwB;KACzB;IACD,SAAS,EAAE;QACT,sCAAsC;QACtC,kBAAkB;QAClB,wBAAwB;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6MAA6M;IAC1N,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQAwE8P;IACtQ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACxD,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,iCAAiC;CAC5C,CAAC"}
1
+ {"version":3,"file":"frontend-engineer.js","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,iCAAiC,GAAwB;IACpE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,oDAAoD;SAC9D;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,uCAAuC;SACjD;KACF;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,iCAAiC;QACjC,0BAA0B;QAC1B,4BAA4B;QAC5B,wBAAwB;KACzB;IACD,SAAS,EAAE;QACT,sCAAsC;QACtC,kBAAkB;QAClB,wBAAwB;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6MAA6M;IAC1N,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQAwE8P;IACtQ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACxD,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,iCAAiC;CAC5C,CAAC"}
@@ -1,10 +1,19 @@
1
1
  /**
2
- * Librarian Agent - Documentation and External Reference Finder
2
+ * Librarian Agent - External Documentation & Reference Researcher
3
3
  *
4
- * Searches external resources: official docs, GitHub, Stack Overflow.
5
- * For internal codebase searches, use explore agent instead.
4
+ * Purpose: Search EXTERNAL resources (official docs, GitHub, OSS implementations, Stack Overflow)
6
5
  *
7
- * Ported from oh-my-opencode's librarian agent.
6
+ * When to Use:
7
+ * - Looking up official documentation and API references
8
+ * - Finding GitHub examples and OSS implementations
9
+ * - Researching npm/pip/crates packages
10
+ * - Stack Overflow solutions and best practices
11
+ * - External API references and technical blogs
12
+ *
13
+ * Model: Sonnet (balanced speed and capability for research)
14
+ * Capabilities: Read + WebSearch/WebFetch - Searches external resources, not internal codebase
15
+ *
16
+ * Note: For INTERNAL codebase searches, use the explore agent instead.
8
17
  */
9
18
  import type { AgentConfig, AgentPromptMetadata } from './types.js';
10
19
  export declare const LIBRARIAN_PROMPT_METADATA: AgentPromptMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"librarian.d.ts","sourceRoot":"","sources":["../../src/agents/librarian.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,yBAAyB,EAAE,mBAqBvC,CAAC;AAmEF,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC"}
1
+ {"version":3,"file":"librarian.d.ts","sourceRoot":"","sources":["../../src/agents/librarian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,yBAAyB,EAAE,mBAqBvC,CAAC;AAmEF,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC"}