@felan-ai/ext-insights 0.0.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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +9 -0
  3. package/README.md +31 -0
  4. package/dist/analytics.d.ts +3 -0
  5. package/dist/analytics.d.ts.map +1 -0
  6. package/dist/analytics.js +555 -0
  7. package/dist/analytics.js.map +1 -0
  8. package/dist/cli.d.ts +21 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +70 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/contracts.d.ts +20 -0
  13. package/dist/contracts.d.ts.map +1 -0
  14. package/dist/contracts.js +2 -0
  15. package/dist/contracts.js.map +1 -0
  16. package/dist/facets.d.ts +19 -0
  17. package/dist/facets.d.ts.map +1 -0
  18. package/dist/facets.js +60 -0
  19. package/dist/facets.js.map +1 -0
  20. package/dist/generated/report-app.d.ts +4 -0
  21. package/dist/generated/report-app.d.ts.map +1 -0
  22. package/dist/generated/report-app.js +5 -0
  23. package/dist/generated/report-app.js.map +1 -0
  24. package/dist/index.d.ts +14 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +114 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/markdown.d.ts +3 -0
  29. package/dist/markdown.d.ts.map +1 -0
  30. package/dist/markdown.js +169 -0
  31. package/dist/markdown.js.map +1 -0
  32. package/dist/parser.d.ts +3 -0
  33. package/dist/parser.d.ts.map +1 -0
  34. package/dist/parser.js +309 -0
  35. package/dist/parser.js.map +1 -0
  36. package/dist/rage.d.ts +12 -0
  37. package/dist/rage.d.ts.map +1 -0
  38. package/dist/rage.js +35 -0
  39. package/dist/rage.js.map +1 -0
  40. package/dist/report-app/logo.d.ts +2 -0
  41. package/dist/report-app/logo.d.ts.map +1 -0
  42. package/dist/report-app/logo.js +2 -0
  43. package/dist/report-app/logo.js.map +1 -0
  44. package/dist/report-app/utils.d.ts +7 -0
  45. package/dist/report-app/utils.d.ts.map +1 -0
  46. package/dist/report-app/utils.js +60 -0
  47. package/dist/report-app/utils.js.map +1 -0
  48. package/dist/report.d.ts +3 -0
  49. package/dist/report.d.ts.map +1 -0
  50. package/dist/report.js +7 -0
  51. package/dist/report.js.map +1 -0
  52. package/dist/types.d.ts +354 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +2 -0
  55. package/dist/types.js.map +1 -0
  56. package/package.json +55 -0
@@ -0,0 +1,354 @@
1
+ export interface SessionEvent {
2
+ type: string;
3
+ timestamp?: string;
4
+ id?: string;
5
+ parentId?: string;
6
+ [key: string]: unknown;
7
+ }
8
+ export interface ContentItem {
9
+ type: string;
10
+ text?: string;
11
+ name?: string;
12
+ isError?: boolean;
13
+ input?: unknown;
14
+ args?: unknown;
15
+ arguments?: unknown;
16
+ }
17
+ export interface TokenUsage {
18
+ input?: number;
19
+ output?: number;
20
+ cacheRead?: number;
21
+ cacheWrite?: number;
22
+ totalTokens?: number;
23
+ cost?: {
24
+ input?: number;
25
+ output?: number;
26
+ cacheRead?: number;
27
+ cacheWrite?: number;
28
+ total?: number;
29
+ };
30
+ }
31
+ export interface SessionMessage {
32
+ role: "user" | "assistant" | "tool";
33
+ content?: ContentItem[];
34
+ usage?: TokenUsage;
35
+ model?: string;
36
+ provider?: string;
37
+ api?: string;
38
+ thinkingLevel?: string;
39
+ toolCalls?: Array<{
40
+ name?: string;
41
+ input?: unknown;
42
+ args?: unknown;
43
+ arguments?: unknown;
44
+ }>;
45
+ toolResults?: Array<{
46
+ name?: string;
47
+ isError?: boolean;
48
+ }>;
49
+ stopReason?: string;
50
+ }
51
+ export interface RageHit {
52
+ word: string;
53
+ group: string;
54
+ hour: number;
55
+ model: string;
56
+ msgIndex: number;
57
+ }
58
+ export interface ParsedSession {
59
+ id: string;
60
+ cwd: string;
61
+ projectName: string;
62
+ startTime: Date;
63
+ endTime: Date;
64
+ duration: number;
65
+ messageCount: number;
66
+ userMessageCount: number;
67
+ assistantMessageCount: number;
68
+ toolCallCount: number;
69
+ tokenUsage: {
70
+ input: number;
71
+ output: number;
72
+ cacheRead: number;
73
+ cacheWrite: number;
74
+ total: number;
75
+ };
76
+ cost: {
77
+ input: number;
78
+ output: number;
79
+ cacheRead: number;
80
+ cacheWrite: number;
81
+ total: number;
82
+ };
83
+ models: Record<string, {
84
+ count: number;
85
+ tokens: number;
86
+ cost: number;
87
+ }>;
88
+ providers: Record<string, number>;
89
+ thinkingLevels: Record<string, number>;
90
+ toolUsage: Record<string, number>;
91
+ stopReasons: Record<string, number>;
92
+ toolCallErrors: number;
93
+ hasError: boolean;
94
+ rageHits: RageHit[];
95
+ metadata?: SessionMetadata;
96
+ }
97
+ export interface SessionMetadata {
98
+ primaryModel: string;
99
+ responseTimesMs: number[];
100
+ avgResponseTimeMs: number;
101
+ firstResponseTimeMs?: number;
102
+ activityByHour: Record<string, number>;
103
+ filesMentioned: string[];
104
+ languageCounts: Record<string, number>;
105
+ gitActivity: {
106
+ commits: number;
107
+ pushes: number;
108
+ statusChecks: number;
109
+ diffs: number;
110
+ };
111
+ toolErrorsByName: Record<string, number>;
112
+ userInterruptions: number;
113
+ }
114
+ export interface DailyStats {
115
+ date: string;
116
+ sessions: number;
117
+ messages: number;
118
+ tokens: number;
119
+ cost: number;
120
+ }
121
+ export interface ProjectStats {
122
+ name: string;
123
+ sessions: number;
124
+ messages: number;
125
+ tokens: number;
126
+ cost: number;
127
+ duration: number;
128
+ }
129
+ export interface ModelStats {
130
+ name: string;
131
+ count: number;
132
+ tokens: number;
133
+ cost: number;
134
+ avgDuration: number;
135
+ }
136
+ export interface RageStats {
137
+ total: number;
138
+ messagesWithSwears: number;
139
+ byModel: {
140
+ name: string;
141
+ count: number;
142
+ }[];
143
+ byHour: {
144
+ hour: number;
145
+ count: number;
146
+ }[];
147
+ byProject: {
148
+ name: string;
149
+ count: number;
150
+ }[];
151
+ topWords: {
152
+ word: string;
153
+ group: string;
154
+ count: number;
155
+ }[];
156
+ }
157
+ export interface InsightFlag {
158
+ severity: "info" | "warning" | "critical";
159
+ title: string;
160
+ detail: string;
161
+ sessionIds?: string[];
162
+ }
163
+ export interface TemporalInsights {
164
+ generatedAt: string;
165
+ decayHalfLifeDays?: number;
166
+ decayWeightedActivity?: {
167
+ sessions: number;
168
+ messages: number;
169
+ tokens: number;
170
+ cost: number;
171
+ };
172
+ weekOverWeek?: {
173
+ currentStart: string;
174
+ previousStart: string;
175
+ sessionsDelta: number;
176
+ costDelta: number;
177
+ toolErrorDelta: number;
178
+ };
179
+ trajectory?: {
180
+ cost: "improving" | "worsening" | "stable";
181
+ errors: "improving" | "worsening" | "stable";
182
+ };
183
+ anomalies?: InsightFlag[];
184
+ deterministicFriction?: {
185
+ ongoing: InsightFlag[];
186
+ resolved: InsightFlag[];
187
+ };
188
+ }
189
+ export interface ModelEfficiencyInsight {
190
+ model: string;
191
+ tokens: number;
192
+ cost: number;
193
+ costPerToken: number;
194
+ costPerMessage: number;
195
+ messages: number;
196
+ sessions: number;
197
+ avgSessionDuration: number;
198
+ toolErrorRate?: number;
199
+ }
200
+ export interface ModelEfficiencySummary {
201
+ generatedAt: string;
202
+ models: ModelEfficiencyInsight[];
203
+ recommendations: string[];
204
+ }
205
+ export interface AiSessionFacet {
206
+ sessionId: string;
207
+ goal?: string;
208
+ goalCategories?: string[];
209
+ outcome?: string;
210
+ satisfaction?: "positive" | "neutral" | "negative" | "mixed";
211
+ friction?: string[];
212
+ helpfulness?: string;
213
+ sessionType?: string;
214
+ summary?: string;
215
+ }
216
+ export interface InsightRecommendation {
217
+ title: string;
218
+ detail: string;
219
+ prompt?: string;
220
+ category?: "try" | "stop" | "workflow" | "model";
221
+ }
222
+ export interface AiInsights {
223
+ status: "available" | "unavailable" | "partial";
224
+ generatedAt?: string;
225
+ sourceRange?: {
226
+ start: string;
227
+ end: string;
228
+ };
229
+ cacheState?: "hit" | "miss" | "mixed" | "skipped";
230
+ unavailableReason?: string;
231
+ facets: AiSessionFacet[];
232
+ recommendations: InsightRecommendation[];
233
+ stopDoing: InsightRecommendation[];
234
+ }
235
+ export interface DeterministicAnalysis {
236
+ generatedAt: string;
237
+ takeaways: InsightFlag[];
238
+ recommendations: InsightRecommendation[];
239
+ stopDoing: InsightRecommendation[];
240
+ }
241
+ export interface AnalyticsCacheMetadata {
242
+ root: string;
243
+ refreshed: boolean;
244
+ versions: {
245
+ schema: string;
246
+ parser: string;
247
+ facetPrompt: string;
248
+ };
249
+ sessionMeta: {
250
+ hits: number;
251
+ misses: number;
252
+ writes: number;
253
+ errors: number;
254
+ };
255
+ }
256
+ export interface ReportExportMetadata {
257
+ generatedAt: string;
258
+ outputFormats: Array<"html" | "markdown">;
259
+ htmlPath?: string;
260
+ markdownPath?: string;
261
+ }
262
+ export interface InsightsSavingsBucket {
263
+ day: string;
264
+ sessionId: string;
265
+ projectKey: string;
266
+ projectName?: string;
267
+ producerId: string;
268
+ category: string;
269
+ operation?: string;
270
+ basis: string;
271
+ tool?: string;
272
+ techniques?: string[];
273
+ calls: number;
274
+ baselineCostUsd?: number;
275
+ actualCostUsd?: number;
276
+ baselineModel?: string;
277
+ actualModel?: string;
278
+ priceSource: string;
279
+ }
280
+ export interface InsightsSavingsReport {
281
+ scope: string;
282
+ calls: number;
283
+ baselineCostUsd: number;
284
+ actualCostUsd: number;
285
+ savedCostUsd: number;
286
+ hasUnpricedMeasurements: boolean;
287
+ buckets: InsightsSavingsBucket[];
288
+ diagnostics: string[];
289
+ }
290
+ export interface Analytics {
291
+ totalSessions: number;
292
+ totalMessages: number;
293
+ totalTokens: number;
294
+ totalCost: number;
295
+ totalDuration: number;
296
+ avgSessionDuration: number;
297
+ avgMessagesPerSession: number;
298
+ dateRange: {
299
+ start: string;
300
+ end: string;
301
+ };
302
+ dailyStats: DailyStats[];
303
+ projectStats: ProjectStats[];
304
+ modelStats: ModelStats[];
305
+ topTools: {
306
+ name: string;
307
+ count: number;
308
+ }[];
309
+ thinkingLevelDistribution: {
310
+ name: string;
311
+ count: number;
312
+ }[];
313
+ stopReasonDistribution: {
314
+ name: string;
315
+ count: number;
316
+ }[];
317
+ hourlyDistribution: {
318
+ hour: number;
319
+ count: number;
320
+ }[];
321
+ modelSwitchCount: number;
322
+ rageStats: RageStats;
323
+ cache?: AnalyticsCacheMetadata;
324
+ export?: ReportExportMetadata;
325
+ temporal?: TemporalInsights;
326
+ modelEfficiency?: ModelEfficiencySummary;
327
+ analysis?: DeterministicAnalysis;
328
+ ai?: AiInsights;
329
+ sessions: Array<{
330
+ id: string;
331
+ cwd: string;
332
+ projectName: string;
333
+ startTime: string;
334
+ endTime: string;
335
+ duration: number;
336
+ messageCount: number;
337
+ userMessageCount: number;
338
+ assistantMessageCount: number;
339
+ toolCallCount: number;
340
+ tokenUsage: ParsedSession["tokenUsage"];
341
+ cost: ParsedSession["cost"];
342
+ models: ParsedSession["models"];
343
+ providers: ParsedSession["providers"];
344
+ thinkingLevels: ParsedSession["thinkingLevels"];
345
+ toolUsage: ParsedSession["toolUsage"];
346
+ stopReasons: ParsedSession["stopReasons"];
347
+ toolCallErrors: number;
348
+ hasError: boolean;
349
+ rageHits: ParsedSession["rageHits"];
350
+ metadata?: ParsedSession["metadata"];
351
+ }>;
352
+ savings?: InsightsSavingsReport;
353
+ }
354
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@felan-ai/ext-insights",
3
+ "version": "0.0.0",
4
+ "description": "Portable session analytics reports for Felan",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/felan-ai/felan.git",
10
+ "directory": "packages/ext-insights"
11
+ },
12
+ "engines": {
13
+ "node": ">=22.19.0"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "LICENSE",
18
+ "NOTICE",
19
+ "README.md"
20
+ ],
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.ts",
24
+ "import": "./dist/index.js"
25
+ }
26
+ },
27
+ "peerDependencies": {
28
+ "@felan-ai/agent-core": "^0.5.5"
29
+ },
30
+ "devDependencies": {
31
+ "@felan-ai/agent-core": "0.5.5",
32
+ "@types/react": "19.2.14",
33
+ "@types/react-dom": "19.2.3",
34
+ "@vitejs/plugin-react": "6.0.2",
35
+ "esbuild": "0.27.4",
36
+ "react": "19.2.6",
37
+ "react-dom": "19.2.6",
38
+ "react-is": "19.1.0",
39
+ "recharts": "3.8.1",
40
+ "vite": "8.2.0"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public",
44
+ "provenance": true
45
+ },
46
+ "scripts": {
47
+ "build:report": "node scripts/build-report-app.mjs",
48
+ "prebuild": "pnpm build:report",
49
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
50
+ "pretype-check": "pnpm build:report",
51
+ "type-check": "tsc -p tsconfig.json --noEmit",
52
+ "pretest": "pnpm build:report",
53
+ "test": "vitest run"
54
+ }
55
+ }