@grafana/sigil-sdk-js 0.0.1 → 0.2.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/dist/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  export { SigilClient } from './client.js';
2
- export { defaultConfig } from './config.js';
2
+ export { configFromEnv, defaultConfig, mergeConfig } from './config.js';
3
3
  export { agentNameFromContext, agentVersionFromContext, conversationIdFromContext, conversationTitleFromContext, userIdFromContext, withAgentName, withAgentVersion, withConversationId, withConversationTitle, withUserId, } from './context.js';
4
+ export { HookDeniedError } from './hooks.js';
4
5
  export * as anthropic from './providers/anthropic.js';
5
6
  export * as gemini from './providers/gemini.js';
6
7
  export * as openai from './providers/openai.js';
8
+ export { createSecretRedactionSanitizer } from './redaction.js';
7
9
  import { SigilClient } from './client.js';
8
10
  /** Convenience factory equivalent to `new SigilClient(config)`. */
9
11
  export function createSigilClient(config = {}) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA6ChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,SAA8B,EAAE;IAChE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAuDhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,SAA8B,EAAE;IAChE,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { GenerationSanitizer } from './types.js';
2
+ export interface SecretRedactionOptions {
3
+ /**
4
+ * Redact user input messages in addition to assistant/tool content.
5
+ * Defaults to `false` to match the current opencode plugin behavior.
6
+ */
7
+ redactInputMessages?: boolean;
8
+ /**
9
+ * Redact generic email addresses.
10
+ * Defaults to `true`. Set to `false` to opt out when company policy allows
11
+ * email-like content.
12
+ */
13
+ redactEmailAddresses?: boolean;
14
+ }
15
+ export declare function createSecretRedactionSanitizer(options?: SecretRedactionOptions): GenerationSanitizer;
16
+ //# sourceMappingURL=redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC;AAmB5E,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAmED,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,sBAA2B,GAAG,mBAAmB,CA0CxG"}
@@ -0,0 +1,155 @@
1
+ import { cloneGeneration } from './utils.js';
2
+ // --- Tier 1: High-confidence patterns (definite secret formats) ---
3
+ const tier1Patterns = [
4
+ { id: 'grafana-cloud-token', regex: /\bglc_[A-Za-z0-9_-]{20,}/g },
5
+ { id: 'grafana-service-account-token', regex: /\bglsa_[A-Za-z0-9_-]{20,}/g },
6
+ { id: 'aws-access-token', regex: /\b(?:A3T[A-Z0-9]|AKIA|ASIA|ABIA|ACCA)[A-Z2-7]{16}\b/g },
7
+ { id: 'github-pat', regex: /\bghp_[A-Za-z0-9_]{36,}/g },
8
+ { id: 'github-oauth', regex: /\bgho_[A-Za-z0-9_]{36,}/g },
9
+ { id: 'github-app-token', regex: /\bghs_[A-Za-z0-9_]{36,}/g },
10
+ { id: 'github-fine-grained-pat', regex: /\bgithub_pat_[A-Za-z0-9_]{82}/g },
11
+ { id: 'anthropic-api-key', regex: /\bsk-ant-api03-[a-zA-Z0-9_-]{93}AA/g },
12
+ { id: 'anthropic-admin-key', regex: /\bsk-ant-admin01-[a-zA-Z0-9_-]{93}AA/g },
13
+ { id: 'openai-api-key', regex: /\bsk-[a-zA-Z0-9]{20}T3BlbkFJ[a-zA-Z0-9]{20}/g },
14
+ { id: 'openai-project-key', regex: /\bsk-proj-[a-zA-Z0-9_-]{40,}/g },
15
+ { id: 'openai-svcacct-key', regex: /\bsk-svcacct-[a-zA-Z0-9_-]{40,}/g },
16
+ { id: 'gcp-api-key', regex: /\bAIza[A-Za-z0-9_-]{35}/g },
17
+ { id: 'private-key', regex: /-----BEGIN[A-Z ]*PRIVATE KEY-----[\s\S]*?-----END[A-Z ]*PRIVATE KEY-----/g },
18
+ { id: 'connection-string', regex: /(?:postgres|mysql|mongodb|redis|amqp):\/\/[^\s'"]+@[^\s'"]+/g },
19
+ { id: 'bearer-token', regex: /[Bb]earer\s+[A-Za-z0-9_.\-~+/]{20,}={0,3}/g },
20
+ { id: 'slack-token', regex: /\bxox[bporas]-[A-Za-z0-9-]{10,}/g },
21
+ { id: 'stripe-key', regex: /\b[sr]k_(?:live|test)_[A-Za-z0-9]{20,}/g },
22
+ { id: 'sendgrid-api-key', regex: /\bSG\.[A-Za-z0-9_-]{22}\.[A-Za-z0-9_-]{43}/g },
23
+ { id: 'twilio-api-key', regex: /\bSK[a-f0-9]{32}/g },
24
+ { id: 'npm-token', regex: /\bnpm_[A-Za-z0-9]{36}/g },
25
+ { id: 'pypi-token', regex: /\bpypi-[A-Za-z0-9_-]{50,}/g },
26
+ ];
27
+ const emailPattern = {
28
+ id: 'email',
29
+ regex: /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,
30
+ };
31
+ // --- Tier 2: Heuristic patterns (env file values) ---
32
+ const tier2Patterns = [
33
+ {
34
+ id: 'env-secret-value',
35
+ regex: /((?:PASSWORD|SECRET|TOKEN|KEY|CREDENTIAL|API_KEY|PRIVATE_KEY|ACCESS_KEY)\s*[=:]\s*)(\S+)/gi,
36
+ },
37
+ ];
38
+ class SecretRedactor {
39
+ includeEmailAddresses;
40
+ constructor(includeEmailAddresses) {
41
+ this.includeEmailAddresses = includeEmailAddresses;
42
+ }
43
+ /** Full redaction: tier 1 + tier 2. Use for tool call args and tool results. */
44
+ redact(text) {
45
+ let result = applyPatterns(text, tier1Patterns);
46
+ if (this.includeEmailAddresses) {
47
+ result = applyPattern(result, emailPattern);
48
+ }
49
+ return applyTier2Patterns(result, tier2Patterns);
50
+ }
51
+ /** Lightweight redaction: tier 1 only. Use for assistant text and reasoning. */
52
+ redactLightweight(text) {
53
+ let result = applyPatterns(text, tier1Patterns);
54
+ if (this.includeEmailAddresses) {
55
+ result = applyPattern(result, emailPattern);
56
+ }
57
+ return result;
58
+ }
59
+ }
60
+ export function createSecretRedactionSanitizer(options = {}) {
61
+ const redactor = new SecretRedactor(options.redactEmailAddresses ?? true);
62
+ const redactInputMessages = options.redactInputMessages ?? false;
63
+ return (generation) => {
64
+ const sanitized = cloneGeneration(generation);
65
+ if (sanitized.systemPrompt !== undefined) {
66
+ sanitized.systemPrompt = redactor.redactLightweight(sanitized.systemPrompt);
67
+ }
68
+ if (sanitized.conversationTitle !== undefined) {
69
+ sanitized.conversationTitle = redactor.redactLightweight(sanitized.conversationTitle);
70
+ }
71
+ if (sanitized.callError !== undefined) {
72
+ sanitized.callError = redactor.redactLightweight(sanitized.callError);
73
+ }
74
+ for (const message of sanitized.input ?? []) {
75
+ sanitizeMessage(message, redactor, message.role === 'user'
76
+ ? redactInputMessages
77
+ ? 'full'
78
+ : 'none'
79
+ : message.role === 'assistant'
80
+ ? 'light'
81
+ : message.role === 'tool'
82
+ ? 'full'
83
+ : 'none');
84
+ }
85
+ for (const message of sanitized.output ?? []) {
86
+ sanitizeMessage(message, redactor, message.role === 'assistant' ? 'light' : message.role === 'tool' ? 'full' : 'none');
87
+ }
88
+ return sanitized;
89
+ };
90
+ }
91
+ function sanitizeMessage(message, redactor, defaultTextMode) {
92
+ if (typeof message.content === 'string') {
93
+ message.content = redactString(message.content, redactor, defaultTextMode);
94
+ }
95
+ for (const part of message.parts ?? []) {
96
+ sanitizePart(part, redactor, defaultTextMode);
97
+ }
98
+ }
99
+ function sanitizePart(part, redactor, defaultTextMode) {
100
+ switch (part.type) {
101
+ case 'text':
102
+ part.text = redactString(part.text, redactor, defaultTextMode);
103
+ break;
104
+ case 'thinking':
105
+ if (defaultTextMode !== 'none') {
106
+ part.thinking = redactor.redactLightweight(part.thinking);
107
+ }
108
+ break;
109
+ case 'tool_call':
110
+ if (defaultTextMode !== 'none' && typeof part.toolCall.inputJSON === 'string') {
111
+ part.toolCall.inputJSON = redactor.redact(part.toolCall.inputJSON);
112
+ }
113
+ break;
114
+ case 'tool_result':
115
+ if (defaultTextMode !== 'none') {
116
+ if (typeof part.toolResult.content === 'string') {
117
+ part.toolResult.content = redactor.redact(part.toolResult.content);
118
+ }
119
+ if (typeof part.toolResult.contentJSON === 'string') {
120
+ part.toolResult.contentJSON = redactor.redact(part.toolResult.contentJSON);
121
+ }
122
+ }
123
+ break;
124
+ }
125
+ }
126
+ function redactString(value, redactor, mode) {
127
+ switch (mode) {
128
+ case 'full':
129
+ return redactor.redact(value);
130
+ case 'light':
131
+ return redactor.redactLightweight(value);
132
+ default:
133
+ return value;
134
+ }
135
+ }
136
+ function applyPatterns(text, patterns) {
137
+ let result = text;
138
+ for (const pattern of patterns) {
139
+ result = applyPattern(result, pattern);
140
+ }
141
+ return result;
142
+ }
143
+ function applyPattern(text, pattern) {
144
+ pattern.regex.lastIndex = 0;
145
+ return text.replace(pattern.regex, `[REDACTED:${pattern.id}]`);
146
+ }
147
+ function applyTier2Patterns(text, patterns) {
148
+ let result = text;
149
+ for (const pattern of patterns) {
150
+ pattern.regex.lastIndex = 0;
151
+ result = result.replace(pattern.regex, `$1[REDACTED:${pattern.id}]`);
152
+ }
153
+ return result;
154
+ }
155
+ //# sourceMappingURL=redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -147,11 +147,20 @@ export interface GenerationExporter {
147
147
  exportGenerations(request: ExportGenerationsRequest): Promise<ExportGenerationsResponse>;
148
148
  shutdown?(): Promise<void> | void;
149
149
  }
150
+ /**
151
+ * Callback invoked after a generation has been normalized and content-capture
152
+ * policy has been applied, but before span synchronization, validation, debug
153
+ * snapshots, and export. Implementations should return the sanitized
154
+ * generation. Thrown errors are caught and treated as `'metadata_only'`
155
+ * stripping (fail-closed).
156
+ */
157
+ export type GenerationSanitizer = (generation: Generation) => Generation;
150
158
  /** Fully resolved SDK configuration. */
151
159
  export interface SigilSdkConfig {
152
160
  generationExport: GenerationExportConfig;
153
161
  api: ApiConfig;
154
162
  embeddingCapture: EmbeddingCaptureConfig;
163
+ hooks: HooksConfig;
155
164
  /**
156
165
  * Default content capture mode for all generations and tool executions.
157
166
  * Per-recording overrides take precedence. Defaults to `'no_tool_content'`.
@@ -169,26 +178,53 @@ export interface SigilSdkConfig {
169
178
  * Thrown errors are caught and treated as `'metadata_only'` (fail-closed).
170
179
  */
171
180
  contentCaptureResolver?: ContentCaptureResolver;
181
+ generationSanitizer?: GenerationSanitizer;
172
182
  generationExporter?: GenerationExporter;
173
183
  tracer?: Tracer;
174
184
  meter?: Meter;
175
185
  logger?: SigilLogger;
176
186
  now?: () => Date;
177
187
  sleep?: (durationMs: number) => Promise<void>;
188
+ /**
189
+ * Default agent name applied to GenerationStart / EmbeddingStart /
190
+ * ToolExecutionStart when the per-call value is empty. Read from
191
+ * `SIGIL_AGENT_NAME` automatically by `new SigilClient()`.
192
+ */
193
+ agentName?: string;
194
+ /** Default agent version. Read from `SIGIL_AGENT_VERSION`. */
195
+ agentVersion?: string;
196
+ /** Default user identifier. Read from `SIGIL_USER_ID`. */
197
+ userId?: string;
198
+ /** Default tags merged into every generation; per-call tags win. Read from `SIGIL_TAGS` (CSV). */
199
+ tags?: Record<string, string>;
200
+ /**
201
+ * When true, signals to downstream consumers (plugins, telemetry) that the
202
+ * SDK is running in verbose mode. Read from `SIGIL_DEBUG`. The SDK does not
203
+ * currently change its own logger based on this flag — plugins layer their
204
+ * own log-file plumbing on top of it.
205
+ */
206
+ debug?: boolean;
178
207
  }
179
208
  /** Partial SDK configuration passed by callers. */
180
209
  export interface SigilSdkConfigInput {
181
210
  generationExport?: Partial<GenerationExportConfig>;
182
211
  api?: Partial<ApiConfig>;
183
212
  embeddingCapture?: Partial<EmbeddingCaptureConfig>;
213
+ hooks?: Partial<HooksConfig>;
184
214
  contentCapture?: ContentCaptureMode;
185
215
  contentCaptureResolver?: ContentCaptureResolver;
216
+ generationSanitizer?: GenerationSanitizer;
186
217
  generationExporter?: GenerationExporter;
187
218
  tracer?: Tracer;
188
219
  meter?: Meter;
189
220
  logger?: SigilLogger;
190
221
  now?: () => Date;
191
222
  sleep?: (durationMs: number) => Promise<void>;
223
+ agentName?: string;
224
+ agentVersion?: string;
225
+ userId?: string;
226
+ tags?: Record<string, string>;
227
+ debug?: boolean;
192
228
  }
193
229
  /** Provider/model identity. */
194
230
  export interface ModelRef {
@@ -458,4 +494,70 @@ export interface RecorderWithError {
458
494
  end(): void;
459
495
  getError(): Error | undefined;
460
496
  }
497
+ /** Phase at which a hook rule is evaluated. */
498
+ export type HookPhase = 'preflight' | 'postflight';
499
+ /** Hook evaluation action returned by the server. */
500
+ export type HookAction = 'allow' | 'deny';
501
+ /** Runtime configuration for synchronous hook evaluation. */
502
+ export interface HooksConfig {
503
+ /** Master switch. When false, `evaluateHook` short-circuits to `allow`. */
504
+ enabled: boolean;
505
+ /** Phases the SDK is allowed to evaluate. Defaults to `['preflight']`. */
506
+ phases: HookPhase[];
507
+ /** Per-request timeout in milliseconds. Defaults to 15000. */
508
+ timeoutMs: number;
509
+ /**
510
+ * When true, network/timeout failures resolve to `action: 'allow'` so the
511
+ * caller can proceed with the LLM call. Defaults to true.
512
+ */
513
+ failOpen: boolean;
514
+ }
515
+ /** Identifies the upstream LLM call for hook rule matching. */
516
+ export interface HookModel {
517
+ provider: string;
518
+ name: string;
519
+ }
520
+ /** Routing/matching context attached to a hook evaluation request. */
521
+ export interface HookContext {
522
+ agentName?: string;
523
+ agentVersion?: string;
524
+ model: HookModel;
525
+ tags?: Record<string, string>;
526
+ }
527
+ /**
528
+ * Payload describing the request (preflight) or request+response (postflight)
529
+ * to be evaluated by hook rules.
530
+ */
531
+ export interface HookInput {
532
+ messages?: Message[];
533
+ tools?: ToolDefinition[];
534
+ systemPrompt?: string;
535
+ /** Output messages, only meaningful for postflight evaluation. */
536
+ output?: Message[];
537
+ /** Plain-text fallback when structured messages are unavailable. */
538
+ conversationPreview?: string;
539
+ }
540
+ /** Hook evaluation request body. */
541
+ export interface HookEvaluateRequest {
542
+ phase: HookPhase;
543
+ context: HookContext;
544
+ input: HookInput;
545
+ }
546
+ /** Per-rule outcome reported by the server. */
547
+ export interface HookEvaluation {
548
+ ruleId: string;
549
+ evaluatorId: string;
550
+ evaluatorKind: string;
551
+ passed: boolean;
552
+ latencyMs: number;
553
+ explanation?: string;
554
+ reason?: string;
555
+ }
556
+ /** Hook evaluation response body. */
557
+ export interface HookEvaluateResponse {
558
+ action: HookAction;
559
+ ruleId?: string;
560
+ reason?: string;
561
+ evaluations: HookEvaluation[];
562
+ }
461
563
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ # Strands Agents Hooks (`@grafana/sigil-sdk-js/strands`)
2
+
3
+ Use `withSigilStrandsHooks(...)` to instrument Strands Agents TypeScript agents with Sigil generation export, spans, metrics, tool execution spans, and streaming TTFT.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add @grafana/sigil-sdk-js @strands-agents/sdk
9
+ ```
10
+
11
+ ## Quickstart
12
+
13
+ ```ts
14
+ import { Agent } from '@strands-agents/sdk';
15
+ import { OpenAIModel } from '@strands-agents/sdk/models/openai';
16
+ import { SigilClient } from '@grafana/sigil-sdk-js';
17
+ import { withSigilStrandsHooks } from '@grafana/sigil-sdk-js/strands';
18
+
19
+ const sigil = new SigilClient();
20
+ const model = new OpenAIModel({ api: 'chat', modelId: 'gpt-4o-mini' });
21
+
22
+ const agent = new Agent(
23
+ withSigilStrandsHooks(
24
+ {
25
+ name: 'support-agent',
26
+ model,
27
+ systemPrompt: 'You are concise.',
28
+ appState: { conversation_id: 'chat-123' },
29
+ },
30
+ sigil,
31
+ { providerResolver: 'auto' },
32
+ ),
33
+ );
34
+
35
+ const result = await agent.invoke('Answer in one sentence.');
36
+ console.log(result.toString());
37
+ await sigil.shutdown();
38
+ ```
39
+
40
+ `withSigilStrandsHooks(...)` can also register hooks on an already-created agent:
41
+
42
+ ```ts
43
+ withSigilStrandsHooks(agent, sigil, { conversationId: 'chat-123' });
44
+ ```
45
+
46
+ ## Conversation ID
47
+
48
+ Use a stable conversation ID for multi-turn continuity. Precedence:
49
+
50
+ 1. `withSigilStrandsHooks(..., { conversationId })`
51
+ 2. `resolveConversationId(event, agent)` option
52
+ 3. `agent.appState` keys: `conversation_id`, `conversationId`, `session_id`, `sessionId`, `group_id`, `groupId`
53
+ 4. fallback `sigil:framework:strands:<run_id>`
54
+
55
+ For per-request routing, set `agent.appState.set('conversation_id', id)` before `agent.invoke(...)` and omit the fixed `conversationId` option.
56
+
57
+ ## Metadata
58
+
59
+ Tags:
60
+
61
+ - `sigil.framework.name=strands`
62
+ - `sigil.framework.source=hooks`
63
+ - `sigil.framework.language=typescript`
64
+
65
+ Metadata includes:
66
+
67
+ - `sigil.framework.run_id`
68
+ - `sigil.framework.parent_run_id`
69
+ - `sigil.framework.component_name`
70
+ - `sigil.framework.run_type`
71
+ - `sigil.framework.event_id` when a Strands tool call ID is available
72
+
73
+ ## Privacy Controls
74
+
75
+ Disable model/tool payload capture:
76
+
77
+ ```ts
78
+ withSigilStrandsHooks(agent, sigil, {
79
+ captureInputs: false,
80
+ captureOutputs: false,
81
+ });
82
+ ```
83
+
84
+ ## Notes
85
+
86
+ - The adapter uses Strands lifecycle hooks and plugins. It does not replace the model or tool implementations.
87
+ - OpenAI usage requires installing Strands' OpenAI peer dependency (`openai`) and setting `OPENAI_API_KEY`.
88
+ - Call `await sigil.shutdown()` to flush queued generation export before process exit.
package/docs/index.md CHANGED
@@ -20,3 +20,4 @@ This directory contains public SDK usage docs for the TypeScript/JavaScript pack
20
20
  - `frameworks/llamaindex.md`
21
21
  - `frameworks/google-adk.md`
22
22
  - `frameworks/vercel-ai-sdk.md`
23
+ - `frameworks/strands.md`
package/package.json CHANGED
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "name": "@grafana/sigil-sdk-js",
3
- "version": "0.0.1",
3
+ "version": "0.2.1",
4
4
  "license": "Apache-2.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/grafana/sigil-sdk.git",
8
+ "directory": "js"
9
+ },
5
10
  "type": "module",
6
11
  "main": "./dist/index.js",
7
12
  "types": "./dist/index.d.ts",
@@ -33,6 +38,10 @@
33
38
  "./vercel-ai-sdk": {
34
39
  "types": "./dist/frameworks/vercel-ai-sdk/index.d.ts",
35
40
  "import": "./dist/frameworks/vercel-ai-sdk/index.js"
41
+ },
42
+ "./strands": {
43
+ "types": "./dist/frameworks/strands/index.d.ts",
44
+ "import": "./dist/frameworks/strands/index.js"
36
45
  }
37
46
  },
38
47
  "files": [
@@ -48,7 +57,7 @@
48
57
  "build": "pnpm run clean && tsc --project tsconfig.build.json",
49
58
  "typecheck": "tsc --project tsconfig.json --noEmit",
50
59
  "test:build": "rm -rf .test-dist && tsc --project tsconfig.test.json",
51
- "test": "pnpm run test:build && node --test test/**/*.test.mjs",
60
+ "test": "pnpm run test:build && node --import ./test/_setup.mjs --test test/**/*.test.mjs",
52
61
  "test:ci": "pnpm run test",
53
62
  "lint": "biome check .",
54
63
  "lint:fix": "biome check --fix ."
@@ -72,8 +81,17 @@
72
81
  "llamaindex": "^0.12.1",
73
82
  "openai": "^6.27.0"
74
83
  },
84
+ "peerDependencies": {
85
+ "@strands-agents/sdk": "^1.0.0-rc.5"
86
+ },
87
+ "peerDependenciesMeta": {
88
+ "@strands-agents/sdk": {
89
+ "optional": true
90
+ }
91
+ },
75
92
  "devDependencies": {
76
93
  "@opentelemetry/context-async-hooks": "^2.6.0",
94
+ "@strands-agents/sdk": "^1.0.0-rc.5",
77
95
  "@types/node": "^24.11.0",
78
96
  "typescript": "^6.0.0"
79
97
  }