@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 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_...', // Required. Your Sensu API key
48
- agentId: 'my-agent', // Required. Identifies this agent in the dashboard
49
- baseUrl: 'https://...', // Default: http://localhost:3001
50
- orgId: '', // Optional. Populated automatically from your API key
51
- batchSize: 10, // Flush after N events (default: 10)
52
- flushIntervalMs: 2000, // Flush every N ms (default: 2000)
53
- disabled: false, // Set true to disable all telemetry (e.g. in tests)
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 Senzu API on first use and caches for the session lifetime.
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
- ...rest,
170
- ...(contextBreakdown ? { context_breakdown: contextBreakdown } : {}),
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 Senzu API on first use and caches for the session lifetime.
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')
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;AAiCH,MAAM,UAAU,aAAa,CAC3B,SAAY,EACZ,IAA0B;IAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC;IAErD,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,EAAE,MAAe,EAAoB,EAAE;QACtE,MAAM,CAAC,GAAG,MAAiC,CAAC;QAC5C,MAAM,KAAK,GAAI,CAAC,CAAC,OAAO,CAAwB,IAAI,SAAS,CAAC;QAE9D,oFAAoF;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,GAAG,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,MAAe,CAAC;QACpB,IAAI,MAAM,GAAwB,SAAS,CAAC;QAC5C,IAAI,GAAY,CAAC;QAEjB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,OAAO,CAAC;YACjB,GAAG,GAAG,CAAC,CAAC;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QACvC,MAAM,CAAC,GAAG,MAA0C,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC;QAEvB,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,2BAA2B,IAAI,CAAC,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,KAAK,EAAE,uBAAuB,CAAC;QAEzD,MAAM,QAAQ,GAAG;YACf,QAAQ;YACR,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,KAAK;YACxB,YAAY,EAAE,WAAW,IAAI,SAAS;YACtC,aAAa,EAAE,YAAY,IAAI,SAAS;YACxC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,YAAY,EAAE,WAAW,GAAG,YAAY,IAAI,SAAS;YACrD,UAAU,EAAE,SAAS;YACrB,MAAM;SACP,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC3E,MAAM,CAAC,OAAgC,CAAC;gBACvC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC7B,UAAU,EAAE,uBAAuB;gBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM,EAAG,MAAuC,CAAC,KAAK;gBACtD,QAAQ,EAAG,MAAyC,CAAC,OAAO;gBAC5D,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC3B,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC7B,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC5B,GAAG,QAAQ;aACZ,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -216,7 +216,7 @@ export class SensuCallbackHandler {
216
216
  });
217
217
  }
218
218
  }
219
- // Map LangChain LLM class names to Senzu provider strings
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.5.2",
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
- "zod": "^3.23.8",
26
- "@sensu-ai/shared": "0.5.2"
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
+ }