@frogbotai/plugin-usage-reports 0.26.0 → 0.28.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frogbotai/plugin-usage-reports",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "Usage analytics reports for FrogBot.",
5
5
  "license": "MIT",
6
6
  "author": "Colby Gilbert",
@@ -38,7 +38,7 @@
38
38
  "@payloadcms/ui": "3.90.1",
39
39
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
40
40
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
41
- "frogbot": "0.26.0"
41
+ "frogbot": "0.28.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@payloadcms/ui": "3.90.1",
@@ -47,14 +47,14 @@
47
47
  "react": "19.2.6",
48
48
  "react-dom": "19.2.6",
49
49
  "typescript": "5.6.2",
50
- "@frogbotai/plugin-import-export": "0.26.0",
51
- "frogbot": "0.26.0"
50
+ "frogbot": "0.28.0",
51
+ "@frogbotai/plugin-import-export": "0.28.0"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
56
  "scripts": {
57
- "build": "tsc -p tsconfig.json && cp src/client/styles.css dist/client/styles.css",
57
+ "build": "rm -rf dist && tsc -p tsconfig.json && cp src/client/styles.css dist/client/styles.css",
58
58
  "clean": "rm -rf dist",
59
59
  "typecheck": "tsc --noEmit"
60
60
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=UsageReports.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsageReports.spec.d.ts","sourceRoot":"","sources":["../../src/client/UsageReports.spec.tsx"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fireEvent, render, screen, waitFor } from '@testing-library/react';
3
- import { afterEach, describe, expect, it, vi } from 'vitest';
4
- import { UsageReports } from './UsageReports.js';
5
- vi.mock('@payloadcms/ui', () => ({
6
- useConfig: () => ({
7
- config: { routes: { admin: '/admin', api: '/api' } },
8
- }),
9
- }));
10
- const modelRows = [
11
- {
12
- key: 'small',
13
- label: 'Small',
14
- requestCount: 1,
15
- inputTokens: 1,
16
- outputTokens: 1,
17
- cachedInputTokens: 0,
18
- cacheWriteTokens: 0,
19
- reasoningTokens: 0,
20
- totalTokens: 2,
21
- costUSD: 0.1,
22
- },
23
- {
24
- key: 'large',
25
- label: 'Large',
26
- requestCount: 2,
27
- inputTokens: 6,
28
- outputTokens: 4,
29
- cachedInputTokens: 0,
30
- cacheWriteTokens: 0,
31
- reasoningTokens: 0,
32
- totalTokens: 10,
33
- costUSD: 0.5,
34
- },
35
- ];
36
- describe('UsageReports', () => {
37
- afterEach(() => vi.unstubAllGlobals());
38
- it('loads the Firmware models/users and date range slice', async () => {
39
- const fetch = vi.fn().mockResolvedValue(new Response(JSON.stringify({
40
- groupBy: 'model',
41
- from: '2026-01-01T00:00:00.000Z',
42
- to: '2026-02-01T00:00:00.000Z',
43
- rows: modelRows,
44
- totals: {
45
- requestCount: 3,
46
- inputTokens: 7,
47
- outputTokens: 5,
48
- cachedInputTokens: 0,
49
- cacheWriteTokens: 0,
50
- reasoningTokens: 0,
51
- totalTokens: 12,
52
- costUSD: 0.6,
53
- },
54
- }), { status: 200 }));
55
- vi.stubGlobal('fetch', fetch);
56
- render(_jsx(UsageReports, {}));
57
- expect(screen.getByRole('heading', { name: 'Usage Analytics' })).toBeTruthy();
58
- expect(screen.getByRole('button', { name: 'Last 7 days' })).toBeTruthy();
59
- await waitFor(() => expect(screen.getByText('Large')).toBeTruthy());
60
- expect(fetch).toHaveBeenCalledWith(expect.stringContaining('/api/usage/report?groupBy=model'), expect.any(Object));
61
- fireEvent.click(screen.getByRole('button', { name: 'Users' }));
62
- await waitFor(() => expect(fetch).toHaveBeenCalledWith(expect.stringContaining('groupBy=user'), expect.any(Object)));
63
- fireEvent.click(screen.getByRole('button', { name: 'Custom' }));
64
- expect(screen.getByLabelText('From')).toBeTruthy();
65
- expect(screen.getByLabelText('To')).toBeTruthy();
66
- });
67
- });
68
- //# sourceMappingURL=UsageReports.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsageReports.spec.js","sourceRoot":"","sources":["../../src/client/UsageReports.spec.tsx"],"names":[],"mappings":"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"}