@rulemetric/cli 0.1.1 → 0.2.1

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 (259) hide show
  1. package/README.md +66 -0
  2. package/dist/base-command.d.ts.map +1 -1
  3. package/dist/base-command.js +15 -0
  4. package/dist/base-command.js.map +1 -1
  5. package/dist/commands/auth/login.d.ts.map +1 -1
  6. package/dist/commands/auth/login.js +7 -0
  7. package/dist/commands/auth/login.js.map +1 -1
  8. package/dist/commands/crons/list.d.ts +7 -0
  9. package/dist/commands/crons/list.d.ts.map +1 -0
  10. package/dist/commands/crons/list.js +24 -0
  11. package/dist/commands/crons/list.js.map +1 -0
  12. package/dist/commands/crons/run.d.ts +13 -0
  13. package/dist/commands/crons/run.d.ts.map +1 -0
  14. package/dist/commands/crons/run.js +48 -0
  15. package/dist/commands/crons/run.js.map +1 -0
  16. package/dist/commands/evals/listen.d.ts +28 -2
  17. package/dist/commands/evals/listen.d.ts.map +1 -1
  18. package/dist/commands/evals/listen.js +159 -25
  19. package/dist/commands/evals/listen.js.map +1 -1
  20. package/dist/commands/evals/listen.test.d.ts +2 -0
  21. package/dist/commands/evals/listen.test.d.ts.map +1 -0
  22. package/dist/commands/evals/listen.test.js +48 -0
  23. package/dist/commands/evals/listen.test.js.map +1 -0
  24. package/dist/commands/gateway/ensure.js +1 -1
  25. package/dist/commands/gateway/ensure.js.map +1 -1
  26. package/dist/commands/hooks/install.d.ts.map +1 -1
  27. package/dist/commands/hooks/install.js +40 -3
  28. package/dist/commands/hooks/install.js.map +1 -1
  29. package/dist/commands/hooks/run.js +1 -1
  30. package/dist/commands/hooks/run.js.map +1 -1
  31. package/dist/commands/hooks/uninstall.d.ts.map +1 -1
  32. package/dist/commands/hooks/uninstall.js +9 -1
  33. package/dist/commands/hooks/uninstall.js.map +1 -1
  34. package/dist/commands/org/current.d.ts +7 -0
  35. package/dist/commands/org/current.d.ts.map +1 -0
  36. package/dist/commands/org/current.js +70 -0
  37. package/dist/commands/org/current.js.map +1 -0
  38. package/dist/commands/org/list.d.ts +7 -0
  39. package/dist/commands/org/list.d.ts.map +1 -0
  40. package/dist/commands/org/list.js +37 -0
  41. package/dist/commands/org/list.js.map +1 -0
  42. package/dist/commands/org/switch.d.ts +13 -0
  43. package/dist/commands/org/switch.d.ts.map +1 -0
  44. package/dist/commands/org/switch.js +52 -0
  45. package/dist/commands/org/switch.js.map +1 -0
  46. package/dist/commands/proxy/restart.d.ts +11 -0
  47. package/dist/commands/proxy/restart.d.ts.map +1 -0
  48. package/dist/commands/proxy/restart.js +36 -0
  49. package/dist/commands/proxy/restart.js.map +1 -0
  50. package/dist/commands/proxy/start.d.ts.map +1 -1
  51. package/dist/commands/proxy/start.js +4 -0
  52. package/dist/commands/proxy/start.js.map +1 -1
  53. package/dist/commands/service/install.d.ts +16 -0
  54. package/dist/commands/service/install.d.ts.map +1 -1
  55. package/dist/commands/service/install.js +145 -6
  56. package/dist/commands/service/install.js.map +1 -1
  57. package/dist/commands/service/uninstall.d.ts.map +1 -1
  58. package/dist/commands/service/uninstall.js +28 -0
  59. package/dist/commands/service/uninstall.js.map +1 -1
  60. package/dist/commands/sessions/start.d.ts.map +1 -1
  61. package/dist/commands/sessions/start.js +5 -0
  62. package/dist/commands/sessions/start.js.map +1 -1
  63. package/dist/commands/signals/report.d.ts +10 -0
  64. package/dist/commands/signals/report.d.ts.map +1 -0
  65. package/dist/commands/signals/report.js +35 -0
  66. package/dist/commands/signals/report.js.map +1 -0
  67. package/dist/commands/signals/report.test.d.ts +2 -0
  68. package/dist/commands/signals/report.test.d.ts.map +1 -0
  69. package/dist/commands/signals/report.test.js +65 -0
  70. package/dist/commands/signals/report.test.js.map +1 -0
  71. package/dist/commands/skills/export-approved.d.ts +10 -0
  72. package/dist/commands/skills/export-approved.d.ts.map +1 -0
  73. package/dist/commands/skills/export-approved.js +31 -0
  74. package/dist/commands/skills/export-approved.js.map +1 -0
  75. package/dist/commands/skills/publish.d.ts +17 -0
  76. package/dist/commands/skills/publish.d.ts.map +1 -0
  77. package/dist/commands/skills/publish.js +80 -0
  78. package/dist/commands/skills/publish.js.map +1 -0
  79. package/dist/commands/skills/update.d.ts +3 -0
  80. package/dist/commands/skills/update.d.ts.map +1 -1
  81. package/dist/commands/skills/update.js +17 -6
  82. package/dist/commands/skills/update.js.map +1 -1
  83. package/dist/commands/suggestions/accept.d.ts +16 -0
  84. package/dist/commands/suggestions/accept.d.ts.map +1 -0
  85. package/dist/commands/suggestions/accept.js +61 -0
  86. package/dist/commands/suggestions/accept.js.map +1 -0
  87. package/dist/commands/suggestions/accept.test.d.ts +2 -0
  88. package/dist/commands/suggestions/accept.test.d.ts.map +1 -0
  89. package/dist/commands/suggestions/accept.test.js +52 -0
  90. package/dist/commands/suggestions/accept.test.js.map +1 -0
  91. package/dist/commands/suggestions/dismiss.d.ts +10 -0
  92. package/dist/commands/suggestions/dismiss.d.ts.map +1 -0
  93. package/dist/commands/suggestions/dismiss.js +26 -0
  94. package/dist/commands/suggestions/dismiss.js.map +1 -0
  95. package/dist/commands/suggestions/list.d.ts +10 -0
  96. package/dist/commands/suggestions/list.d.ts.map +1 -0
  97. package/dist/commands/suggestions/list.js +40 -0
  98. package/dist/commands/suggestions/list.js.map +1 -0
  99. package/dist/commands/suggestions/refresh.d.ts +7 -0
  100. package/dist/commands/suggestions/refresh.d.ts.map +1 -0
  101. package/dist/commands/suggestions/refresh.js +11 -0
  102. package/dist/commands/suggestions/refresh.js.map +1 -0
  103. package/dist/dashboard/Dashboard.d.ts.map +1 -1
  104. package/dist/dashboard/Dashboard.js +7 -1
  105. package/dist/dashboard/Dashboard.js.map +1 -1
  106. package/dist/lib/active-org-refresh.d.ts +22 -0
  107. package/dist/lib/active-org-refresh.d.ts.map +1 -0
  108. package/dist/lib/active-org-refresh.js +108 -0
  109. package/dist/lib/active-org-refresh.js.map +1 -0
  110. package/dist/lib/active-org-refresh.test.d.ts +2 -0
  111. package/dist/lib/active-org-refresh.test.d.ts.map +1 -0
  112. package/dist/lib/active-org-refresh.test.js +190 -0
  113. package/dist/lib/active-org-refresh.test.js.map +1 -0
  114. package/dist/lib/active-org.d.ts +43 -0
  115. package/dist/lib/active-org.d.ts.map +1 -0
  116. package/dist/lib/active-org.js +96 -0
  117. package/dist/lib/active-org.js.map +1 -0
  118. package/dist/lib/active-org.test.d.ts +2 -0
  119. package/dist/lib/active-org.test.d.ts.map +1 -0
  120. package/dist/lib/active-org.test.js +147 -0
  121. package/dist/lib/active-org.test.js.map +1 -0
  122. package/dist/lib/cron-registry.d.ts +47 -0
  123. package/dist/lib/cron-registry.d.ts.map +1 -0
  124. package/dist/lib/cron-registry.js +102 -0
  125. package/dist/lib/cron-registry.js.map +1 -0
  126. package/dist/lib/cron-registry.test.d.ts +2 -0
  127. package/dist/lib/cron-registry.test.d.ts.map +1 -0
  128. package/dist/lib/cron-registry.test.js +136 -0
  129. package/dist/lib/cron-registry.test.js.map +1 -0
  130. package/dist/lib/cron-runner.d.ts +16 -0
  131. package/dist/lib/cron-runner.d.ts.map +1 -0
  132. package/dist/lib/cron-runner.js +68 -0
  133. package/dist/lib/cron-runner.js.map +1 -0
  134. package/dist/lib/detect-languages.d.ts +7 -0
  135. package/dist/lib/detect-languages.d.ts.map +1 -0
  136. package/dist/lib/detect-languages.js +113 -0
  137. package/dist/lib/detect-languages.js.map +1 -0
  138. package/dist/lib/detect-languages.test.d.ts +2 -0
  139. package/dist/lib/detect-languages.test.d.ts.map +1 -0
  140. package/dist/lib/detect-languages.test.js +29 -0
  141. package/dist/lib/detect-languages.test.js.map +1 -0
  142. package/dist/lib/eval-executor.d.ts.map +1 -1
  143. package/dist/lib/eval-executor.js +5 -2
  144. package/dist/lib/eval-executor.js.map +1 -1
  145. package/dist/lib/gateway-entry.js +4 -1
  146. package/dist/lib/gateway-entry.js.map +1 -1
  147. package/dist/lib/gateway-lifecycle.d.ts +1 -1
  148. package/dist/lib/gateway-lifecycle.d.ts.map +1 -1
  149. package/dist/lib/gateway-lifecycle.js +13 -2
  150. package/dist/lib/gateway-lifecycle.js.map +1 -1
  151. package/dist/lib/gateway.d.ts +4 -5
  152. package/dist/lib/gateway.d.ts.map +1 -1
  153. package/dist/lib/gateway.js +68 -2
  154. package/dist/lib/gateway.js.map +1 -1
  155. package/dist/lib/graphile-worker-runner.d.ts +124 -0
  156. package/dist/lib/graphile-worker-runner.d.ts.map +1 -0
  157. package/dist/lib/graphile-worker-runner.js +530 -0
  158. package/dist/lib/graphile-worker-runner.js.map +1 -0
  159. package/dist/lib/graphile-worker-runner.test.d.ts +2 -0
  160. package/dist/lib/graphile-worker-runner.test.d.ts.map +1 -0
  161. package/dist/lib/graphile-worker-runner.test.js +153 -0
  162. package/dist/lib/graphile-worker-runner.test.js.map +1 -0
  163. package/dist/lib/handlers/cron-close-stale-sessions.d.ts +3 -0
  164. package/dist/lib/handlers/cron-close-stale-sessions.d.ts.map +1 -0
  165. package/dist/lib/handlers/cron-close-stale-sessions.js +8 -0
  166. package/dist/lib/handlers/cron-close-stale-sessions.js.map +1 -0
  167. package/dist/lib/handlers/cron-data-integrity-audit.d.ts +3 -0
  168. package/dist/lib/handlers/cron-data-integrity-audit.d.ts.map +1 -0
  169. package/dist/lib/handlers/cron-data-integrity-audit.js +16 -0
  170. package/dist/lib/handlers/cron-data-integrity-audit.js.map +1 -0
  171. package/dist/lib/handlers/cron-refresh-skills.d.ts +3 -0
  172. package/dist/lib/handlers/cron-refresh-skills.d.ts.map +1 -0
  173. package/dist/lib/handlers/cron-refresh-skills.js +91 -0
  174. package/dist/lib/handlers/cron-refresh-skills.js.map +1 -0
  175. package/dist/lib/handlers/cron-refresh-skills.test.d.ts +2 -0
  176. package/dist/lib/handlers/cron-refresh-skills.test.d.ts.map +1 -0
  177. package/dist/lib/handlers/cron-refresh-skills.test.js +114 -0
  178. package/dist/lib/handlers/cron-refresh-skills.test.js.map +1 -0
  179. package/dist/lib/handlers/cron-regenerate-insights.d.ts +3 -0
  180. package/dist/lib/handlers/cron-regenerate-insights.d.ts.map +1 -0
  181. package/dist/lib/handlers/cron-regenerate-insights.js +6 -0
  182. package/dist/lib/handlers/cron-regenerate-insights.js.map +1 -0
  183. package/dist/lib/handlers/cron-suggest-instructions.d.ts +3 -0
  184. package/dist/lib/handlers/cron-suggest-instructions.d.ts.map +1 -0
  185. package/dist/lib/handlers/cron-suggest-instructions.js +159 -0
  186. package/dist/lib/handlers/cron-suggest-instructions.js.map +1 -0
  187. package/dist/lib/handlers/cron-suggest-instructions.test.d.ts +2 -0
  188. package/dist/lib/handlers/cron-suggest-instructions.test.d.ts.map +1 -0
  189. package/dist/lib/handlers/cron-suggest-instructions.test.js +80 -0
  190. package/dist/lib/handlers/cron-suggest-instructions.test.js.map +1 -0
  191. package/dist/lib/handlers/process-conversation.d.ts +35 -0
  192. package/dist/lib/handlers/process-conversation.d.ts.map +1 -0
  193. package/dist/lib/handlers/process-conversation.js +35 -0
  194. package/dist/lib/handlers/process-conversation.js.map +1 -0
  195. package/dist/lib/handlers/process-eval.d.ts +32 -0
  196. package/dist/lib/handlers/process-eval.d.ts.map +1 -0
  197. package/dist/lib/handlers/process-eval.js +207 -0
  198. package/dist/lib/handlers/process-eval.js.map +1 -0
  199. package/dist/lib/handlers/process-insights.d.ts +39 -0
  200. package/dist/lib/handlers/process-insights.d.ts.map +1 -0
  201. package/dist/lib/handlers/process-insights.js +300 -0
  202. package/dist/lib/handlers/process-insights.js.map +1 -0
  203. package/dist/lib/handlers/process-launch.d.ts +29 -0
  204. package/dist/lib/handlers/process-launch.d.ts.map +1 -0
  205. package/dist/lib/handlers/process-launch.js +41 -0
  206. package/dist/lib/handlers/process-launch.js.map +1 -0
  207. package/dist/lib/handlers/process-session-goal.d.ts +29 -0
  208. package/dist/lib/handlers/process-session-goal.d.ts.map +1 -0
  209. package/dist/lib/handlers/process-session-goal.js +74 -0
  210. package/dist/lib/handlers/process-session-goal.js.map +1 -0
  211. package/dist/lib/handlers/process-session-goal.test.d.ts +2 -0
  212. package/dist/lib/handlers/process-session-goal.test.d.ts.map +1 -0
  213. package/dist/lib/handlers/process-session-goal.test.js +134 -0
  214. package/dist/lib/handlers/process-session-goal.test.js.map +1 -0
  215. package/dist/lib/hooks-config.d.ts +28 -4
  216. package/dist/lib/hooks-config.d.ts.map +1 -1
  217. package/dist/lib/hooks-config.js +138 -10
  218. package/dist/lib/hooks-config.js.map +1 -1
  219. package/dist/lib/llm-client.d.ts.map +1 -1
  220. package/dist/lib/llm-client.js +149 -16
  221. package/dist/lib/llm-client.js.map +1 -1
  222. package/dist/lib/mirror-writer-db.d.ts +12 -0
  223. package/dist/lib/mirror-writer-db.d.ts.map +1 -0
  224. package/dist/lib/mirror-writer-db.js +51 -0
  225. package/dist/lib/mirror-writer-db.js.map +1 -0
  226. package/dist/lib/mirror-writer.d.ts +35 -0
  227. package/dist/lib/mirror-writer.d.ts.map +1 -0
  228. package/dist/lib/mirror-writer.js +27 -0
  229. package/dist/lib/mirror-writer.js.map +1 -0
  230. package/dist/lib/mirror-writer.test.d.ts +2 -0
  231. package/dist/lib/mirror-writer.test.d.ts.map +1 -0
  232. package/dist/lib/mirror-writer.test.js +47 -0
  233. package/dist/lib/mirror-writer.test.js.map +1 -0
  234. package/dist/lib/permanent-job-error.d.ts +17 -0
  235. package/dist/lib/permanent-job-error.d.ts.map +1 -0
  236. package/dist/lib/permanent-job-error.js +23 -0
  237. package/dist/lib/permanent-job-error.js.map +1 -0
  238. package/dist/lib/permanent-job-error.test.d.ts +2 -0
  239. package/dist/lib/permanent-job-error.test.d.ts.map +1 -0
  240. package/dist/lib/permanent-job-error.test.js +29 -0
  241. package/dist/lib/permanent-job-error.test.js.map +1 -0
  242. package/dist/lib/version-check.d.ts +11 -0
  243. package/dist/lib/version-check.d.ts.map +1 -0
  244. package/dist/lib/version-check.js +106 -0
  245. package/dist/lib/version-check.js.map +1 -0
  246. package/oclif.manifest.json +611 -81
  247. package/package.json +21 -5
  248. package/dist/commands/insights/sync.d.ts +0 -17
  249. package/dist/commands/insights/sync.d.ts.map +0 -1
  250. package/dist/commands/insights/sync.js +0 -477
  251. package/dist/commands/insights/sync.js.map +0 -1
  252. package/dist/lib/eval-worker.d.ts +0 -12
  253. package/dist/lib/eval-worker.d.ts.map +0 -1
  254. package/dist/lib/eval-worker.js +0 -395
  255. package/dist/lib/eval-worker.js.map +0 -1
  256. package/dist/lib/insights-worker.d.ts +0 -10
  257. package/dist/lib/insights-worker.d.ts.map +0 -1
  258. package/dist/lib/insights-worker.js +0 -329
  259. package/dist/lib/insights-worker.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { processSessionGoal } from './process-session-goal.js';
3
+ /**
4
+ * Fake db builder. Implements the chained methods we use:
5
+ * db.select().from(t).where(w).limit(n) → returns rows[0]
6
+ * db.select().from(t).where(w).orderBy(o).limit(n) → returns rows[1]
7
+ * db.execute(sql) → returns executeResult
8
+ * db.update(t).set(values).where(w) → records updateCall
9
+ */
10
+ function makeDb(opts) {
11
+ const updateCalls = [];
12
+ // We need to differentiate the two select() calls (session lookup vs events).
13
+ // Easiest is a counter.
14
+ let selectCallIndex = 0;
15
+ const db = {
16
+ select() {
17
+ const idx = selectCallIndex++;
18
+ const builder = {
19
+ from() {
20
+ return builder;
21
+ },
22
+ where() {
23
+ return builder;
24
+ },
25
+ orderBy() {
26
+ return builder;
27
+ },
28
+ limit() {
29
+ if (idx === 0) {
30
+ return Promise.resolve(opts.sessionRow ? [opts.sessionRow] : []);
31
+ }
32
+ return Promise.resolve(opts.eventRows ?? []);
33
+ },
34
+ // If a caller awaits without .limit() (events query), allow that too.
35
+ then(resolve, reject) {
36
+ if (idx === 0) {
37
+ return Promise.resolve(opts.sessionRow ? [opts.sessionRow] : []).then(resolve, reject);
38
+ }
39
+ return Promise.resolve(opts.eventRows ?? []).then(resolve, reject);
40
+ },
41
+ };
42
+ return builder;
43
+ },
44
+ execute() {
45
+ return Promise.resolve(opts.executeResult ?? [{ last_at: null }]);
46
+ },
47
+ update() {
48
+ const updateBuilder = {
49
+ set(values) {
50
+ updateCalls.push({ values });
51
+ return updateBuilder;
52
+ },
53
+ where() {
54
+ return Promise.resolve(undefined);
55
+ },
56
+ };
57
+ return updateBuilder;
58
+ },
59
+ };
60
+ return { db, updateCalls };
61
+ }
62
+ describe('processSessionGoal', () => {
63
+ const SID = '00000000-0000-0000-0000-000000000001';
64
+ const NOW = new Date('2026-06-02T12:00:00Z').getTime();
65
+ it('skips when last activity is stale (>30min ago) and does NOT call the LLM', async () => {
66
+ const staleAt = new Date(NOW - 31 * 60 * 1000).toISOString();
67
+ const { db, updateCalls } = makeDb({
68
+ sessionRow: {
69
+ id: SID,
70
+ startedAt: new Date(NOW - 60 * 60 * 1000),
71
+ analysis: null,
72
+ },
73
+ executeResult: [{ last_at: staleAt }],
74
+ });
75
+ const llm = vi.fn();
76
+ const result = await processSessionGoal({ sessionId: SID, milestone: 5 }, { db, llm: llm, now: () => NOW });
77
+ expect(result).toEqual({ skipped: 'stale' });
78
+ expect(llm).not.toHaveBeenCalled();
79
+ expect(updateCalls).toHaveLength(0);
80
+ });
81
+ it('skips when goalSummaryAt is within the last 5 min and does NOT call the LLM', async () => {
82
+ const recentlyGoaledAt = new Date(NOW - 60 * 1000).toISOString();
83
+ const lastActivityAt = new Date(NOW - 60 * 1000).toISOString();
84
+ const { db, updateCalls } = makeDb({
85
+ sessionRow: {
86
+ id: SID,
87
+ startedAt: new Date(NOW - 10 * 60 * 1000),
88
+ analysis: { goalSummaryAt: recentlyGoaledAt, goalSummary: 'old summary' },
89
+ },
90
+ executeResult: [{ last_at: lastActivityAt }],
91
+ });
92
+ const llm = vi.fn();
93
+ const result = await processSessionGoal({ sessionId: SID, milestone: 5 }, { db, llm: llm, now: () => NOW });
94
+ expect(result).toEqual({ skipped: 'recent' });
95
+ expect(llm).not.toHaveBeenCalled();
96
+ expect(updateCalls).toHaveLength(0);
97
+ });
98
+ it('happy path: calls LLM, writes merged analysis preserving existing keys', async () => {
99
+ const lastActivityAt = new Date(NOW - 60 * 1000).toISOString();
100
+ const existingAnalysis = {
101
+ outcome: 'success',
102
+ friction: 'none',
103
+ previousField: 'keep-me',
104
+ };
105
+ const { db, updateCalls } = makeDb({
106
+ sessionRow: {
107
+ id: SID,
108
+ startedAt: new Date(NOW - 10 * 60 * 1000),
109
+ analysis: existingAnalysis,
110
+ },
111
+ eventRows: [
112
+ { eventType: 'user_message', content: 'help me build X', timestamp: new Date() },
113
+ { eventType: 'assistant_response', content: 'ok', timestamp: new Date() },
114
+ { eventType: 'user_message', content: 'more detail', timestamp: new Date() },
115
+ { eventType: 'assistant_response', content: 'sure', timestamp: new Date() },
116
+ ],
117
+ executeResult: [{ last_at: lastActivityAt }],
118
+ });
119
+ const llm = vi.fn().mockResolvedValue({ goalSummary: 'Build the X feature.' });
120
+ const result = await processSessionGoal({ sessionId: SID, milestone: 5 }, { db, llm: llm, now: () => NOW });
121
+ expect(llm).toHaveBeenCalledTimes(1);
122
+ expect(result).toEqual({ goalSummary: 'Build the X feature.' });
123
+ expect(updateCalls).toHaveLength(1);
124
+ const writtenAnalysis = updateCalls[0].values.analysis;
125
+ expect(writtenAnalysis.outcome).toBe('success');
126
+ expect(writtenAnalysis.friction).toBe('none');
127
+ expect(writtenAnalysis.previousField).toBe('keep-me');
128
+ expect(writtenAnalysis.goalSummary).toBe('Build the X feature.');
129
+ expect(typeof writtenAnalysis.goalSummaryAt).toBe('string');
130
+ // ISO timestamp format
131
+ expect(writtenAnalysis.goalSummaryAt).toMatch(/^\d{4}-\d{2}-\d{2}T/);
132
+ });
133
+ });
134
+ //# sourceMappingURL=process-session-goal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-session-goal.test.js","sourceRoot":"","sources":["../../../src/lib/handlers/process-session-goal.test.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,19 @@ export declare function generateCursorHooksConfig(): object;
19
19
  */
20
20
  export declare function generateCopilotHooksConfig(): object;
21
21
  /**
22
- * Write Cursor hooks config to `.cursor/hooks.json`.
22
+ * Write Cursor hooks config to `<projectPath>/.cursor/hooks.json`.
23
23
  * Merges with existing config — appends rulemetric hooks without duplicating.
24
24
  * Returns the config file path, or null if `.cursor/` doesn't exist.
25
25
  */
26
26
  export declare function writeCursorHooks(projectPath: string): string | null;
27
+ /**
28
+ * Write Cursor hooks config to user-level `~/.cursor/hooks.json` so capture
29
+ * works for every Cursor conversation without per-project setup.
30
+ *
31
+ * Returns the config file path, or null if `~/.cursor/` doesn't exist
32
+ * (i.e., Cursor has never been launched on this machine).
33
+ */
34
+ export declare function writeCursorUserHooks(): string | null;
27
35
  /**
28
36
  * Write Copilot Agent hooks config to `.github/hooks/rulemetric.json`.
29
37
  * Creates the hooks directory if needed.
@@ -31,11 +39,13 @@ export declare function writeCursorHooks(projectPath: string): string | null;
31
39
  */
32
40
  export declare function writeCopilotHooks(projectPath: string): string | null;
33
41
  /**
34
- * Remove rulemetric hooks from `.cursor/hooks.json`.
35
- * Preserves other hooks and removes empty event arrays.
36
- * Returns true if changes were made.
42
+ * Remove rulemetric hooks from `<projectPath>/.cursor/hooks.json`.
37
43
  */
38
44
  export declare function removeCursorHooks(projectPath: string): boolean;
45
+ /**
46
+ * Remove rulemetric hooks from user-level `~/.cursor/hooks.json`.
47
+ */
48
+ export declare function removeCursorUserHooks(): boolean;
39
49
  /**
40
50
  * Write Cursor proxy config to `.cursor/settings.json`.
41
51
  * Sets `http.proxy` and `http.proxyStrictSSL` while preserving existing settings.
@@ -92,4 +102,18 @@ export declare function writeVSCodeUserProxyConfig(gatewayPort: number): boolean
92
102
  * Remove RuleMetric proxy config from VS Code user settings.
93
103
  */
94
104
  export declare function removeVSCodeUserProxyConfig(): boolean;
105
+ /**
106
+ * Set http.proxy in Cursor user settings (not workspace). Mirrors
107
+ * `writeVSCodeUserProxyConfig` — workspace-level http.proxy is silently
108
+ * ignored due to APPLICATION-scope restriction (Cursor inherits this from
109
+ * VS Code, see microsoft/vscode#236932).
110
+ *
111
+ * Returns true if config was written, false if Cursor isn't installed
112
+ * (User dir absent) or the user already has a non-localhost proxy set.
113
+ */
114
+ export declare function writeCursorUserProxyConfig(gatewayPort: number): boolean;
115
+ /**
116
+ * Remove RuleMetric proxy config from Cursor user settings.
117
+ */
118
+ export declare function removeCursorUserProxyConfig(): boolean;
95
119
  //# sourceMappingURL=hooks-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../../src/lib/hooks-config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAYxE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAqBlD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAkBnD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+CnE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcpE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAyC9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAc1G;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAoB1G;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA6BpE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6CnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAmBhD;AAgBD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAmBvE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAcrD"}
1
+ {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../../src/lib/hooks-config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAYxE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAqDlD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAkBnD;AAsDD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcpE;AAiDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAc1G;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAoB1G;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA6BpE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6CnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAmBhD;AAgBD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAmBvE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAcrD;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAkBvE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAcrD"}
@@ -23,9 +23,18 @@ export function detectInstalledTools(projectPath) {
23
23
  * Each event maps to an array of hook objects with a `command` field.
24
24
  */
25
25
  export function generateCursorHooksConfig() {
26
+ // Event coverage matches Cursor 1.7+ hook API (cursor.com/docs/hooks).
27
+ // `sessionStart` is required so the registry file is written with
28
+ // conversation_id before any tool runs; without it the proxy-based linker
29
+ // path would have nothing to map and we'd drop captures. `sessionEnd`
30
+ // emits the session-end signal once per chat conversation (vs `stop`
31
+ // which fires per-turn — those go through post-tool-use).
26
32
  return {
27
33
  version: 1,
28
34
  hooks: {
35
+ sessionStart: [
36
+ { command: 'rulemetric hooks run session-start' },
37
+ ],
29
38
  beforeSubmitPrompt: [
30
39
  { command: 'rulemetric hooks run user-prompt' },
31
40
  ],
@@ -35,10 +44,33 @@ export function generateCursorHooksConfig() {
35
44
  beforeShellExecution: [
36
45
  { command: 'rulemetric hooks run post-tool-use' },
37
46
  ],
47
+ afterShellExecution: [
48
+ { command: 'rulemetric hooks run post-tool-use' },
49
+ ],
38
50
  beforeMCPExecution: [
39
51
  { command: 'rulemetric hooks run post-tool-use' },
40
52
  ],
53
+ afterMCPExecution: [
54
+ { command: 'rulemetric hooks run post-tool-use' },
55
+ ],
56
+ // `afterAgentResponse` carries the full assistant response text +
57
+ // token usage. Verified empirically via a probe hook on
58
+ // 2026-05-12 — Cursor passes `text`, `input_tokens`,
59
+ // `output_tokens`, `cache_read_tokens`, `cache_write_tokens`. This
60
+ // is the cleanest path to per-turn assistant content for Cursor
61
+ // (chat traffic itself bypasses the proxy via HTTP/2 — see
62
+ // docs/audits/2026-05-11-cursor-capture-architecture.md).
63
+ afterAgentResponse: [
64
+ { command: 'rulemetric hooks run assistant-response' },
65
+ ],
66
+ // `stop` fires when the agent loop ends for a single turn (status:
67
+ // completed|aborted|error). Per-turn, NOT per-session — route it to
68
+ // post-tool-use, not session-end. The real session boundary is
69
+ // `sessionEnd` below.
41
70
  stop: [
71
+ { command: 'rulemetric hooks run post-tool-use' },
72
+ ],
73
+ sessionEnd: [
42
74
  { command: 'rulemetric hooks run session-end' },
43
75
  ],
44
76
  },
@@ -70,18 +102,17 @@ export function generateCopilotHooksConfig() {
70
102
  };
71
103
  }
72
104
  /**
73
- * Write Cursor hooks config to `.cursor/hooks.json`.
74
- * Merges with existing config — appends rulemetric hooks without duplicating.
75
- * Returns the config file path, or null if `.cursor/` doesn't exist.
105
+ * Merge rulemetric hooks into a Cursor `hooks.json` at the given directory.
106
+ *
107
+ * Used by both the project (`<repo>/.cursor/`) and user (`~/.cursor/`) writers.
108
+ * Returns the config file path, or null if the cursor dir doesn't exist.
76
109
  */
77
- export function writeCursorHooks(projectPath) {
78
- const cursorDir = join(projectPath, '.cursor');
110
+ function writeCursorHooksToDir(cursorDir) {
79
111
  if (!existsSync(cursorDir)) {
80
112
  return null;
81
113
  }
82
114
  const configPath = join(cursorDir, 'hooks.json');
83
115
  const generated = generateCursorHooksConfig();
84
- // Read existing config if present
85
116
  let existing = {};
86
117
  if (existsSync(configPath)) {
87
118
  try {
@@ -94,7 +125,6 @@ export function writeCursorHooks(projectPath) {
94
125
  const merged = { ...(existing.hooks ?? {}) };
95
126
  for (const [event, hooks] of Object.entries(generated.hooks)) {
96
127
  const current = merged[event] ?? [];
97
- // Check if any existing hook already contains 'rulemetric'
98
128
  const hasRulemetric = current.some((h) => typeof h === 'object' &&
99
129
  h !== null &&
100
130
  'command' in h &&
@@ -111,6 +141,24 @@ export function writeCursorHooks(projectPath) {
111
141
  writeFileSync(configPath, JSON.stringify(result, null, 2) + '\n');
112
142
  return configPath;
113
143
  }
144
+ /**
145
+ * Write Cursor hooks config to `<projectPath>/.cursor/hooks.json`.
146
+ * Merges with existing config — appends rulemetric hooks without duplicating.
147
+ * Returns the config file path, or null if `.cursor/` doesn't exist.
148
+ */
149
+ export function writeCursorHooks(projectPath) {
150
+ return writeCursorHooksToDir(join(projectPath, '.cursor'));
151
+ }
152
+ /**
153
+ * Write Cursor hooks config to user-level `~/.cursor/hooks.json` so capture
154
+ * works for every Cursor conversation without per-project setup.
155
+ *
156
+ * Returns the config file path, or null if `~/.cursor/` doesn't exist
157
+ * (i.e., Cursor has never been launched on this machine).
158
+ */
159
+ export function writeCursorUserHooks() {
160
+ return writeCursorHooksToDir(join(homedir(), '.cursor'));
161
+ }
114
162
  /**
115
163
  * Write Copilot Agent hooks config to `.github/hooks/rulemetric.json`.
116
164
  * Creates the hooks directory if needed.
@@ -129,12 +177,11 @@ export function writeCopilotHooks(projectPath) {
129
177
  return configPath;
130
178
  }
131
179
  /**
132
- * Remove rulemetric hooks from `.cursor/hooks.json`.
180
+ * Strip rulemetric hooks from a Cursor `hooks.json` at the given path.
133
181
  * Preserves other hooks and removes empty event arrays.
134
182
  * Returns true if changes were made.
135
183
  */
136
- export function removeCursorHooks(projectPath) {
137
- const configPath = join(projectPath, '.cursor', 'hooks.json');
184
+ function removeCursorHooksFromFile(configPath) {
138
185
  if (!existsSync(configPath)) {
139
186
  return false;
140
187
  }
@@ -172,6 +219,18 @@ export function removeCursorHooks(projectPath) {
172
219
  }
173
220
  return changed;
174
221
  }
222
+ /**
223
+ * Remove rulemetric hooks from `<projectPath>/.cursor/hooks.json`.
224
+ */
225
+ export function removeCursorHooks(projectPath) {
226
+ return removeCursorHooksFromFile(join(projectPath, '.cursor', 'hooks.json'));
227
+ }
228
+ /**
229
+ * Remove rulemetric hooks from user-level `~/.cursor/hooks.json`.
230
+ */
231
+ export function removeCursorUserHooks() {
232
+ return removeCursorHooksFromFile(join(homedir(), '.cursor', 'hooks.json'));
233
+ }
175
234
  /**
176
235
  * Write Cursor proxy config to `.cursor/settings.json`.
177
236
  * Sets `http.proxy` and `http.proxyStrictSSL` while preserving existing settings.
@@ -413,4 +472,73 @@ export function removeVSCodeUserProxyConfig() {
413
472
  writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
414
473
  return true;
415
474
  }
475
+ // ---------------------------------------------------------------------------
476
+ // Cursor user-level proxy settings
477
+ // ---------------------------------------------------------------------------
478
+ //
479
+ // Cursor is a VS Code fork and uses the same settings.json shape, but reads
480
+ // from `Cursor/User/settings.json` instead of `Code/User/settings.json`. The
481
+ // `.cursor/settings.json` (workspace) path can't reach Cursor's Electron main
482
+ // process for the same reason VS Code's workspace path can't reach VS Code's
483
+ // — the http.proxy setting is restricted to APPLICATION scope and only the
484
+ // user-level file is honored.
485
+ function getCursorUserSettingsPath() {
486
+ if (process.platform === 'darwin') {
487
+ return join(homedir(), 'Library', 'Application Support', 'Cursor', 'User', 'settings.json');
488
+ }
489
+ if (process.platform === 'win32') {
490
+ return join(process.env.APPDATA ?? '', 'Cursor', 'User', 'settings.json');
491
+ }
492
+ return join(homedir(), '.config', 'Cursor', 'User', 'settings.json');
493
+ }
494
+ /**
495
+ * Set http.proxy in Cursor user settings (not workspace). Mirrors
496
+ * `writeVSCodeUserProxyConfig` — workspace-level http.proxy is silently
497
+ * ignored due to APPLICATION-scope restriction (Cursor inherits this from
498
+ * VS Code, see microsoft/vscode#236932).
499
+ *
500
+ * Returns true if config was written, false if Cursor isn't installed
501
+ * (User dir absent) or the user already has a non-localhost proxy set.
502
+ */
503
+ export function writeCursorUserProxyConfig(gatewayPort) {
504
+ const settingsPath = getCursorUserSettingsPath();
505
+ if (!existsSync(join(settingsPath, '..')))
506
+ return false;
507
+ let settings = {};
508
+ if (existsSync(settingsPath)) {
509
+ try {
510
+ settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
511
+ }
512
+ catch { /* empty */ }
513
+ }
514
+ if (settings['http.proxy'] && !settings['http.proxy'].includes('localhost')) {
515
+ return false;
516
+ }
517
+ settings['http.proxy'] = `http://localhost:${gatewayPort}`;
518
+ settings['http.proxyStrictSSL'] = false;
519
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
520
+ return true;
521
+ }
522
+ /**
523
+ * Remove RuleMetric proxy config from Cursor user settings.
524
+ */
525
+ export function removeCursorUserProxyConfig() {
526
+ const settingsPath = getCursorUserSettingsPath();
527
+ if (!existsSync(settingsPath))
528
+ return false;
529
+ let settings;
530
+ try {
531
+ settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
532
+ }
533
+ catch {
534
+ return false;
535
+ }
536
+ const proxy = settings['http.proxy'];
537
+ if (!proxy?.includes('localhost'))
538
+ return false;
539
+ delete settings['http.proxy'];
540
+ delete settings['http.proxyStrictSSL'];
541
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
542
+ return true;
543
+ }
416
544
  //# sourceMappingURL=hooks-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../../src/lib/hooks-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../../src/lib/hooks-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/lib/llm-client.ts"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAExE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA2BhC;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,MAAM,CAAC;AAIjE;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAoB7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAYzC"}
1
+ {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/lib/llm-client.ts"],"names":[],"mappings":"AAgBA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAExE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgChC;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,MAAM,CAAC;AAIjE;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CA4B7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAYzC"}