@sensu-ai/sdk 0.5.2 → 0.6.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.
- package/README.md +81 -8
- package/dist/client.d.ts +51 -1
- package/dist/client.js +198 -5
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/integrations/anthropic.d.ts +34 -0
- package/dist/integrations/anthropic.js +79 -0
- package/dist/integrations/anthropic.js.map +1 -0
- package/dist/integrations/langchain.js +1 -1
- package/dist/types.d.ts +10 -0
- package/package.json +17 -8
package/README.md
CHANGED
|
@@ -12,6 +12,38 @@ npm install @sensu-ai/sdk
|
|
|
12
12
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
15
|
+
### High-level API (recommended for Node.js)
|
|
16
|
+
|
|
17
|
+
Uses `AsyncLocalStorage` so concurrent requests each get an isolated run context automatically — no run handle passing required.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { SensuClient } from '@sensu-ai/sdk';
|
|
21
|
+
import { wrapAnthropic } from '@sensu-ai/sdk/integrations/anthropic';
|
|
22
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
23
|
+
|
|
24
|
+
const sensu = new SensuClient({
|
|
25
|
+
apiKey: process.env.SENSU_API_KEY,
|
|
26
|
+
agentId: 'my-agent',
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const anthropic = wrapAnthropic(new Anthropic(), { client: sensu });
|
|
30
|
+
|
|
31
|
+
// sensu.run() creates a run, propagates context automatically, and ends on completion
|
|
32
|
+
await sensu.run({ sessionId: 'abc' }, async (run) => {
|
|
33
|
+
// All wrapAnthropic calls inside here are automatically attributed to this run
|
|
34
|
+
const response = await anthropic.messages.create({
|
|
35
|
+
model: 'claude-sonnet-4-6',
|
|
36
|
+
max_tokens: 1024,
|
|
37
|
+
messages: [{ role: 'user', content: 'Hello' }],
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Client-level helpers — no step handle needed
|
|
41
|
+
const result = await sensu.trackTool('search_web', () => searchWeb(query));
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Low-level API
|
|
46
|
+
|
|
15
47
|
```ts
|
|
16
48
|
import { SensuClient } from '@sensu-ai/sdk';
|
|
17
49
|
|
|
@@ -44,16 +76,19 @@ await run.end();
|
|
|
44
76
|
|
|
45
77
|
```ts
|
|
46
78
|
const sensu = new SensuClient({
|
|
47
|
-
apiKey: 'sns_live_...',
|
|
48
|
-
agentId: 'my-agent',
|
|
49
|
-
baseUrl: 'https://...',
|
|
50
|
-
orgId: '',
|
|
51
|
-
batchSize: 10,
|
|
52
|
-
flushIntervalMs: 2000,
|
|
53
|
-
disabled: false,
|
|
79
|
+
apiKey: 'sns_live_...', // Required. Your Sensu API key
|
|
80
|
+
agentId: 'my-agent', // Required. Identifies this agent in the dashboard
|
|
81
|
+
baseUrl: 'https://...', // Default: http://localhost:3001
|
|
82
|
+
orgId: '', // Optional. Populated automatically from your API key
|
|
83
|
+
batchSize: 10, // Flush after N events (default: 10)
|
|
84
|
+
flushIntervalMs: 2000, // Flush every N ms (default: 2000)
|
|
85
|
+
disabled: false, // Set true to disable all telemetry (e.g. in tests)
|
|
86
|
+
debugMode: false, // Print one-line event summaries to the console during dev
|
|
54
87
|
});
|
|
55
88
|
```
|
|
56
89
|
|
|
90
|
+
`debugMode: true` prints a human-readable line to `console.log` for every event before it is flushed. Events are still sent to the API — this flag observes only.
|
|
91
|
+
|
|
57
92
|
You can also load config from environment variables:
|
|
58
93
|
|
|
59
94
|
```ts
|
|
@@ -73,9 +108,15 @@ const sensu = new SensuClient({ fromEnv: true });
|
|
|
73
108
|
|
|
74
109
|
| Method | Description |
|
|
75
110
|
|---|---|
|
|
111
|
+
| `run(opts, fn)` | Execute `fn` inside a new run context (Node.js only — uses `AsyncLocalStorage`). Ends the run automatically when `fn` resolves or throws. |
|
|
76
112
|
| `startRun(opts?)` | Start a new agent run. Returns a `RunHandle`. |
|
|
113
|
+
| `getActiveRun()` | Returns the `RunHandle` for the current async context, or `undefined` if called outside `sensu.run()`. |
|
|
114
|
+
| `trackTool(name, fn, opts?)` | Track a tool call inside the active `sensu.run()` context. No-op if called outside a run. |
|
|
115
|
+
| `trackRetrieval(storeId, opts, fn)` | Track a retrieval call inside the active `sensu.run()` context. No-op if called outside a run. |
|
|
116
|
+
| `trackEmbedding(model, opts, fn)` | Track an embedding call inside the active `sensu.run()` context. No-op if called outside a run. |
|
|
117
|
+
| `trackGuardrail(id, type, fn)` | Track a guardrail check inside the active `sensu.run()` context. No-op if called outside a run. |
|
|
77
118
|
| `flush()` | Manually flush buffered events to the API. |
|
|
78
|
-
| `destroy()` | Stop the background flush timer. |
|
|
119
|
+
| `destroy()` | Stop the background flush timer and deregister the `beforeExit` handler. |
|
|
79
120
|
|
|
80
121
|
### `RunHandle`
|
|
81
122
|
|
|
@@ -91,10 +132,42 @@ const sensu = new SensuClient({ fromEnv: true });
|
|
|
91
132
|
| `trackLlm(opts)` | Wrap an LLM call — measures latency and extracts token usage from the response. |
|
|
92
133
|
| `recordLlm(opts)` | Emit a raw LLM event when you already have the stats. |
|
|
93
134
|
| `trackTool(opts)` | Wrap a tool call — measures latency and output size. |
|
|
135
|
+
| `trackRetrieval(opts)` | Track a vector store retrieval. |
|
|
136
|
+
| `recordRetrieval(opts)` | Emit a raw retrieval event when you already have the stats. |
|
|
137
|
+
| `trackEmbedding(opts)` | Track an embedding call. |
|
|
138
|
+
| `trackGuardrail(opts)` | Track a guardrail check. Returns the check result (`'pass'` \| `'fail'` \| `'modified'`). |
|
|
94
139
|
| `end()` | End the step. |
|
|
95
140
|
|
|
96
141
|
## Integrations
|
|
97
142
|
|
|
143
|
+
### Anthropic (recommended)
|
|
144
|
+
|
|
145
|
+
Wrap the Anthropic client to track all `messages.create()` calls automatically.
|
|
146
|
+
|
|
147
|
+
**Node.js — concurrent-safe via `AsyncLocalStorage`:**
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
import { wrapAnthropic } from '@sensu-ai/sdk/integrations/anthropic';
|
|
151
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
152
|
+
|
|
153
|
+
const anthropic = wrapAnthropic(new Anthropic(), { client: sensu });
|
|
154
|
+
|
|
155
|
+
await sensu.run({ sessionId }, async () => {
|
|
156
|
+
// Automatically tracked — no run handle needed
|
|
157
|
+
const response = await anthropic.messages.create({ model: 'claude-sonnet-4-6', ... });
|
|
158
|
+
});
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Browser / Edge Runtime — explicit run handle:**
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
const run = sensu.startRun({ sessionId });
|
|
165
|
+
const anthropic = wrapAnthropic(new Anthropic(), { client: sensu, runHandle: run });
|
|
166
|
+
|
|
167
|
+
const response = await anthropic.messages.create({ model: 'claude-sonnet-4-6', ... });
|
|
168
|
+
await run.end();
|
|
169
|
+
```
|
|
170
|
+
|
|
98
171
|
### OpenAI
|
|
99
172
|
|
|
100
173
|
Wrap the OpenAI client to track all completions automatically:
|
package/dist/client.d.ts
CHANGED
|
@@ -89,12 +89,15 @@ export declare class SensuClient {
|
|
|
89
89
|
private readonly flushIntervalMs;
|
|
90
90
|
readonly disabled: boolean;
|
|
91
91
|
private readonly disableLivePricing;
|
|
92
|
+
private readonly debugMode;
|
|
92
93
|
private readonly onLoopDetected?;
|
|
93
94
|
private readonly loopThreshold;
|
|
94
95
|
private readonly runToolCallCounts;
|
|
95
96
|
private readonly pricingCache;
|
|
97
|
+
private readonly runStorage;
|
|
96
98
|
private buffer;
|
|
97
99
|
private flushTimer;
|
|
100
|
+
private _exitHandler;
|
|
98
101
|
constructor(opts?: SensuClientOptions);
|
|
99
102
|
/** Enqueue an event for batched sending */
|
|
100
103
|
enqueue(event: TelemetryEvent): void;
|
|
@@ -104,6 +107,53 @@ export declare class SensuClient {
|
|
|
104
107
|
notifyToolCall(runId: string, toolName: string): void;
|
|
105
108
|
/** Remove per-run loop counters when the run ends to avoid memory leaks. */
|
|
106
109
|
clearRunLoopState(runId: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the RunHandle for the current async execution context.
|
|
112
|
+
* Only populated when called from within a sensu.run() callback.
|
|
113
|
+
* Used by wrapAnthropic(), trackTool(), and other client-level helpers.
|
|
114
|
+
*/
|
|
115
|
+
getActiveRun(): RunHandle | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Start a run, execute fn inside its async context, and end the run automatically.
|
|
118
|
+
* Uses AsyncLocalStorage so concurrent requests each get their own isolated run context —
|
|
119
|
+
* no race conditions even under parallel request handling.
|
|
120
|
+
*
|
|
121
|
+
* All wrapAnthropic() calls and sensu.trackTool/trackRetrieval/trackEmbedding/trackGuardrail()
|
|
122
|
+
* calls made inside fn are automatically attributed to this run.
|
|
123
|
+
*
|
|
124
|
+
* Note: requires Node.js (uses async_hooks). For browser/edge runtimes use startRun() directly
|
|
125
|
+
* and pass the runHandle explicitly to wrapAnthropic({ runHandle }).
|
|
126
|
+
*/
|
|
127
|
+
run<T>(opts: StartRunOptions, fn: (run: RunHandle) => Promise<T>): Promise<T>;
|
|
128
|
+
/**
|
|
129
|
+
* Track a tool call inside the active sensu.run() context.
|
|
130
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
131
|
+
*/
|
|
132
|
+
trackTool<T>(toolName: string, fn: () => Promise<T>, opts?: {
|
|
133
|
+
retryOf?: string;
|
|
134
|
+
}): Promise<T>;
|
|
135
|
+
/**
|
|
136
|
+
* Track a retrieval call inside the active sensu.run() context.
|
|
137
|
+
* fn may return { result, chunks } to supply per-chunk data for retrieval noise analysis,
|
|
138
|
+
* or any other value for basic latency/status tracking only.
|
|
139
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
140
|
+
*/
|
|
141
|
+
trackRetrieval<T>(retrievalStoreId: string, opts: {
|
|
142
|
+
topK?: number;
|
|
143
|
+
}, fn: () => Promise<T>): Promise<T>;
|
|
144
|
+
/**
|
|
145
|
+
* Track an embedding call inside the active sensu.run() context.
|
|
146
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
147
|
+
*/
|
|
148
|
+
trackEmbedding<T>(model: string, opts: {
|
|
149
|
+
inputLength?: number;
|
|
150
|
+
batchSize?: number;
|
|
151
|
+
}, fn: () => Promise<T>): Promise<T>;
|
|
152
|
+
/**
|
|
153
|
+
* Track a guardrail check inside the active sensu.run() context.
|
|
154
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
155
|
+
*/
|
|
156
|
+
trackGuardrail(guardrailId: string, guardrailType: 'content' | 'pii' | 'jailbreak' | 'custom', fn: () => Promise<'pass' | 'fail' | 'modified'>): Promise<'pass' | 'fail' | 'modified'>;
|
|
107
157
|
/** Start a new agent run */
|
|
108
158
|
startRun(opts?: StartRunOptions): RunHandle;
|
|
109
159
|
/**
|
|
@@ -119,7 +169,7 @@ export declare class SensuClient {
|
|
|
119
169
|
deployPromptVersion(opts: DeployPromptVersionOptions): void;
|
|
120
170
|
/**
|
|
121
171
|
* Resolve per-1M-token pricing for a model.
|
|
122
|
-
* Fetches from the
|
|
172
|
+
* Fetches from the Sensu API on first use and caches for the session lifetime.
|
|
123
173
|
* Falls back to the bundled MODEL_PRICING table if the API is unreachable or the
|
|
124
174
|
* model is unknown, and to a near-zero sentinel if it's missing from both.
|
|
125
175
|
*/
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'crypto';
|
|
2
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
3
|
// ---------------------------------------------------------------------------
|
|
3
4
|
// StepHandle — fluent API for a single step
|
|
4
5
|
// ---------------------------------------------------------------------------
|
|
@@ -162,12 +163,23 @@ export class StepHandle {
|
|
|
162
163
|
}
|
|
163
164
|
/** Emit a raw LLM call event (when you have the stats already) */
|
|
164
165
|
recordLlm(opts) {
|
|
165
|
-
const { contextBreakdown, ...rest } = opts;
|
|
166
166
|
this.client.enqueue({
|
|
167
167
|
...this.base(),
|
|
168
168
|
event_type: 'llm.request.completed',
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
provider: opts.provider,
|
|
170
|
+
model: opts.model,
|
|
171
|
+
input_tokens: opts.inputTokens,
|
|
172
|
+
output_tokens: opts.outputTokens,
|
|
173
|
+
cached_input_tokens: opts.cachedInputTokens,
|
|
174
|
+
total_tokens: opts.totalTokens,
|
|
175
|
+
max_context_tokens: opts.maxContextTokens,
|
|
176
|
+
context_used_tokens: opts.contextUsedTokens,
|
|
177
|
+
latency_ms: opts.latencyMs,
|
|
178
|
+
ttft_ms: opts.ttftMs,
|
|
179
|
+
cost_usd_estimate: opts.costUsdEstimate,
|
|
180
|
+
status: opts.status,
|
|
181
|
+
...(opts.contextBreakdown ? { context_breakdown: opts.contextBreakdown } : {}),
|
|
182
|
+
...(opts.referencedChunkIds ? { referenced_chunk_ids: opts.referencedChunkIds } : {}),
|
|
171
183
|
});
|
|
172
184
|
}
|
|
173
185
|
/** Track a tool call — wraps fn(), measures latency */
|
|
@@ -490,14 +502,18 @@ export class SensuClient {
|
|
|
490
502
|
flushIntervalMs;
|
|
491
503
|
disabled;
|
|
492
504
|
disableLivePricing;
|
|
505
|
+
debugMode;
|
|
493
506
|
onLoopDetected;
|
|
494
507
|
loopThreshold;
|
|
495
508
|
// runId → toolName → call count within that run
|
|
496
509
|
runToolCallCounts = new Map();
|
|
497
510
|
// provider:model → [inputPricePer1M, outputPricePer1M]
|
|
498
511
|
pricingCache = new Map();
|
|
512
|
+
// Async context storage for concurrent-safe run propagation (Node.js only)
|
|
513
|
+
runStorage;
|
|
499
514
|
buffer = [];
|
|
500
515
|
flushTimer = null;
|
|
516
|
+
_exitHandler = null;
|
|
501
517
|
constructor(opts = {}) {
|
|
502
518
|
const fromEnv = opts.fromEnv ?? false;
|
|
503
519
|
this.apiKey =
|
|
@@ -518,14 +534,20 @@ export class SensuClient {
|
|
|
518
534
|
this.flushIntervalMs = opts.flushIntervalMs ?? 2000;
|
|
519
535
|
this.disabled = opts.disabled ?? false;
|
|
520
536
|
this.disableLivePricing = opts.disableLivePricing ?? false;
|
|
537
|
+
this.debugMode = opts.debugMode ?? false;
|
|
521
538
|
this.onLoopDetected = opts.onLoopDetected;
|
|
522
539
|
this.loopThreshold = opts.loopThreshold ?? 5;
|
|
540
|
+
this.runStorage = new AsyncLocalStorage();
|
|
523
541
|
if (!this.disabled) {
|
|
524
542
|
this.flushTimer = setInterval(() => {
|
|
525
543
|
void this.flush();
|
|
526
544
|
}, this.flushIntervalMs);
|
|
527
545
|
if (this.flushTimer.unref)
|
|
528
546
|
this.flushTimer.unref();
|
|
547
|
+
if (typeof process !== 'undefined') {
|
|
548
|
+
this._exitHandler = () => { void this.flush(); };
|
|
549
|
+
process.on('beforeExit', this._exitHandler);
|
|
550
|
+
}
|
|
529
551
|
}
|
|
530
552
|
}
|
|
531
553
|
/** Enqueue an event for batched sending */
|
|
@@ -542,6 +564,12 @@ export class SensuClient {
|
|
|
542
564
|
if (this.disabled || this.buffer.length === 0)
|
|
543
565
|
return;
|
|
544
566
|
const events = this.buffer.splice(0);
|
|
567
|
+
if (this.debugMode) {
|
|
568
|
+
for (const ev of events) {
|
|
569
|
+
console.log(`[Sensu] ${formatDebugEvent(ev)}`);
|
|
570
|
+
}
|
|
571
|
+
console.log(`[Sensu] → Flushing ${events.length} event${events.length === 1 ? '' : 's'}`);
|
|
572
|
+
}
|
|
545
573
|
try {
|
|
546
574
|
const res = await fetch(`${this.baseUrl}/api/v1/events`, {
|
|
547
575
|
method: 'POST',
|
|
@@ -551,10 +579,19 @@ export class SensuClient {
|
|
|
551
579
|
},
|
|
552
580
|
body: JSON.stringify({ events }),
|
|
553
581
|
});
|
|
582
|
+
const body = await res.text();
|
|
554
583
|
if (!res.ok) {
|
|
555
|
-
const body = await res.text();
|
|
556
584
|
console.error(`[sensu:sdk] flush failed ${res.status}: ${body}`);
|
|
557
585
|
}
|
|
586
|
+
else {
|
|
587
|
+
const parsed = JSON.parse(body);
|
|
588
|
+
if (parsed.errors?.length) {
|
|
589
|
+
for (const { index, error } of parsed.errors) {
|
|
590
|
+
const ev = events[index];
|
|
591
|
+
console.warn(`[sensu:sdk] event[${index}] ${ev?.event_type ?? '?'} rejected: ${error}`, ev ? JSON.stringify(ev) : '');
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
558
595
|
}
|
|
559
596
|
catch (err) {
|
|
560
597
|
// Re-queue on network error (best-effort)
|
|
@@ -581,6 +618,126 @@ export class SensuClient {
|
|
|
581
618
|
clearRunLoopState(runId) {
|
|
582
619
|
this.runToolCallCounts.delete(runId);
|
|
583
620
|
}
|
|
621
|
+
/**
|
|
622
|
+
* Returns the RunHandle for the current async execution context.
|
|
623
|
+
* Only populated when called from within a sensu.run() callback.
|
|
624
|
+
* Used by wrapAnthropic(), trackTool(), and other client-level helpers.
|
|
625
|
+
*/
|
|
626
|
+
getActiveRun() {
|
|
627
|
+
return this.runStorage.getStore();
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Start a run, execute fn inside its async context, and end the run automatically.
|
|
631
|
+
* Uses AsyncLocalStorage so concurrent requests each get their own isolated run context —
|
|
632
|
+
* no race conditions even under parallel request handling.
|
|
633
|
+
*
|
|
634
|
+
* All wrapAnthropic() calls and sensu.trackTool/trackRetrieval/trackEmbedding/trackGuardrail()
|
|
635
|
+
* calls made inside fn are automatically attributed to this run.
|
|
636
|
+
*
|
|
637
|
+
* Note: requires Node.js (uses async_hooks). For browser/edge runtimes use startRun() directly
|
|
638
|
+
* and pass the runHandle explicitly to wrapAnthropic({ runHandle }).
|
|
639
|
+
*/
|
|
640
|
+
async run(opts, fn) {
|
|
641
|
+
const runHandle = this.startRun(opts);
|
|
642
|
+
let succeeded = false;
|
|
643
|
+
try {
|
|
644
|
+
const result = await this.runStorage.run(runHandle, () => fn(runHandle));
|
|
645
|
+
succeeded = true;
|
|
646
|
+
return result;
|
|
647
|
+
}
|
|
648
|
+
finally {
|
|
649
|
+
// Status reflects whether fn succeeded, not whether flush succeeded.
|
|
650
|
+
// runHandle.end() is idempotent — safe to call even if fn already called it.
|
|
651
|
+
await runHandle.end(succeeded ? 'completed' : 'failed').catch(() => {
|
|
652
|
+
// Swallow SDK-internal flush errors — telemetry must never break user code.
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Track a tool call inside the active sensu.run() context.
|
|
658
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
659
|
+
*/
|
|
660
|
+
async trackTool(toolName, fn, opts) {
|
|
661
|
+
const run = this.getActiveRun();
|
|
662
|
+
if (!run)
|
|
663
|
+
return fn();
|
|
664
|
+
const step = run.startStep({ name: toolName, stepType: 'tool' });
|
|
665
|
+
try {
|
|
666
|
+
return await step.trackTool({ toolName, fn, retryOf: opts?.retryOf });
|
|
667
|
+
}
|
|
668
|
+
finally {
|
|
669
|
+
await step.end();
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
/**
|
|
673
|
+
* Track a retrieval call inside the active sensu.run() context.
|
|
674
|
+
* fn may return { result, chunks } to supply per-chunk data for retrieval noise analysis,
|
|
675
|
+
* or any other value for basic latency/status tracking only.
|
|
676
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
677
|
+
*/
|
|
678
|
+
async trackRetrieval(retrievalStoreId, opts, fn) {
|
|
679
|
+
const run = this.getActiveRun();
|
|
680
|
+
if (!run)
|
|
681
|
+
return fn();
|
|
682
|
+
const step = run.startStep({ name: retrievalStoreId, stepType: 'retrieval' });
|
|
683
|
+
const startMs = Date.now();
|
|
684
|
+
let result;
|
|
685
|
+
let err;
|
|
686
|
+
try {
|
|
687
|
+
result = await fn();
|
|
688
|
+
}
|
|
689
|
+
catch (e) {
|
|
690
|
+
err = e;
|
|
691
|
+
}
|
|
692
|
+
const latencyMs = Date.now() - startMs;
|
|
693
|
+
// Detect { result, chunks } return shape for noise analysis
|
|
694
|
+
const maybeRich = result;
|
|
695
|
+
const chunks = Array.isArray(maybeRich?.chunks) ? maybeRich.chunks : undefined;
|
|
696
|
+
step.recordRetrieval({
|
|
697
|
+
vectorStoreId: retrievalStoreId,
|
|
698
|
+
topK: opts.topK,
|
|
699
|
+
latencyMs,
|
|
700
|
+
status: err ? 'error' : 'success',
|
|
701
|
+
chunksReturned: chunks?.length,
|
|
702
|
+
chunks,
|
|
703
|
+
});
|
|
704
|
+
await step.end();
|
|
705
|
+
if (err)
|
|
706
|
+
throw err;
|
|
707
|
+
return result;
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Track an embedding call inside the active sensu.run() context.
|
|
711
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
712
|
+
*/
|
|
713
|
+
async trackEmbedding(model, opts, fn) {
|
|
714
|
+
const run = this.getActiveRun();
|
|
715
|
+
if (!run)
|
|
716
|
+
return fn();
|
|
717
|
+
const step = run.startStep({ name: `embed-${model}`, stepType: 'embedding' });
|
|
718
|
+
try {
|
|
719
|
+
return await step.trackEmbedding({ model, fn, inputTextLength: opts.inputLength, batchSize: opts.batchSize });
|
|
720
|
+
}
|
|
721
|
+
finally {
|
|
722
|
+
await step.end();
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* Track a guardrail check inside the active sensu.run() context.
|
|
727
|
+
* Graceful no-op (executes fn without tracking) if called outside sensu.run().
|
|
728
|
+
*/
|
|
729
|
+
async trackGuardrail(guardrailId, guardrailType, fn) {
|
|
730
|
+
const run = this.getActiveRun();
|
|
731
|
+
if (!run)
|
|
732
|
+
return fn();
|
|
733
|
+
const step = run.startStep({ name: guardrailId, stepType: 'guardrail' });
|
|
734
|
+
try {
|
|
735
|
+
return await step.trackGuardrail({ guardrailId, guardrailType, fn });
|
|
736
|
+
}
|
|
737
|
+
finally {
|
|
738
|
+
await step.end();
|
|
739
|
+
}
|
|
740
|
+
}
|
|
584
741
|
/** Start a new agent run */
|
|
585
742
|
startRun(opts = {}) {
|
|
586
743
|
const runId = opts.runId ?? randomUUID();
|
|
@@ -718,7 +875,7 @@ export class SensuClient {
|
|
|
718
875
|
}
|
|
719
876
|
/**
|
|
720
877
|
* Resolve per-1M-token pricing for a model.
|
|
721
|
-
* Fetches from the
|
|
878
|
+
* Fetches from the Sensu API on first use and caches for the session lifetime.
|
|
722
879
|
* Falls back to the bundled MODEL_PRICING table if the API is unreachable or the
|
|
723
880
|
* model is unknown, and to a near-zero sentinel if it's missing from both.
|
|
724
881
|
*/
|
|
@@ -746,6 +903,10 @@ export class SensuClient {
|
|
|
746
903
|
destroy() {
|
|
747
904
|
if (this.flushTimer)
|
|
748
905
|
clearInterval(this.flushTimer);
|
|
906
|
+
if (this._exitHandler && typeof process !== 'undefined') {
|
|
907
|
+
process.off('beforeExit', this._exitHandler);
|
|
908
|
+
this._exitHandler = null;
|
|
909
|
+
}
|
|
749
910
|
}
|
|
750
911
|
}
|
|
751
912
|
// ---------------------------------------------------------------------------
|
|
@@ -812,6 +973,38 @@ function estimateBytes(v) {
|
|
|
812
973
|
return 0;
|
|
813
974
|
}
|
|
814
975
|
}
|
|
976
|
+
function formatDebugEvent(ev) {
|
|
977
|
+
const e = ev;
|
|
978
|
+
const type = String(e['event_type'] ?? '?');
|
|
979
|
+
switch (type) {
|
|
980
|
+
case 'llm.request.completed': {
|
|
981
|
+
const tokens = (e['input_tokens'] ?? 0) + (e['output_tokens'] ?? 0);
|
|
982
|
+
const cached = e['cached_input_tokens'] ? ` cached=${e['cached_input_tokens']}` : '';
|
|
983
|
+
const cost = e['cost_usd_estimate'] ? ` cost=$${e['cost_usd_estimate'].toFixed(4)}` : '';
|
|
984
|
+
return `llm.request.completed provider=${e['provider'] ?? '?'} model=${e['model'] ?? '?'} tokens=${tokens}${cached} latency=${e['latency_ms'] ?? '?'}ms${cost}`;
|
|
985
|
+
}
|
|
986
|
+
case 'tool.call.completed':
|
|
987
|
+
return `tool.call.completed tool=${e['tool_name'] ?? '?'} latency=${e['latency_ms'] ?? '?'}ms status=${e['status'] ?? '?'}`;
|
|
988
|
+
case 'retrieval.completed':
|
|
989
|
+
return `retrieval.completed store=${e['vector_store_id'] ?? '?'} chunks=${e['chunks_returned'] ?? '?'} tokens=${e['tokens_injected'] ?? '?'} latency=${e['latency_ms'] ?? '?'}ms`;
|
|
990
|
+
case 'embedding.created':
|
|
991
|
+
return `embedding.created model=${e['model'] ?? '?'} latency=${e['latency_ms'] ?? '?'}ms`;
|
|
992
|
+
case 'guardrail.check.completed':
|
|
993
|
+
return `guardrail.check.completed id=${e['guardrail_id'] ?? '?'} result=${e['result'] ?? '?'} latency=${e['latency_ms'] ?? '?'}ms`;
|
|
994
|
+
case 'agent.run.started':
|
|
995
|
+
return `agent.run.started run=${String(e['run_id'] ?? '?').slice(0, 8)}`;
|
|
996
|
+
case 'agent.run.completed':
|
|
997
|
+
return `agent.run.completed run=${String(e['run_id'] ?? '?').slice(0, 8)}`;
|
|
998
|
+
case 'agent.run.failed':
|
|
999
|
+
return `agent.run.failed run=${String(e['run_id'] ?? '?').slice(0, 8)}`;
|
|
1000
|
+
case 'agent.step.started':
|
|
1001
|
+
return `agent.step.started step=${e['step_name'] ?? e['step_type'] ?? '?'}`;
|
|
1002
|
+
case 'agent.step.completed':
|
|
1003
|
+
return `agent.step.completed step=${String(e['step_id'] ?? '?').slice(0, 8)}`;
|
|
1004
|
+
default:
|
|
1005
|
+
return `${type}`;
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
815
1008
|
// Extract text from common streaming chunk shapes (Anthropic / OpenAI)
|
|
816
1009
|
function extractStreamChunkText(chunk) {
|
|
817
1010
|
if (typeof chunk === 'string')
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { SensuClient, RunHandle, StepHandle } from './client.js';
|
|
2
|
-
export type { SensuClientOptions, StartRunOptions, StartStepOptions, TrackLlmOptions, TrackStreamingLlmOptions, TrackToolOptions, RawLlmCallOptions, ContextBreakdown, TrackRetrievalOptions, RawRetrievalOptions, TrackEmbeddingOptions, RawEmbeddingOptions, RecordFeedbackOptions, RecordEvalScoreOptions, SpawnRunOptions, HandoffOptions, TrackGuardrailOptions, RawGuardrailOptions, RecordPromptRenderOptions, DeployPromptVersionOptions, StartSessionOptions, ResumeSessionOptions, } from './types.js';
|
|
2
|
+
export type { SensuClientOptions, RunOptions, StartRunOptions, StartStepOptions, TrackLlmOptions, TrackStreamingLlmOptions, TrackToolOptions, RawLlmCallOptions, ContextBreakdown, TrackRetrievalOptions, RawRetrievalOptions, TrackEmbeddingOptions, RawEmbeddingOptions, RecordFeedbackOptions, RecordEvalScoreOptions, SpawnRunOptions, HandoffOptions, TrackGuardrailOptions, RawGuardrailOptions, RecordPromptRenderOptions, DeployPromptVersionOptions, StartSessionOptions, ResumeSessionOptions, } from './types.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic SDK wrapper for Sensu telemetry.
|
|
3
|
+
* Wraps the Anthropic client to automatically track all messages.create() calls.
|
|
4
|
+
*
|
|
5
|
+
* Node.js (concurrent-safe via AsyncLocalStorage):
|
|
6
|
+
* const anthropic = wrapAnthropic(new Anthropic(), { client: sensu });
|
|
7
|
+
* await sensu.run({ sessionId }, async () => {
|
|
8
|
+
* await anthropic.messages.create({...}); // auto-tracked
|
|
9
|
+
* });
|
|
10
|
+
*
|
|
11
|
+
* Browser / Edge Runtime (explicit run handle):
|
|
12
|
+
* const run = sensu.startRun({ sessionId });
|
|
13
|
+
* const anthropic = wrapAnthropic(new Anthropic(), { client: sensu, runHandle: run });
|
|
14
|
+
* await anthropic.messages.create({...}); // tracked via explicit runHandle
|
|
15
|
+
* await run.end();
|
|
16
|
+
*/
|
|
17
|
+
import type { SensuClient, RunHandle } from '../client.js';
|
|
18
|
+
interface AnthropicLike {
|
|
19
|
+
messages: {
|
|
20
|
+
create: (params: unknown) => Promise<unknown>;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
interface WrapAnthropicOptions {
|
|
24
|
+
client: SensuClient;
|
|
25
|
+
/**
|
|
26
|
+
* Explicit run handle — for browser/edge runtimes where AsyncLocalStorage is unavailable.
|
|
27
|
+
* Takes priority over the AsyncLocalStorage context when provided.
|
|
28
|
+
*/
|
|
29
|
+
runHandle?: RunHandle;
|
|
30
|
+
/** Defaults to 'anthropic' */
|
|
31
|
+
defaultProvider?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function wrapAnthropic<T extends AnthropicLike>(anthropic: T, opts: WrapAnthropicOptions): T;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic SDK wrapper for Sensu telemetry.
|
|
3
|
+
* Wraps the Anthropic client to automatically track all messages.create() calls.
|
|
4
|
+
*
|
|
5
|
+
* Node.js (concurrent-safe via AsyncLocalStorage):
|
|
6
|
+
* const anthropic = wrapAnthropic(new Anthropic(), { client: sensu });
|
|
7
|
+
* await sensu.run({ sessionId }, async () => {
|
|
8
|
+
* await anthropic.messages.create({...}); // auto-tracked
|
|
9
|
+
* });
|
|
10
|
+
*
|
|
11
|
+
* Browser / Edge Runtime (explicit run handle):
|
|
12
|
+
* const run = sensu.startRun({ sessionId });
|
|
13
|
+
* const anthropic = wrapAnthropic(new Anthropic(), { client: sensu, runHandle: run });
|
|
14
|
+
* await anthropic.messages.create({...}); // tracked via explicit runHandle
|
|
15
|
+
* await run.end();
|
|
16
|
+
*/
|
|
17
|
+
export function wrapAnthropic(anthropic, opts) {
|
|
18
|
+
const { client } = opts;
|
|
19
|
+
const provider = opts.defaultProvider ?? 'anthropic';
|
|
20
|
+
const originalCreate = anthropic.messages.create.bind(anthropic.messages);
|
|
21
|
+
anthropic.messages.create = async (params) => {
|
|
22
|
+
const p = params;
|
|
23
|
+
const model = p['model'] ?? 'unknown';
|
|
24
|
+
// Run resolution: explicit runHandle → AsyncLocalStorage context → standalone event
|
|
25
|
+
const run = opts.runHandle ?? client.getActiveRun();
|
|
26
|
+
const step = run?.startStep({ name: 'anthropic-completion', stepType: 'llm' });
|
|
27
|
+
const startMs = Date.now();
|
|
28
|
+
let result;
|
|
29
|
+
let status = 'success';
|
|
30
|
+
let err;
|
|
31
|
+
try {
|
|
32
|
+
result = await originalCreate(params);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
status = 'error';
|
|
36
|
+
err = e;
|
|
37
|
+
}
|
|
38
|
+
const latencyMs = Date.now() - startMs;
|
|
39
|
+
const r = result;
|
|
40
|
+
const usage = r?.usage;
|
|
41
|
+
const inputTokens = (usage?.input_tokens ?? 0) + (usage?.cache_creation_input_tokens ?? 0);
|
|
42
|
+
const outputTokens = usage?.output_tokens ?? 0;
|
|
43
|
+
const cachedInputTokens = usage?.cache_read_input_tokens;
|
|
44
|
+
const callOpts = {
|
|
45
|
+
provider,
|
|
46
|
+
model: r?.model ?? model,
|
|
47
|
+
input_tokens: inputTokens || undefined,
|
|
48
|
+
output_tokens: outputTokens || undefined,
|
|
49
|
+
...(cachedInputTokens != null ? { cached_input_tokens: cachedInputTokens } : {}),
|
|
50
|
+
total_tokens: inputTokens + outputTokens || undefined,
|
|
51
|
+
latency_ms: latencyMs,
|
|
52
|
+
status,
|
|
53
|
+
};
|
|
54
|
+
if (step) {
|
|
55
|
+
step.recordLlm(callOpts);
|
|
56
|
+
void step.end();
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// No active run — emit a standalone event so data is never silently dropped
|
|
60
|
+
client.enqueue({
|
|
61
|
+
event_id: crypto.randomUUID(),
|
|
62
|
+
event_type: 'llm.request.completed',
|
|
63
|
+
timestamp: new Date().toISOString(),
|
|
64
|
+
org_id: client.orgId,
|
|
65
|
+
agent_id: client.agentId,
|
|
66
|
+
session_id: crypto.randomUUID(),
|
|
67
|
+
run_id: crypto.randomUUID(),
|
|
68
|
+
trace_id: crypto.randomUUID(),
|
|
69
|
+
span_id: crypto.randomUUID(),
|
|
70
|
+
...callOpts,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (err)
|
|
74
|
+
throw err;
|
|
75
|
+
return result;
|
|
76
|
+
};
|
|
77
|
+
return anthropic;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/integrations/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -216,7 +216,7 @@ export class SensuCallbackHandler {
|
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
// Map LangChain LLM class names to
|
|
219
|
+
// Map LangChain LLM class names to Sensu provider strings
|
|
220
220
|
function inferProvider(name) {
|
|
221
221
|
const n = name.toLowerCase();
|
|
222
222
|
if (n.includes('anthropic') || n.includes('claude'))
|
package/dist/types.d.ts
CHANGED
|
@@ -28,7 +28,16 @@ export interface SensuClientOptions {
|
|
|
28
28
|
* Default: false
|
|
29
29
|
*/
|
|
30
30
|
disableLivePricing?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* When true, print a one-line summary of each event to the console before flushing.
|
|
33
|
+
* Useful during development to verify the integration is working without opening the dashboard.
|
|
34
|
+
* Events are still sent to the API — this flag observes only, never suppresses.
|
|
35
|
+
* Default: false
|
|
36
|
+
*/
|
|
37
|
+
debugMode?: boolean;
|
|
31
38
|
}
|
|
39
|
+
/** Alias for StartRunOptions — used with the sensu.run() high-level API. */
|
|
40
|
+
export type RunOptions = StartRunOptions;
|
|
32
41
|
export interface StartRunOptions {
|
|
33
42
|
sessionId?: string;
|
|
34
43
|
runType?: string;
|
|
@@ -112,6 +121,7 @@ export interface RawLlmCallOptions {
|
|
|
112
121
|
costUsdEstimate?: number;
|
|
113
122
|
status?: 'success' | 'error' | 'timeout';
|
|
114
123
|
contextBreakdown?: ContextBreakdown;
|
|
124
|
+
referencedChunkIds?: string[];
|
|
115
125
|
}
|
|
116
126
|
export interface TrackRetrievalOptions {
|
|
117
127
|
/** Wraps the retrieval call and measures latency automatically */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sensu-ai/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
"import": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts"
|
|
11
11
|
},
|
|
12
|
+
"./integrations/anthropic": {
|
|
13
|
+
"import": "./dist/integrations/anthropic.js",
|
|
14
|
+
"types": "./dist/integrations/anthropic.d.ts"
|
|
15
|
+
},
|
|
12
16
|
"./integrations/langchain": {
|
|
13
17
|
"import": "./dist/integrations/langchain.js",
|
|
14
18
|
"types": "./dist/integrations/langchain.d.ts"
|
|
@@ -21,28 +25,33 @@
|
|
|
21
25
|
"files": [
|
|
22
26
|
"dist"
|
|
23
27
|
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"dev": "tsc --watch",
|
|
31
|
+
"prepublishOnly": "tsc"
|
|
32
|
+
},
|
|
24
33
|
"dependencies": {
|
|
25
|
-
"
|
|
26
|
-
"
|
|
34
|
+
"@sensu-ai/shared": "workspace:*",
|
|
35
|
+
"zod": "^3.23.8"
|
|
27
36
|
},
|
|
28
37
|
"devDependencies": {
|
|
29
38
|
"@types/node": "^20.0.0",
|
|
30
39
|
"typescript": "*"
|
|
31
40
|
},
|
|
32
41
|
"peerDependencies": {
|
|
42
|
+
"@anthropic-ai/sdk": ">=0.20.0",
|
|
33
43
|
"langchain": ">=0.1.0",
|
|
34
44
|
"openai": ">=4.0.0"
|
|
35
45
|
},
|
|
36
46
|
"peerDependenciesMeta": {
|
|
47
|
+
"@anthropic-ai/sdk": {
|
|
48
|
+
"optional": true
|
|
49
|
+
},
|
|
37
50
|
"langchain": {
|
|
38
51
|
"optional": true
|
|
39
52
|
},
|
|
40
53
|
"openai": {
|
|
41
54
|
"optional": true
|
|
42
55
|
}
|
|
43
|
-
},
|
|
44
|
-
"scripts": {
|
|
45
|
-
"build": "tsc",
|
|
46
|
-
"dev": "tsc --watch"
|
|
47
56
|
}
|
|
48
|
-
}
|
|
57
|
+
}
|