@supaku/agentfactory-nextjs 0.4.9 → 0.5.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.
@@ -11,6 +11,7 @@ export interface PublicSessionResponse {
11
11
  workType: string;
12
12
  startedAt: string;
13
13
  duration: number;
14
+ costUsd?: number;
14
15
  }
15
16
  export declare function createPublicSessionsListHandler(): () => Promise<NextResponse<{
16
17
  sessions: PublicSessionResponse[];
@@ -1 +1 @@
1
- {"version":3,"file":"sessions-list.d.ts","sourceRoot":"","sources":["../../../../src/handlers/public/sessions-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5E,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAmDD,wBAAgB,+BAA+B;;;;IA6B9C"}
1
+ {"version":3,"file":"sessions-list.d.ts","sourceRoot":"","sources":["../../../../src/handlers/public/sessions-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5E,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAoDD,wBAAgB,+BAA+B;;;;IA6B9C"}
@@ -44,6 +44,7 @@ async function toPublicSession(session) {
44
44
  workType: session.workType || 'development',
45
45
  startedAt: new Date(startTime * 1000).toISOString(),
46
46
  duration: endTime - startTime,
47
+ costUsd: session.totalCostUsd,
47
48
  };
48
49
  }
49
50
  export function createPublicSessionsListHandler() {
@@ -10,6 +10,7 @@ export interface PublicStatsResponse {
10
10
  queueDepth: number;
11
11
  completedToday: number;
12
12
  availableCapacity: number;
13
+ totalCostToday: number;
13
14
  }
14
15
  export declare function createPublicStatsHandler(): () => Promise<NextResponse<{
15
16
  timestamp: string;
@@ -18,5 +19,6 @@ export declare function createPublicStatsHandler(): () => Promise<NextResponse<{
18
19
  queueDepth: number;
19
20
  completedToday: number;
20
21
  availableCapacity: number;
22
+ totalCostToday: number;
21
23
  }>>;
22
24
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/handlers/public/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAUD,wBAAgB,wBAAwB;;mBAfvB,MAAM;mBACN,MAAM;gBACT,MAAM;oBACF,MAAM;uBACH,MAAM;IAgE1B"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/handlers/public/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;CACvB;AAUD,wBAAgB,wBAAwB;;mBAhBvB,MAAM;mBACN,MAAM;gBACT,MAAM;oBACF,MAAM;uBACH,MAAM;oBACT,MAAM;IAsEvB"}
@@ -24,6 +24,9 @@ export function createPublicStatsHandler() {
24
24
  const agentsWorking = allSessions.filter((s) => s.status === 'running' || s.status === 'claimed').length;
25
25
  const completedToday = allSessions.filter((s) => s.status === 'completed' &&
26
26
  s.updatedAt >= todayStart).length;
27
+ const totalCostToday = allSessions
28
+ .filter((s) => s.updatedAt >= todayStart)
29
+ .reduce((sum, s) => sum + (s.totalCostUsd ?? 0), 0);
27
30
  const workersOnline = workers.filter((w) => w.status === 'active').length;
28
31
  const stats = {
29
32
  workersOnline,
@@ -31,6 +34,7 @@ export function createPublicStatsHandler() {
31
34
  queueDepth: queueLength,
32
35
  completedToday,
33
36
  availableCapacity: capacity.availableCapacity,
37
+ totalCostToday: Math.round(totalCostToday * 10000) / 10000,
34
38
  };
35
39
  return NextResponse.json({
36
40
  ...stats,
@@ -45,6 +49,7 @@ export function createPublicStatsHandler() {
45
49
  queueDepth: 0,
46
50
  completedToday: 0,
47
51
  availableCapacity: 0,
52
+ totalCostToday: 0,
48
53
  error: 'Failed to fetch stats',
49
54
  timestamp: new Date().toISOString(),
50
55
  }, { status: 500 });
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/middleware/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AA0GlD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,gBAAgB;0BAO3C,WAAW,KAAG,YAAY,GAAG,SAAS;;;;EAgHpE"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/middleware/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AA0GlD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,gBAAgB;0BAO3C,WAAW,KAAG,YAAY,GAAG,SAAS;;;;EAkHpE"}
@@ -75,7 +75,7 @@ function timingSafeEqual(a, b) {
75
75
  return result === 0;
76
76
  }
77
77
  // === Route defaults ===
78
- const DEFAULT_PUBLIC_ROUTES = ['/api/public/', '/dashboard', '/'];
78
+ const DEFAULT_PUBLIC_ROUTES = ['/api/public/', '/dashboard', '/pipeline', '/settings', '/'];
79
79
  const DEFAULT_PROTECTED_ROUTES = ['/api/sessions', '/api/workers'];
80
80
  const DEFAULT_SESSION_PAGES = ['/sessions/'];
81
81
  const DEFAULT_WEBHOOK_ROUTE = '/webhook';
@@ -175,6 +175,8 @@ export function createAgentFactoryMiddleware(userConfig) {
175
175
  '/api/:path*',
176
176
  webhookRoute,
177
177
  '/dashboard',
178
+ '/pipeline',
179
+ '/settings',
178
180
  '/sessions/:path*',
179
181
  '/',
180
182
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supaku/agentfactory-nextjs",
3
- "version": "0.4.9",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Next.js API route handlers for AgentFactory — webhook processor, worker/session management, public stats",
6
6
  "author": "Supaku (https://supaku.com)",
@@ -48,9 +48,9 @@
48
48
  "LICENSE"
49
49
  ],
50
50
  "dependencies": {
51
- "@supaku/agentfactory": "0.4.9",
52
- "@supaku/agentfactory-server": "0.4.9",
53
- "@supaku/agentfactory-linear": "0.4.9"
51
+ "@supaku/agentfactory-linear": "0.5.1",
52
+ "@supaku/agentfactory-server": "0.5.1",
53
+ "@supaku/agentfactory": "0.5.1"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "next": ">=14.0.0"