cost-katana 2.0.3 → 2.0.5
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/README.md +80 -1
- package/dist/trace/types.d.ts +111 -0
- package/dist/trace/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -432,10 +432,89 @@ console.log('Total cost:', session.totalCost);
|
|
|
432
432
|
console.log('Total tokens:', session.totalTokens);
|
|
433
433
|
```
|
|
434
434
|
|
|
435
|
+
### Session Replay & Recording
|
|
436
|
+
|
|
437
|
+
Record and replay AI interactions for debugging and analysis:
|
|
438
|
+
|
|
439
|
+
```typescript
|
|
440
|
+
import { SessionReplayClient } from 'cost-katana/trace';
|
|
441
|
+
|
|
442
|
+
const replayClient = new SessionReplayClient({
|
|
443
|
+
apiKey: process.env.COST_KATANA_API_KEY
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
// Start recording a chat session
|
|
447
|
+
const { sessionId } = await replayClient.startRecording({
|
|
448
|
+
userId: 'user123',
|
|
449
|
+
feature: 'chat',
|
|
450
|
+
label: 'Customer Support Chat'
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
// Record AI interactions
|
|
454
|
+
await replayClient.recordInteraction({
|
|
455
|
+
sessionId,
|
|
456
|
+
interaction: {
|
|
457
|
+
timestamp: new Date(),
|
|
458
|
+
model: 'gpt-4',
|
|
459
|
+
prompt: 'How can I help you?',
|
|
460
|
+
response: 'I need assistance with...',
|
|
461
|
+
tokens: { input: 10, output: 20 },
|
|
462
|
+
cost: 0.0015,
|
|
463
|
+
latency: 850,
|
|
464
|
+
provider: 'openai'
|
|
465
|
+
}
|
|
466
|
+
});
|
|
467
|
+
|
|
468
|
+
// Record user actions
|
|
469
|
+
await replayClient.recordUserAction({
|
|
470
|
+
sessionId,
|
|
471
|
+
action: {
|
|
472
|
+
timestamp: new Date(),
|
|
473
|
+
action: 'button_click',
|
|
474
|
+
target: 'send_message'
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
// End recording
|
|
479
|
+
await replayClient.endRecording(sessionId);
|
|
480
|
+
|
|
481
|
+
// Later, retrieve the replay
|
|
482
|
+
const replay = await replayClient.getSessionReplay(sessionId);
|
|
483
|
+
console.log('Total interactions:', replay.replayData.aiInteractions.length);
|
|
484
|
+
console.log('Total cost:', replay.summary.totalCost);
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Distributed Tracing
|
|
488
|
+
|
|
489
|
+
Track AI operations across microservices:
|
|
490
|
+
|
|
491
|
+
```typescript
|
|
492
|
+
import { TraceClient, createTraceMiddleware } from 'cost-katana/trace';
|
|
493
|
+
import express from 'express';
|
|
494
|
+
|
|
495
|
+
const app = express();
|
|
496
|
+
const traceClient = new TraceClient({
|
|
497
|
+
apiKey: process.env.COST_KATANA_API_KEY
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
// Add tracing middleware
|
|
501
|
+
app.use(createTraceMiddleware({ traceService: traceClient }));
|
|
502
|
+
|
|
503
|
+
// Your routes automatically get traced
|
|
504
|
+
app.post('/api/chat', async (req, res) => {
|
|
505
|
+
const response = await ai('gpt-4', req.body.message);
|
|
506
|
+
res.json(response);
|
|
507
|
+
});
|
|
508
|
+
|
|
509
|
+
// View traces in your dashboard at costkatana.com/sessions
|
|
510
|
+
```
|
|
511
|
+
|
|
435
512
|
### Dashboard Features
|
|
436
513
|
|
|
437
514
|
Visit [costkatana.com/dashboard](https://costkatana.com/dashboard) to see:
|
|
438
515
|
|
|
516
|
+
- **Session Replays**: Timeline playback of AI interactions
|
|
517
|
+
- **Debug Traces**: Span-level distributed tracing
|
|
439
518
|
- Real-time cost tracking
|
|
440
519
|
- Usage by model and provider
|
|
441
520
|
- Daily/weekly/monthly spending
|
|
@@ -556,7 +635,7 @@ const response = await ai('gpt-4', 'Hello');
|
|
|
556
635
|
- **Documentation**: [docs.costkatana.com](https://docs.costkatana.com)
|
|
557
636
|
- **GitHub**: [github.com/cost-katana](https://github.com/cost-katana)
|
|
558
637
|
- **Email**: support@costkatana.com
|
|
559
|
-
- **Discord**: [discord.gg/costkatana](https://discord.gg/
|
|
638
|
+
- **Discord**: [discord.gg/costkatana](https://discord.gg/D8nDArmKbY)
|
|
560
639
|
|
|
561
640
|
## License
|
|
562
641
|
|
package/dist/trace/types.d.ts
CHANGED
|
@@ -99,4 +99,115 @@ export interface TraceService {
|
|
|
99
99
|
getSessionGraph(sessionId: string): Promise<SessionGraph>;
|
|
100
100
|
getSessionDetails(sessionId: string): Promise<SessionDetails>;
|
|
101
101
|
}
|
|
102
|
+
export type AppFeature = 'chat' | 'experimentation' | 'workflow' | 'agent' | 'notebook';
|
|
103
|
+
export interface AIInteraction {
|
|
104
|
+
timestamp: Date;
|
|
105
|
+
model: string;
|
|
106
|
+
prompt: string;
|
|
107
|
+
response: string;
|
|
108
|
+
tokens: {
|
|
109
|
+
input: number;
|
|
110
|
+
output: number;
|
|
111
|
+
};
|
|
112
|
+
cost: number;
|
|
113
|
+
latency: number;
|
|
114
|
+
provider: string;
|
|
115
|
+
parameters?: Record<string, any>;
|
|
116
|
+
requestMetadata?: Record<string, any>;
|
|
117
|
+
responseMetadata?: Record<string, any>;
|
|
118
|
+
}
|
|
119
|
+
export interface UserAction {
|
|
120
|
+
timestamp: Date;
|
|
121
|
+
action: string;
|
|
122
|
+
target?: string;
|
|
123
|
+
metadata?: Record<string, any>;
|
|
124
|
+
}
|
|
125
|
+
export interface CodeContext {
|
|
126
|
+
timestamp: Date;
|
|
127
|
+
file?: string;
|
|
128
|
+
language?: string;
|
|
129
|
+
snippet?: string;
|
|
130
|
+
cursorPosition?: {
|
|
131
|
+
line: number;
|
|
132
|
+
column: number;
|
|
133
|
+
};
|
|
134
|
+
metadata?: Record<string, any>;
|
|
135
|
+
}
|
|
136
|
+
export interface SystemMetrics {
|
|
137
|
+
timestamp: Date;
|
|
138
|
+
cpu?: number;
|
|
139
|
+
memory?: number;
|
|
140
|
+
activeRequests?: number;
|
|
141
|
+
metadata?: Record<string, any>;
|
|
142
|
+
}
|
|
143
|
+
export interface StartRecordingInput {
|
|
144
|
+
userId: string;
|
|
145
|
+
feature: AppFeature;
|
|
146
|
+
label: string;
|
|
147
|
+
metadata?: Record<string, any>;
|
|
148
|
+
}
|
|
149
|
+
export interface RecordInteractionInput {
|
|
150
|
+
sessionId: string;
|
|
151
|
+
interaction: AIInteraction;
|
|
152
|
+
}
|
|
153
|
+
export interface RecordUserActionInput {
|
|
154
|
+
sessionId: string;
|
|
155
|
+
action: UserAction;
|
|
156
|
+
}
|
|
157
|
+
export interface RecordCodeContextInput {
|
|
158
|
+
sessionId: string;
|
|
159
|
+
context: CodeContext;
|
|
160
|
+
}
|
|
161
|
+
export interface SessionReplayData {
|
|
162
|
+
aiInteractions: AIInteraction[];
|
|
163
|
+
userActions: UserAction[];
|
|
164
|
+
codeContext: CodeContext[];
|
|
165
|
+
systemMetrics: SystemMetrics[];
|
|
166
|
+
workspaceState?: Record<string, any>;
|
|
167
|
+
}
|
|
168
|
+
export interface SessionReplay {
|
|
169
|
+
sessionId: string;
|
|
170
|
+
userId: string;
|
|
171
|
+
label: string;
|
|
172
|
+
source: 'in-app' | 'integration';
|
|
173
|
+
appFeature?: AppFeature;
|
|
174
|
+
integrationName?: string;
|
|
175
|
+
startedAt: Date;
|
|
176
|
+
endedAt?: Date;
|
|
177
|
+
duration?: number;
|
|
178
|
+
status: 'active' | 'completed' | 'error';
|
|
179
|
+
hasErrors: boolean;
|
|
180
|
+
errorCount: number;
|
|
181
|
+
replayData: SessionReplayData;
|
|
182
|
+
summary: {
|
|
183
|
+
totalCost: number;
|
|
184
|
+
totalTokens: {
|
|
185
|
+
input: number;
|
|
186
|
+
output: number;
|
|
187
|
+
};
|
|
188
|
+
totalSpans: number;
|
|
189
|
+
};
|
|
190
|
+
metadata?: Record<string, any>;
|
|
191
|
+
}
|
|
192
|
+
export interface SessionReplayService {
|
|
193
|
+
startRecording(input: StartRecordingInput): Promise<{
|
|
194
|
+
sessionId: string;
|
|
195
|
+
}>;
|
|
196
|
+
recordInteraction(input: RecordInteractionInput): Promise<void>;
|
|
197
|
+
recordUserAction(input: RecordUserActionInput): Promise<void>;
|
|
198
|
+
recordCodeContext(input: RecordCodeContextInput): Promise<void>;
|
|
199
|
+
endRecording(sessionId: string): Promise<void>;
|
|
200
|
+
getSessionReplay(sessionId: string): Promise<SessionReplay>;
|
|
201
|
+
listSessionReplays(filters?: {
|
|
202
|
+
userId?: string;
|
|
203
|
+
feature?: AppFeature;
|
|
204
|
+
startDate?: Date;
|
|
205
|
+
endDate?: Date;
|
|
206
|
+
page?: number;
|
|
207
|
+
limit?: number;
|
|
208
|
+
}): Promise<{
|
|
209
|
+
replays: SessionReplay[];
|
|
210
|
+
total: number;
|
|
211
|
+
}>;
|
|
212
|
+
}
|
|
102
213
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trace/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trace/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cost-katana",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "The simplest way to use AI with automatic cost tracking and optimization. Works with OpenAI, Anthropic, Google, AWS Bedrock, and more.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|