@sensu-ai/sdk 0.1.0 → 0.1.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 ADDED
@@ -0,0 +1,129 @@
1
+ # @sensu-ai/sdk
2
+
3
+ The official Node.js SDK for [Sensu](https://sensu-ai.com) — observability for AI agents.
4
+
5
+ Instrument your agents to track LLM calls, tool use, token spend, latency, and cost. Events are buffered and sent in batches so there's no impact on your agent's performance.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @sensu-ai/sdk
11
+ ```
12
+
13
+ ## Quick start
14
+
15
+ ```ts
16
+ import { SensuClient } from '@sensu-ai/sdk';
17
+
18
+ const sensu = new SensuClient({
19
+ apiKey: process.env.SENSU_API_KEY,
20
+ agentId: 'my-agent',
21
+ });
22
+
23
+ const run = sensu.startRun();
24
+ const step = run.startStep({ name: 'plan' });
25
+
26
+ // Wrap an LLM call — latency and token usage are captured automatically
27
+ const response = await step.trackLlm({
28
+ provider: 'anthropic',
29
+ model: 'claude-sonnet-4-6',
30
+ fn: () => anthropic.messages.create({ ... }),
31
+ });
32
+
33
+ // Wrap a tool call
34
+ const result = await step.trackTool({
35
+ toolName: 'search_web',
36
+ fn: () => searchWeb(query),
37
+ });
38
+
39
+ await step.end();
40
+ await run.end();
41
+ ```
42
+
43
+ ## Configuration
44
+
45
+ ```ts
46
+ 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)
54
+ });
55
+ ```
56
+
57
+ You can also load config from environment variables:
58
+
59
+ ```ts
60
+ const sensu = new SensuClient({ fromEnv: true });
61
+ ```
62
+
63
+ | Variable | Description |
64
+ |---|---|
65
+ | `SENSU_API_KEY` | Your Sensu API key |
66
+ | `SENSU_AGENT_ID` | Agent identifier |
67
+ | `SENSU_BASE_URL` | API base URL |
68
+ | `SENSU_ORG_ID` | Organisation ID (optional) |
69
+
70
+ ## API
71
+
72
+ ### `SensuClient`
73
+
74
+ | Method | Description |
75
+ |---|---|
76
+ | `startRun(opts?)` | Start a new agent run. Returns a `RunHandle`. |
77
+ | `flush()` | Manually flush buffered events to the API. |
78
+ | `destroy()` | Stop the background flush timer. |
79
+
80
+ ### `RunHandle`
81
+
82
+ | Method | Description |
83
+ |---|---|
84
+ | `startStep(opts?)` | Start a step within the run. Returns a `StepHandle`. |
85
+ | `end(status?)` | End the run. `status` is `'completed'` (default) or `'failed'`. |
86
+
87
+ ### `StepHandle`
88
+
89
+ | Method | Description |
90
+ |---|---|
91
+ | `trackLlm(opts)` | Wrap an LLM call — measures latency and extracts token usage from the response. |
92
+ | `recordLlm(opts)` | Emit a raw LLM event when you already have the stats. |
93
+ | `trackTool(opts)` | Wrap a tool call — measures latency and output size. |
94
+ | `end()` | End the step. |
95
+
96
+ ## Integrations
97
+
98
+ ### OpenAI
99
+
100
+ Wrap the OpenAI client to track all completions automatically:
101
+
102
+ ```ts
103
+ import { wrapOpenAI } from '@sensu-ai/sdk/integrations/openai';
104
+ import OpenAI from 'openai';
105
+
106
+ const openai = wrapOpenAI(new OpenAI({ apiKey }), {
107
+ client: sensu,
108
+ runHandle: run,
109
+ });
110
+
111
+ // All calls to openai.chat.completions.create() are now tracked
112
+ const response = await openai.chat.completions.create({ model: 'gpt-4o', ... });
113
+ ```
114
+
115
+ ### LangChain
116
+
117
+ ```ts
118
+ import { SensuCallbackHandler } from '@sensu-ai/sdk/integrations/langchain';
119
+
120
+ const handler = new SensuCallbackHandler({ client: sensu, runHandle: run });
121
+ const chain = new LLMChain({ llm, prompt, callbacks: [handler] });
122
+ ```
123
+
124
+ ## Supported models (cost estimation)
125
+
126
+ The SDK automatically estimates cost for the following models:
127
+
128
+ - Anthropic: `claude-opus-4-6`, `claude-sonnet-4-6`, `claude-haiku-4-5`, `claude-3-5-sonnet`, `claude-3-5-haiku`, `claude-3-opus`
129
+ - OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`
@@ -0,0 +1,76 @@
1
+ import type { TelemetryEvent } from '@sensu-ai/shared';
2
+ import type { SensuClientOptions, StartRunOptions, StartStepOptions, TrackLlmOptions, TrackToolOptions, RawLlmCallOptions } from './types.js';
3
+ export declare class StepHandle {
4
+ private readonly client;
5
+ readonly stepId: string;
6
+ readonly runId: string;
7
+ readonly sessionId: string;
8
+ readonly agentId: string;
9
+ readonly orgId: string;
10
+ readonly traceId: string;
11
+ readonly spanId: string;
12
+ private sequence;
13
+ private stepName?;
14
+ private ended;
15
+ constructor(client: SensuClient, opts: {
16
+ stepId: string;
17
+ runId: string;
18
+ sessionId: string;
19
+ agentId: string;
20
+ orgId: string;
21
+ traceId: string;
22
+ spanId: string;
23
+ sequence: number;
24
+ name?: string;
25
+ });
26
+ private base;
27
+ /** Track an LLM call — wraps fn(), measures latency, emits event */
28
+ trackLlm(opts: TrackLlmOptions): Promise<unknown>;
29
+ /** Emit a raw LLM call event (when you have the stats already) */
30
+ recordLlm(opts: RawLlmCallOptions): void;
31
+ /** Track a tool call — wraps fn(), measures latency */
32
+ trackTool(opts: TrackToolOptions): Promise<unknown>;
33
+ end(): Promise<void>;
34
+ }
35
+ export declare class RunHandle {
36
+ private readonly client;
37
+ readonly runId: string;
38
+ readonly sessionId: string;
39
+ readonly agentId: string;
40
+ readonly orgId: string;
41
+ readonly traceId: string;
42
+ readonly spanId: string;
43
+ private stepCount;
44
+ private ended;
45
+ constructor(client: SensuClient, opts: {
46
+ runId: string;
47
+ sessionId: string;
48
+ agentId: string;
49
+ orgId: string;
50
+ traceId: string;
51
+ spanId: string;
52
+ });
53
+ private base;
54
+ startStep(opts?: StartStepOptions): StepHandle;
55
+ end(status?: 'completed' | 'failed'): Promise<void>;
56
+ }
57
+ export declare class SensuClient {
58
+ private readonly apiKey;
59
+ private readonly baseUrl;
60
+ private readonly agentId;
61
+ private readonly orgId;
62
+ private readonly batchSize;
63
+ private readonly flushIntervalMs;
64
+ readonly disabled: boolean;
65
+ private buffer;
66
+ private flushTimer;
67
+ constructor(opts?: SensuClientOptions);
68
+ /** Enqueue an event for batched sending */
69
+ enqueue(event: TelemetryEvent): void;
70
+ /** Flush all buffered events to the Sensu API */
71
+ flush(): Promise<void>;
72
+ /** Start a new agent run */
73
+ startRun(opts?: StartRunOptions): RunHandle;
74
+ destroy(): void;
75
+ }
76
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { SensuClient, RunHandle, StepHandle } from './client.ts';
2
+ export type { SensuClientOptions, StartRunOptions, StartStepOptions, TrackLlmOptions, TrackToolOptions, RawLlmCallOptions, } from './types.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * LangChain callback handler for Sensu telemetry.
3
+ *
4
+ * Usage:
5
+ * import { SensuCallbackHandler } from '@sensu-ai/sdk/integrations/langchain';
6
+ * const handler = new SensuCallbackHandler({ client: sensu });
7
+ * const chain = new LLMChain({ ..., callbacks: [handler] });
8
+ */
9
+ import type { SensuClient } from '../client.ts';
10
+ interface LangChainCallbackHandlerOptions {
11
+ client: SensuClient;
12
+ sessionId?: string;
13
+ runId?: string;
14
+ }
15
+ interface LangChainLlmStartInput {
16
+ name?: string;
17
+ [key: string]: unknown;
18
+ }
19
+ interface LangChainLlmEndOutput {
20
+ generations?: Array<Array<{
21
+ text?: string;
22
+ generationInfo?: Record<string, unknown>;
23
+ }>>;
24
+ llmOutput?: Record<string, unknown>;
25
+ }
26
+ export declare class SensuCallbackHandler {
27
+ private readonly client;
28
+ private readonly sessionId;
29
+ private runId;
30
+ private traceId;
31
+ private startTimes;
32
+ private toolStartTimes;
33
+ private stepIds;
34
+ constructor(opts: LangChainCallbackHandlerOptions);
35
+ private base;
36
+ handleChainStart(_chain: unknown, _inputs: unknown, runId: string): Promise<void>;
37
+ handleChainEnd(_outputs: unknown, runId: string): Promise<void>;
38
+ handleLLMStart(llm: LangChainLlmStartInput, _prompts: string[], runId: string): Promise<void>;
39
+ handleLLMEnd(output: LangChainLlmEndOutput, runId: string): Promise<void>;
40
+ handleLLMError(err: Error, runId: string): Promise<void>;
41
+ handleToolStart(_tool: unknown, _input: string, runId: string): Promise<void>;
42
+ handleToolEnd(output: string, runId: string): Promise<void>;
43
+ handleToolError(err: Error, runId: string): Promise<void>;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=langchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,+BAA+B;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,OAAO,CAAkC;gBAErC,IAAI,EAAE,+BAA+B;IAOjD,OAAO,CAAC,IAAI;IAcN,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IAajE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IAW/C,cAAc,CAClB,GAAG,EAAE,sBAAsB,EAC3B,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM;IAYT,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM;IAsBzD,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAgBxC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAU7D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAgB3C,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;CAahD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * OpenAI SDK wrapper for Sensu telemetry.
3
+ * Wraps the OpenAI client to automatically track all completions.
4
+ *
5
+ * Usage:
6
+ * import { wrapOpenAI } from '@sensu-ai/sdk/integrations/openai';
7
+ * const openai = wrapOpenAI(new OpenAI({ apiKey }), { client: sensu, runHandle });
8
+ * const resp = await openai.chat.completions.create({ ... }); // auto-tracked
9
+ */
10
+ import type { SensuClient, RunHandle } from '../client.ts';
11
+ interface OpenAILike {
12
+ chat: {
13
+ completions: {
14
+ create: (params: unknown) => Promise<unknown>;
15
+ };
16
+ };
17
+ }
18
+ interface WrapOpenAIOptions {
19
+ client: SensuClient;
20
+ runHandle?: RunHandle;
21
+ defaultModel?: string;
22
+ defaultProvider?: string;
23
+ }
24
+ export declare function wrapOpenAI<T extends OpenAILike>(openai: T, opts: WrapOpenAIOptions): T;
25
+ export {};
26
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/integrations/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,UAAU,UAAU;IAClB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;CACH;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAC7C,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,iBAAiB,GACtB,CAAC,CAmEH"}
@@ -0,0 +1,60 @@
1
+ export interface SensuClientOptions {
2
+ apiKey?: string;
3
+ baseUrl?: string;
4
+ agentId?: string;
5
+ orgId?: string;
6
+ /** Read config from environment variables */
7
+ fromEnv?: boolean;
8
+ /** Flush buffer when this many events accumulate */
9
+ batchSize?: number;
10
+ /** Flush buffer every N milliseconds */
11
+ flushIntervalMs?: number;
12
+ /** Disable all telemetry (useful for tests) */
13
+ disabled?: boolean;
14
+ }
15
+ export interface StartRunOptions {
16
+ sessionId?: string;
17
+ runType?: string;
18
+ endUserId?: string;
19
+ runId?: string;
20
+ }
21
+ export interface StartStepOptions {
22
+ name?: string;
23
+ stepType?: string;
24
+ sequence?: number;
25
+ stepId?: string;
26
+ }
27
+ export interface TrackLlmOptions {
28
+ provider: string;
29
+ model: string;
30
+ /** Wraps the LLM call and measures latency automatically */
31
+ fn: () => Promise<unknown>;
32
+ maxContextTokens?: number;
33
+ }
34
+ export interface LlmResult {
35
+ inputTokens?: number;
36
+ outputTokens?: number;
37
+ cachedInputTokens?: number;
38
+ totalTokens?: number;
39
+ costUsdEstimate?: number;
40
+ result: unknown;
41
+ }
42
+ export interface TrackToolOptions {
43
+ toolName: string;
44
+ fn: () => Promise<unknown>;
45
+ }
46
+ export interface RawLlmCallOptions {
47
+ provider: string;
48
+ model: string;
49
+ inputTokens?: number;
50
+ outputTokens?: number;
51
+ cachedInputTokens?: number;
52
+ totalTokens?: number;
53
+ maxContextTokens?: number;
54
+ contextUsedTokens?: number;
55
+ latencyMs?: number;
56
+ ttftMs?: number;
57
+ costUsdEstimate?: number;
58
+ status?: 'success' | 'error' | 'timeout';
59
+ }
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sensu-ai/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "exports": {
@@ -8,10 +8,6 @@
8
8
  "./integrations/langchain": "./src/integrations/langchain.ts",
9
9
  "./integrations/openai": "./src/integrations/openai.ts"
10
10
  },
11
- "scripts": {
12
- "build": "tsc",
13
- "dev": "tsc --watch"
14
- },
15
11
  "dependencies": {
16
12
  "@sensu-ai/shared": "*",
17
13
  "zod": "^3.23.8"
@@ -25,7 +21,15 @@
25
21
  "openai": ">=4.0.0"
26
22
  },
27
23
  "peerDependenciesMeta": {
28
- "langchain": { "optional": true },
29
- "openai": { "optional": true }
24
+ "langchain": {
25
+ "optional": true
26
+ },
27
+ "openai": {
28
+ "optional": true
29
+ }
30
+ },
31
+ "scripts": {
32
+ "build": "tsc",
33
+ "dev": "tsc --watch"
30
34
  }
31
- }
35
+ }