@cluesmith/codev 2.0.3 → 2.0.7

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 (271) hide show
  1. package/dashboard/dist/assets/index-BblS3DWL.js +135 -0
  2. package/dashboard/dist/assets/index-BblS3DWL.js.map +1 -0
  3. package/dashboard/dist/assets/index-Cr9PyjqX.css +32 -0
  4. package/dashboard/dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +54 -61
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/architect.d.ts +5 -5
  9. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/architect.js +37 -20
  11. package/dist/agent-farm/commands/architect.js.map +1 -1
  12. package/dist/agent-farm/commands/attach.d.ts +19 -0
  13. package/dist/agent-farm/commands/attach.d.ts.map +1 -1
  14. package/dist/agent-farm/commands/attach.js +169 -29
  15. package/dist/agent-farm/commands/attach.js.map +1 -1
  16. package/dist/agent-farm/commands/cleanup.d.ts +12 -0
  17. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  18. package/dist/agent-farm/commands/cleanup.js +108 -7
  19. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  20. package/dist/agent-farm/commands/send.d.ts +22 -2
  21. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  22. package/dist/agent-farm/commands/send.js +97 -178
  23. package/dist/agent-farm/commands/send.js.map +1 -1
  24. package/dist/agent-farm/commands/spawn-roles.d.ts +3 -9
  25. package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
  26. package/dist/agent-farm/commands/spawn-roles.js +14 -53
  27. package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
  28. package/dist/agent-farm/commands/spawn-worktree.d.ts +11 -18
  29. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  30. package/dist/agent-farm/commands/spawn-worktree.js +35 -22
  31. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  32. package/dist/agent-farm/commands/spawn.d.ts +8 -6
  33. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  34. package/dist/agent-farm/commands/spawn.js +207 -89
  35. package/dist/agent-farm/commands/spawn.js.map +1 -1
  36. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  37. package/dist/agent-farm/commands/start.js +2 -6
  38. package/dist/agent-farm/commands/start.js.map +1 -1
  39. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  40. package/dist/agent-farm/commands/status.js +5 -35
  41. package/dist/agent-farm/commands/status.js.map +1 -1
  42. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  43. package/dist/agent-farm/commands/stop.js +2 -6
  44. package/dist/agent-farm/commands/stop.js.map +1 -1
  45. package/dist/agent-farm/commands/tower-cloud.d.ts +2 -9
  46. package/dist/agent-farm/commands/tower-cloud.d.ts.map +1 -1
  47. package/dist/agent-farm/commands/tower-cloud.js +12 -47
  48. package/dist/agent-farm/commands/tower-cloud.js.map +1 -1
  49. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  50. package/dist/agent-farm/commands/tower.js +6 -23
  51. package/dist/agent-farm/commands/tower.js.map +1 -1
  52. package/dist/agent-farm/db/index.d.ts.map +1 -1
  53. package/dist/agent-farm/db/index.js +52 -2
  54. package/dist/agent-farm/db/index.js.map +1 -1
  55. package/dist/agent-farm/db/schema.d.ts +1 -1
  56. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  57. package/dist/agent-farm/db/schema.js +1 -1
  58. package/dist/agent-farm/lib/cloud-config.d.ts +1 -0
  59. package/dist/agent-farm/lib/cloud-config.d.ts.map +1 -1
  60. package/dist/agent-farm/lib/cloud-config.js +2 -2
  61. package/dist/agent-farm/lib/cloud-config.js.map +1 -1
  62. package/dist/agent-farm/lib/tower-client.d.ts +65 -6
  63. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  64. package/dist/agent-farm/lib/tower-client.js +57 -2
  65. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  66. package/dist/agent-farm/servers/overview.d.ts +157 -0
  67. package/dist/agent-farm/servers/overview.d.ts.map +1 -0
  68. package/dist/agent-farm/servers/overview.js +625 -0
  69. package/dist/agent-farm/servers/overview.js.map +1 -0
  70. package/dist/agent-farm/servers/tower-instances.d.ts +1 -3
  71. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  72. package/dist/agent-farm/servers/tower-instances.js +12 -14
  73. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  74. package/dist/agent-farm/servers/tower-messages.d.ts +87 -0
  75. package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -0
  76. package/dist/agent-farm/servers/tower-messages.js +202 -0
  77. package/dist/agent-farm/servers/tower-messages.js.map +1 -0
  78. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  79. package/dist/agent-farm/servers/tower-routes.js +182 -34
  80. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  81. package/dist/agent-farm/servers/tower-server.js +30 -6
  82. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  83. package/dist/agent-farm/servers/tower-terminals.d.ts +9 -3
  84. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  85. package/dist/agent-farm/servers/tower-terminals.js +129 -84
  86. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  87. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
  88. package/dist/agent-farm/servers/tower-tunnel.js +3 -19
  89. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  90. package/dist/agent-farm/servers/tower-types.d.ts +0 -2
  91. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  92. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  93. package/dist/agent-farm/servers/tower-websocket.js +27 -5
  94. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  95. package/dist/agent-farm/types.d.ts +4 -5
  96. package/dist/agent-farm/types.d.ts.map +1 -1
  97. package/dist/agent-farm/utils/agent-names.d.ts +85 -0
  98. package/dist/agent-farm/utils/agent-names.d.ts.map +1 -0
  99. package/dist/agent-farm/utils/agent-names.js +140 -0
  100. package/dist/agent-farm/utils/agent-names.js.map +1 -0
  101. package/dist/agent-farm/utils/display.d.ts +8 -0
  102. package/dist/agent-farm/utils/display.d.ts.map +1 -0
  103. package/dist/agent-farm/utils/display.js +26 -0
  104. package/dist/agent-farm/utils/display.js.map +1 -0
  105. package/dist/agent-farm/utils/message-format.d.ts +17 -0
  106. package/dist/agent-farm/utils/message-format.d.ts.map +1 -0
  107. package/dist/agent-farm/utils/message-format.js +41 -0
  108. package/dist/agent-farm/utils/message-format.js.map +1 -0
  109. package/dist/agent-farm/utils/notifications.d.ts.map +1 -1
  110. package/dist/agent-farm/utils/notifications.js +7 -16
  111. package/dist/agent-farm/utils/notifications.js.map +1 -1
  112. package/dist/agent-farm/utils/server-utils.d.ts +4 -0
  113. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  114. package/dist/agent-farm/utils/server-utils.js +20 -0
  115. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  116. package/dist/agent-farm/utils/shell.d.ts +5 -0
  117. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  118. package/dist/agent-farm/utils/shell.js +15 -11
  119. package/dist/agent-farm/utils/shell.js.map +1 -1
  120. package/dist/cli.d.ts.map +1 -1
  121. package/dist/cli.js +46 -15
  122. package/dist/cli.js.map +1 -1
  123. package/dist/commands/adopt.d.ts.map +1 -1
  124. package/dist/commands/adopt.js +1 -13
  125. package/dist/commands/adopt.js.map +1 -1
  126. package/dist/commands/consult/index.d.ts +34 -9
  127. package/dist/commands/consult/index.d.ts.map +1 -1
  128. package/dist/commands/consult/index.js +617 -263
  129. package/dist/commands/consult/index.js.map +1 -1
  130. package/dist/commands/consult/metrics.d.ts +90 -0
  131. package/dist/commands/consult/metrics.d.ts.map +1 -0
  132. package/dist/commands/consult/metrics.js +203 -0
  133. package/dist/commands/consult/metrics.js.map +1 -0
  134. package/dist/commands/consult/stats.d.ts +18 -0
  135. package/dist/commands/consult/stats.d.ts.map +1 -0
  136. package/dist/commands/consult/stats.js +150 -0
  137. package/dist/commands/consult/stats.js.map +1 -0
  138. package/dist/commands/consult/usage-extractor.d.ts +41 -0
  139. package/dist/commands/consult/usage-extractor.d.ts.map +1 -0
  140. package/dist/commands/consult/usage-extractor.js +122 -0
  141. package/dist/commands/consult/usage-extractor.js.map +1 -0
  142. package/dist/commands/doctor.d.ts.map +1 -1
  143. package/dist/commands/doctor.js +5 -3
  144. package/dist/commands/doctor.js.map +1 -1
  145. package/dist/commands/init.d.ts.map +1 -1
  146. package/dist/commands/init.js +1 -13
  147. package/dist/commands/init.js.map +1 -1
  148. package/dist/commands/porch/index.d.ts.map +1 -1
  149. package/dist/commands/porch/index.js +13 -12
  150. package/dist/commands/porch/index.js.map +1 -1
  151. package/dist/commands/porch/next.d.ts.map +1 -1
  152. package/dist/commands/porch/next.js +57 -77
  153. package/dist/commands/porch/next.js.map +1 -1
  154. package/dist/commands/porch/plan.d.ts.map +1 -1
  155. package/dist/commands/porch/plan.js +17 -2
  156. package/dist/commands/porch/plan.js.map +1 -1
  157. package/dist/commands/porch/prompts.d.ts +10 -1
  158. package/dist/commands/porch/prompts.d.ts.map +1 -1
  159. package/dist/commands/porch/prompts.js +56 -29
  160. package/dist/commands/porch/prompts.js.map +1 -1
  161. package/dist/commands/porch/protocol.js +2 -2
  162. package/dist/commands/porch/state.d.ts +13 -0
  163. package/dist/commands/porch/state.d.ts.map +1 -1
  164. package/dist/commands/porch/state.js +49 -2
  165. package/dist/commands/porch/state.js.map +1 -1
  166. package/dist/commands/update.d.ts.map +1 -1
  167. package/dist/commands/update.js +0 -10
  168. package/dist/commands/update.js.map +1 -1
  169. package/dist/lib/github.d.ts +82 -0
  170. package/dist/lib/github.d.ts.map +1 -0
  171. package/dist/lib/github.js +181 -0
  172. package/dist/lib/github.js.map +1 -0
  173. package/dist/lib/scaffold.d.ts +0 -21
  174. package/dist/lib/scaffold.d.ts.map +1 -1
  175. package/dist/lib/scaffold.js +0 -57
  176. package/dist/lib/scaffold.js.map +1 -1
  177. package/dist/terminal/index.d.ts +16 -0
  178. package/dist/terminal/index.d.ts.map +1 -1
  179. package/dist/terminal/index.js +14 -0
  180. package/dist/terminal/index.js.map +1 -1
  181. package/dist/terminal/pty-manager.d.ts.map +1 -1
  182. package/dist/terminal/pty-manager.js +8 -5
  183. package/dist/terminal/pty-manager.js.map +1 -1
  184. package/dist/terminal/pty-session.js +4 -4
  185. package/dist/terminal/pty-session.js.map +1 -1
  186. package/dist/terminal/session-manager.d.ts +64 -0
  187. package/dist/terminal/session-manager.d.ts.map +1 -1
  188. package/dist/terminal/session-manager.js +299 -10
  189. package/dist/terminal/session-manager.js.map +1 -1
  190. package/dist/terminal/shellper-client.d.ts +2 -1
  191. package/dist/terminal/shellper-client.d.ts.map +1 -1
  192. package/dist/terminal/shellper-client.js +4 -2
  193. package/dist/terminal/shellper-client.js.map +1 -1
  194. package/dist/terminal/shellper-main.js +33 -4
  195. package/dist/terminal/shellper-main.js.map +1 -1
  196. package/dist/terminal/shellper-process.d.ts +24 -7
  197. package/dist/terminal/shellper-process.d.ts.map +1 -1
  198. package/dist/terminal/shellper-process.js +139 -36
  199. package/dist/terminal/shellper-process.js.map +1 -1
  200. package/dist/terminal/shellper-protocol.d.ts +1 -0
  201. package/dist/terminal/shellper-protocol.d.ts.map +1 -1
  202. package/dist/terminal/shellper-protocol.js.map +1 -1
  203. package/package.json +4 -1
  204. package/skeleton/.claude/skills/af/SKILL.md +10 -10
  205. package/skeleton/.claude/skills/consult/SKILL.md +55 -38
  206. package/skeleton/.claude/skills/porch/SKILL.md +53 -0
  207. package/skeleton/DEPENDENCIES.md +2 -2
  208. package/skeleton/builders.md +8 -19
  209. package/skeleton/maintain/.gitkeep +1 -1
  210. package/skeleton/porch/prompts/specify.md +1 -1
  211. package/skeleton/protocol-schema.json +1 -1
  212. package/skeleton/protocols/bugfix/prompts/pr.md +18 -7
  213. package/skeleton/protocols/bugfix/protocol.json +1 -1
  214. package/skeleton/protocols/experiment/protocol.md +17 -17
  215. package/skeleton/protocols/maintain/consult-types/impl-review.md +72 -0
  216. package/skeleton/protocols/maintain/consult-types/pr-review.md +72 -0
  217. package/skeleton/protocols/maintain/prompts/audit.md +2 -2
  218. package/skeleton/protocols/maintain/prompts/sync.md +1 -1
  219. package/skeleton/protocols/maintain/prompts/verify.md +1 -1
  220. package/skeleton/protocols/maintain/protocol.json +4 -4
  221. package/skeleton/protocols/maintain/protocol.md +11 -12
  222. package/skeleton/protocols/maintain/templates/maintenance-run.md +2 -2
  223. package/skeleton/protocols/protocol-schema.json +1 -1
  224. package/skeleton/protocols/spir/consult-types/impl-review.md +72 -0
  225. package/skeleton/protocols/spir/consult-types/phase-review.md +72 -0
  226. package/skeleton/protocols/spir/consult-types/pr-review.md +72 -0
  227. package/skeleton/protocols/spir/prompts/plan.md +4 -4
  228. package/skeleton/protocols/spir/prompts/review.md +8 -8
  229. package/skeleton/protocols/spir/prompts/specify.md +6 -6
  230. package/skeleton/protocols/spir/protocol.json +16 -16
  231. package/skeleton/protocols/spir/protocol.md +8 -8
  232. package/skeleton/protocols/spir/templates/review.md +2 -2
  233. package/skeleton/protocols/tick/consult-types/impl-review.md +72 -0
  234. package/skeleton/protocols/tick/consult-types/plan-review.md +59 -0
  235. package/skeleton/protocols/tick/consult-types/pr-review.md +72 -0
  236. package/skeleton/protocols/tick/consult-types/spec-review.md +55 -0
  237. package/skeleton/protocols/tick/protocol.json +2 -7
  238. package/skeleton/protocols/tick/protocol.md +31 -31
  239. package/skeleton/resources/commands/agent-farm.md +21 -19
  240. package/skeleton/resources/commands/codev.md +0 -36
  241. package/skeleton/resources/commands/consult.md +88 -234
  242. package/skeleton/resources/commands/overview.md +6 -7
  243. package/skeleton/resources/spikes.md +3 -3
  244. package/skeleton/resources/workflow-reference.md +28 -28
  245. package/skeleton/roles/architect.md +34 -38
  246. package/skeleton/roles/builder.md +14 -14
  247. package/skeleton/roles/consultant.md +6 -0
  248. package/skeleton/templates/AGENTS.md +6 -6
  249. package/skeleton/templates/CLAUDE.md +6 -6
  250. package/skeleton/templates/cheatsheet.md +22 -18
  251. package/skeleton/templates/lifecycle.md +9 -9
  252. package/skeleton/templates/pr-overview.md +5 -5
  253. package/templates/open.html +6 -3
  254. package/templates/tower.html +1 -41
  255. package/dashboard/dist/assets/index-4n9zpWLY.css +0 -32
  256. package/dashboard/dist/assets/index-UsH9ixz1.js +0 -136
  257. package/dashboard/dist/assets/index-UsH9ixz1.js.map +0 -1
  258. package/dist/agent-farm/commands/consult.d.ts +0 -15
  259. package/dist/agent-farm/commands/consult.d.ts.map +0 -1
  260. package/dist/agent-farm/commands/consult.js +0 -39
  261. package/dist/agent-farm/commands/consult.js.map +0 -1
  262. package/dist/agent-farm/utils/gate-status.d.ts +0 -16
  263. package/dist/agent-farm/utils/gate-status.d.ts.map +0 -1
  264. package/dist/agent-farm/utils/gate-status.js +0 -79
  265. package/dist/agent-farm/utils/gate-status.js.map +0 -1
  266. package/skeleton/templates/projectlist-archive.md +0 -21
  267. package/skeleton/templates/projectlist.md +0 -147
  268. /package/skeleton/{consult-types → protocols/bugfix/consult-types}/impl-review.md +0 -0
  269. /package/skeleton/{consult-types/pr-ready.md → protocols/bugfix/consult-types/pr-review.md} +0 -0
  270. /package/skeleton/{consult-types → protocols/spir/consult-types}/plan-review.md +0 -0
  271. /package/skeleton/{consult-types → protocols/spir/consult-types}/spec-review.md +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Consultation metrics database
3
+ *
4
+ * Stores per-invocation metrics (duration, tokens, cost) in a global
5
+ * SQLite database at ~/.codev/metrics.db. Uses WAL mode and busy_timeout
6
+ * for safe concurrent writes from 3-way parallel consultations.
7
+ */
8
+ export interface MetricsRecord {
9
+ timestamp: string;
10
+ model: string;
11
+ reviewType: string | null;
12
+ subcommand: string;
13
+ protocol: string;
14
+ projectId: string | null;
15
+ durationSeconds: number;
16
+ inputTokens: number | null;
17
+ cachedInputTokens: number | null;
18
+ outputTokens: number | null;
19
+ costUsd: number | null;
20
+ exitCode: number;
21
+ workspacePath: string;
22
+ errorMessage: string | null;
23
+ }
24
+ export interface StatsFilters {
25
+ days?: number;
26
+ model?: string;
27
+ type?: string;
28
+ protocol?: string;
29
+ project?: string;
30
+ last?: number;
31
+ }
32
+ export interface MetricsRow {
33
+ id: number;
34
+ timestamp: string;
35
+ model: string;
36
+ review_type: string | null;
37
+ subcommand: string;
38
+ protocol: string | null;
39
+ project_id: string | null;
40
+ duration_seconds: number;
41
+ input_tokens: number | null;
42
+ cached_input_tokens: number | null;
43
+ output_tokens: number | null;
44
+ cost_usd: number | null;
45
+ exit_code: number;
46
+ workspace_path: string;
47
+ error_message: string | null;
48
+ }
49
+ export interface ModelStats {
50
+ model: string;
51
+ count: number;
52
+ avgDuration: number;
53
+ totalCost: number | null;
54
+ costCount: number;
55
+ successRate: number;
56
+ successCount: number;
57
+ }
58
+ export interface TypeStats {
59
+ reviewType: string;
60
+ count: number;
61
+ avgDuration: number;
62
+ totalCost: number | null;
63
+ costCount: number;
64
+ }
65
+ export interface ProtocolStats {
66
+ protocol: string;
67
+ count: number;
68
+ totalCost: number | null;
69
+ costCount: number;
70
+ }
71
+ export interface StatsSummary {
72
+ totalCount: number;
73
+ totalDuration: number;
74
+ totalCost: number | null;
75
+ costCount: number;
76
+ successCount: number;
77
+ byModel: ModelStats[];
78
+ byType: TypeStats[];
79
+ byProtocol: ProtocolStats[];
80
+ }
81
+ export declare class MetricsDB {
82
+ private db;
83
+ constructor(dbPath?: string);
84
+ record(entry: MetricsRecord): void;
85
+ query(filters: StatsFilters): MetricsRow[];
86
+ summary(filters: StatsFilters): StatsSummary;
87
+ close(): void;
88
+ static get defaultPath(): string;
89
+ }
90
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Consultation metrics database
3
+ *
4
+ * Stores per-invocation metrics (duration, tokens, cost) in a global
5
+ * SQLite database at ~/.codev/metrics.db. Uses WAL mode and busy_timeout
6
+ * for safe concurrent writes from 3-way parallel consultations.
7
+ */
8
+ import Database from 'better-sqlite3';
9
+ import { existsSync, mkdirSync } from 'node:fs';
10
+ import { homedir } from 'node:os';
11
+ import { join, dirname } from 'node:path';
12
+ const CODEV_DIR = join(homedir(), '.codev');
13
+ const DB_PATH = join(CODEV_DIR, 'metrics.db');
14
+ const CREATE_TABLE = `
15
+ CREATE TABLE IF NOT EXISTS consultation_metrics (
16
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
17
+ timestamp TEXT NOT NULL,
18
+ model TEXT NOT NULL,
19
+ review_type TEXT,
20
+ subcommand TEXT NOT NULL,
21
+ protocol TEXT,
22
+ project_id TEXT,
23
+ duration_seconds REAL NOT NULL,
24
+ input_tokens INTEGER,
25
+ cached_input_tokens INTEGER,
26
+ output_tokens INTEGER,
27
+ cost_usd REAL,
28
+ exit_code INTEGER NOT NULL,
29
+ workspace_path TEXT NOT NULL,
30
+ error_message TEXT
31
+ )`;
32
+ const INSERT_ROW = `
33
+ INSERT INTO consultation_metrics (
34
+ timestamp, model, review_type, subcommand, protocol, project_id,
35
+ duration_seconds, input_tokens, cached_input_tokens, output_tokens,
36
+ cost_usd, exit_code, workspace_path, error_message
37
+ ) VALUES (
38
+ @timestamp, @model, @reviewType, @subcommand, @protocol, @projectId,
39
+ @durationSeconds, @inputTokens, @cachedInputTokens, @outputTokens,
40
+ @costUsd, @exitCode, @workspacePath, @errorMessage
41
+ )`;
42
+ function buildWhereClause(filters) {
43
+ const conditions = [];
44
+ const params = {};
45
+ if (filters.days) {
46
+ conditions.push("datetime(timestamp) >= datetime('now', @daysOffset)");
47
+ params.daysOffset = `-${filters.days} days`;
48
+ }
49
+ if (filters.model) {
50
+ conditions.push('model = @filterModel');
51
+ params.filterModel = filters.model;
52
+ }
53
+ if (filters.type) {
54
+ conditions.push('review_type = @filterType');
55
+ params.filterType = filters.type;
56
+ }
57
+ if (filters.protocol) {
58
+ conditions.push('protocol = @filterProtocol');
59
+ params.filterProtocol = filters.protocol;
60
+ }
61
+ if (filters.project) {
62
+ conditions.push('project_id = @filterProject');
63
+ params.filterProject = filters.project;
64
+ }
65
+ const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
66
+ return { where, params };
67
+ }
68
+ export class MetricsDB {
69
+ db;
70
+ constructor(dbPath) {
71
+ const path = dbPath ?? DB_PATH;
72
+ const dir = dirname(path);
73
+ if (!existsSync(dir)) {
74
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
75
+ }
76
+ this.db = new Database(path);
77
+ const journalMode = this.db.pragma('journal_mode = WAL', { simple: true });
78
+ if (journalMode !== 'wal') {
79
+ console.error('[warn] WAL mode unavailable for metrics database');
80
+ }
81
+ this.db.pragma('busy_timeout = 5000');
82
+ this.db.exec(CREATE_TABLE);
83
+ }
84
+ record(entry) {
85
+ try {
86
+ this.db.prepare(INSERT_ROW).run({
87
+ timestamp: entry.timestamp,
88
+ model: entry.model,
89
+ reviewType: entry.reviewType,
90
+ subcommand: entry.subcommand,
91
+ protocol: entry.protocol,
92
+ projectId: entry.projectId,
93
+ durationSeconds: entry.durationSeconds,
94
+ inputTokens: entry.inputTokens,
95
+ cachedInputTokens: entry.cachedInputTokens,
96
+ outputTokens: entry.outputTokens,
97
+ costUsd: entry.costUsd,
98
+ exitCode: entry.exitCode,
99
+ workspacePath: entry.workspacePath,
100
+ errorMessage: entry.errorMessage,
101
+ });
102
+ }
103
+ catch (err) {
104
+ console.error(`[warn] Failed to write metrics: ${err instanceof Error ? err.message : String(err)}`);
105
+ }
106
+ }
107
+ query(filters) {
108
+ const { where, params } = buildWhereClause(filters);
109
+ let sql = `SELECT * FROM consultation_metrics ${where} ORDER BY timestamp DESC`;
110
+ if (filters.last) {
111
+ sql += ' LIMIT @limit';
112
+ params.limit = filters.last;
113
+ }
114
+ return this.db.prepare(sql).all(params);
115
+ }
116
+ summary(filters) {
117
+ const { where, params } = buildWhereClause(filters);
118
+ // Overall totals
119
+ const totals = this.db.prepare(`
120
+ SELECT
121
+ COUNT(*) as total_count,
122
+ COALESCE(SUM(duration_seconds), 0) as total_duration,
123
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN cost_usd ELSE 0 END) as total_cost,
124
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN 1 ELSE 0 END) as cost_count,
125
+ SUM(CASE WHEN exit_code = 0 THEN 1 ELSE 0 END) as success_count
126
+ FROM consultation_metrics ${where}
127
+ `).get(params);
128
+ // By model
129
+ const byModel = this.db.prepare(`
130
+ SELECT
131
+ model,
132
+ COUNT(*) as count,
133
+ AVG(duration_seconds) as avg_duration,
134
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN cost_usd ELSE 0 END) as total_cost,
135
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN 1 ELSE 0 END) as cost_count,
136
+ SUM(CASE WHEN exit_code = 0 THEN 1 ELSE 0 END) as success_count
137
+ FROM consultation_metrics ${where}
138
+ GROUP BY model
139
+ ORDER BY count DESC
140
+ `).all(params);
141
+ // By review type
142
+ const byType = this.db.prepare(`
143
+ SELECT
144
+ review_type,
145
+ COUNT(*) as count,
146
+ AVG(duration_seconds) as avg_duration,
147
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN cost_usd ELSE 0 END) as total_cost,
148
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN 1 ELSE 0 END) as cost_count
149
+ FROM consultation_metrics ${where} AND review_type IS NOT NULL
150
+ GROUP BY review_type
151
+ ORDER BY count DESC
152
+ `.replace('AND review_type IS NOT NULL', where ? 'AND review_type IS NOT NULL' : 'WHERE review_type IS NOT NULL'))
153
+ .all(params);
154
+ // By protocol
155
+ const byProtocol = this.db.prepare(`
156
+ SELECT
157
+ protocol,
158
+ COUNT(*) as count,
159
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN cost_usd ELSE 0 END) as total_cost,
160
+ SUM(CASE WHEN cost_usd IS NOT NULL THEN 1 ELSE 0 END) as cost_count
161
+ FROM consultation_metrics ${where} AND protocol IS NOT NULL
162
+ GROUP BY protocol
163
+ ORDER BY count DESC
164
+ `.replace('AND protocol IS NOT NULL', where ? 'AND protocol IS NOT NULL' : 'WHERE protocol IS NOT NULL'))
165
+ .all(params);
166
+ return {
167
+ totalCount: totals.total_count,
168
+ totalDuration: totals.total_duration,
169
+ totalCost: totals.cost_count > 0 ? totals.total_cost : null,
170
+ costCount: totals.cost_count,
171
+ successCount: totals.success_count,
172
+ byModel: byModel.map(r => ({
173
+ model: r.model,
174
+ count: r.count,
175
+ avgDuration: r.avg_duration,
176
+ totalCost: r.cost_count > 0 ? r.total_cost : null,
177
+ costCount: r.cost_count,
178
+ successRate: r.count > 0 ? (r.success_count / r.count) * 100 : 0,
179
+ successCount: r.success_count,
180
+ })),
181
+ byType: byType.map(r => ({
182
+ reviewType: r.review_type,
183
+ count: r.count,
184
+ avgDuration: r.avg_duration,
185
+ totalCost: r.cost_count > 0 ? r.total_cost : null,
186
+ costCount: r.cost_count,
187
+ })),
188
+ byProtocol: byProtocol.map(r => ({
189
+ protocol: r.protocol,
190
+ count: r.count,
191
+ totalCost: r.cost_count > 0 ? r.total_cost : null,
192
+ costCount: r.cost_count,
193
+ })),
194
+ };
195
+ }
196
+ close() {
197
+ this.db.close();
198
+ }
199
+ static get defaultPath() {
200
+ return DB_PATH;
201
+ }
202
+ }
203
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/commands/consult/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * consult stats - Display consultation metrics summary
3
+ *
4
+ * Queries ~/.codev/metrics.db and displays aggregated statistics
5
+ * or individual invocation history.
6
+ */
7
+ interface StatsOptions {
8
+ days?: string;
9
+ model?: string;
10
+ type?: string;
11
+ protocol?: string;
12
+ project?: string;
13
+ last?: string;
14
+ json?: boolean;
15
+ }
16
+ export declare function handleStats(_args: string[], options: StatsOptions): Promise<void>;
17
+ export {};
18
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAyFD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DvF"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * consult stats - Display consultation metrics summary
3
+ *
4
+ * Queries ~/.codev/metrics.db and displays aggregated statistics
5
+ * or individual invocation history.
6
+ */
7
+ import { existsSync } from 'node:fs';
8
+ import { MetricsDB } from './metrics.js';
9
+ function formatDuration(seconds) {
10
+ if (seconds >= 3600) {
11
+ return `${(seconds / 3600).toFixed(1)} hours`;
12
+ }
13
+ if (seconds >= 60) {
14
+ return `${(seconds / 60).toFixed(1)} min`;
15
+ }
16
+ return `${seconds.toFixed(1)}s`;
17
+ }
18
+ function formatCost(cost) {
19
+ if (cost === null)
20
+ return 'N/A';
21
+ return `$${cost.toFixed(2)}`;
22
+ }
23
+ function padRight(str, len) {
24
+ return str + ' '.repeat(Math.max(0, len - str.length));
25
+ }
26
+ function padLeft(str, len) {
27
+ return ' '.repeat(Math.max(0, len - str.length)) + str;
28
+ }
29
+ function printSummary(summary, days) {
30
+ const successRate = summary.totalCount > 0
31
+ ? ((summary.successCount / summary.totalCount) * 100).toFixed(1)
32
+ : '0.0';
33
+ const costStr = summary.totalCost !== null
34
+ ? `$${summary.totalCost.toFixed(2)} (${summary.costCount} of ${summary.totalCount} with cost data)`
35
+ : 'N/A';
36
+ console.log(`Consultation Metrics (last ${days} days)`);
37
+ console.log('='.repeat(40));
38
+ console.log('');
39
+ console.log(`Total invocations: ${summary.totalCount}`);
40
+ console.log(`Total duration: ${formatDuration(summary.totalDuration)}`);
41
+ console.log(`Total cost: ${costStr}`);
42
+ console.log(`Success rate: ${successRate}% (${summary.successCount}/${summary.totalCount})`);
43
+ if (summary.byModel.length > 0) {
44
+ console.log('');
45
+ console.log('By Model:');
46
+ for (const m of summary.byModel) {
47
+ const avgDur = `avg ${m.avgDuration.toFixed(0)}s`;
48
+ const cost = formatCost(m.totalCost);
49
+ const success = `${m.successRate.toFixed(0)}% success`;
50
+ console.log(` ${padRight(m.model, 8)} ${padLeft(String(m.count), 3)} calls ${padLeft(avgDur, 8)} ${padLeft(cost, 8)} ${success}`);
51
+ }
52
+ }
53
+ if (summary.byType.length > 0) {
54
+ console.log('');
55
+ console.log('By Review Type:');
56
+ for (const t of summary.byType) {
57
+ const avgDur = `avg ${t.avgDuration.toFixed(0)}s`;
58
+ const cost = formatCost(t.totalCost);
59
+ console.log(` ${padRight(t.reviewType, 20)} ${padLeft(String(t.count), 3)} calls ${padLeft(avgDur, 8)} ${padLeft(cost, 8)}`);
60
+ }
61
+ }
62
+ if (summary.byProtocol.length > 0) {
63
+ console.log('');
64
+ console.log('By Protocol:');
65
+ for (const p of summary.byProtocol) {
66
+ const cost = formatCost(p.totalCost);
67
+ console.log(` ${padRight(p.protocol, 8)} ${padLeft(String(p.count), 3)} calls ${padLeft(cost, 8)}`);
68
+ }
69
+ }
70
+ }
71
+ function printLastN(rows) {
72
+ console.log(`Last ${rows.length} consultations:`);
73
+ console.log(`${padRight('TIMESTAMP', 20)} ${padRight('MODEL', 8)} ${padRight('TYPE', 20)} ${padRight('DURATION', 10)} ${padRight('COST', 10)} ${padRight('EXIT', 5)} PROJECT`);
74
+ for (const row of rows) {
75
+ const ts = new Date(row.timestamp).toLocaleString('sv-SE', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }).replace(',', '');
76
+ const model = row.model;
77
+ const type = row.review_type ?? '';
78
+ const duration = `${row.duration_seconds.toFixed(1)}s`;
79
+ const cost = row.cost_usd !== null ? `$${row.cost_usd.toFixed(2)}` : 'N/A';
80
+ const exit = String(row.exit_code);
81
+ const project = row.project_id ?? '';
82
+ console.log(`${padRight(ts, 20)} ${padRight(model, 8)} ${padRight(type, 20)} ${padLeft(duration, 10)} ${padLeft(cost, 10)} ${padLeft(exit, 5)} ${project}`);
83
+ }
84
+ }
85
+ export async function handleStats(_args, options) {
86
+ // Cold start: check if database exists
87
+ if (!existsSync(MetricsDB.defaultPath)) {
88
+ console.log('No metrics data found. Run a consultation first.');
89
+ return;
90
+ }
91
+ const filters = {};
92
+ if (options.days) {
93
+ filters.days = parseInt(options.days, 10);
94
+ if (isNaN(filters.days) || filters.days <= 0) {
95
+ throw new Error(`Invalid --days value: ${options.days}`);
96
+ }
97
+ }
98
+ else {
99
+ filters.days = 30; // Default to last 30 days
100
+ }
101
+ if (options.model)
102
+ filters.model = options.model;
103
+ if (options.type)
104
+ filters.type = options.type;
105
+ if (options.protocol)
106
+ filters.protocol = options.protocol;
107
+ if (options.project)
108
+ filters.project = options.project;
109
+ if (options.last) {
110
+ filters.last = parseInt(options.last, 10);
111
+ if (isNaN(filters.last) || filters.last <= 0) {
112
+ throw new Error(`Invalid --last value: ${options.last}`);
113
+ }
114
+ }
115
+ const db = new MetricsDB();
116
+ try {
117
+ if (options.json) {
118
+ if (options.last) {
119
+ const rows = db.query(filters);
120
+ console.log(JSON.stringify(rows, null, 2));
121
+ }
122
+ else {
123
+ const summary = db.summary(filters);
124
+ console.log(JSON.stringify(summary, null, 2));
125
+ }
126
+ }
127
+ else if (options.last) {
128
+ const rows = db.query(filters);
129
+ if (rows.length === 0) {
130
+ console.log('No consultations found matching the filters.');
131
+ }
132
+ else {
133
+ printLastN(rows);
134
+ }
135
+ }
136
+ else {
137
+ const summary = db.summary(filters);
138
+ if (summary.totalCount === 0) {
139
+ console.log('No consultations found matching the filters.');
140
+ }
141
+ else {
142
+ printSummary(summary, filters.days);
143
+ }
144
+ }
145
+ }
146
+ finally {
147
+ db.close();
148
+ }
149
+ }
150
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/consult/stats.ts"],"names":[],"mappings":"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"}