@grafana/sigil-sdk-js 0.0.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.
Files changed (110) hide show
  1. package/LICENSE +3 -0
  2. package/README.md +367 -0
  3. package/dist/client.d.ts +102 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +1502 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +9 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +190 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/content_capture.d.ts +35 -0
  12. package/dist/content_capture.d.ts.map +1 -0
  13. package/dist/content_capture.js +123 -0
  14. package/dist/content_capture.js.map +1 -0
  15. package/dist/context.d.ts +11 -0
  16. package/dist/context.d.ts.map +1 -0
  17. package/dist/context.js +53 -0
  18. package/dist/context.js.map +1 -0
  19. package/dist/exporters/default.d.ts +3 -0
  20. package/dist/exporters/default.d.ts.map +1 -0
  21. package/dist/exporters/default.js +34 -0
  22. package/dist/exporters/default.js.map +1 -0
  23. package/dist/exporters/grpc.d.ts +14 -0
  24. package/dist/exporters/grpc.d.ts.map +1 -0
  25. package/dist/exporters/grpc.js +369 -0
  26. package/dist/exporters/grpc.js.map +1 -0
  27. package/dist/exporters/http.d.ts +8 -0
  28. package/dist/exporters/http.d.ts.map +1 -0
  29. package/dist/exporters/http.js +258 -0
  30. package/dist/exporters/http.js.map +1 -0
  31. package/dist/frameworks/google-adk/index.d.ts +136 -0
  32. package/dist/frameworks/google-adk/index.d.ts.map +1 -0
  33. package/dist/frameworks/google-adk/index.js +509 -0
  34. package/dist/frameworks/google-adk/index.js.map +1 -0
  35. package/dist/frameworks/langchain/index.d.ts +29 -0
  36. package/dist/frameworks/langchain/index.d.ts.map +1 -0
  37. package/dist/frameworks/langchain/index.js +70 -0
  38. package/dist/frameworks/langchain/index.js.map +1 -0
  39. package/dist/frameworks/langgraph/index.d.ts +29 -0
  40. package/dist/frameworks/langgraph/index.d.ts.map +1 -0
  41. package/dist/frameworks/langgraph/index.js +70 -0
  42. package/dist/frameworks/langgraph/index.js.map +1 -0
  43. package/dist/frameworks/llamaindex/index.d.ts +43 -0
  44. package/dist/frameworks/llamaindex/index.d.ts.map +1 -0
  45. package/dist/frameworks/llamaindex/index.js +493 -0
  46. package/dist/frameworks/llamaindex/index.js.map +1 -0
  47. package/dist/frameworks/openai-agents/index.d.ts +33 -0
  48. package/dist/frameworks/openai-agents/index.d.ts.map +1 -0
  49. package/dist/frameworks/openai-agents/index.js +531 -0
  50. package/dist/frameworks/openai-agents/index.js.map +1 -0
  51. package/dist/frameworks/shared.d.ts +57 -0
  52. package/dist/frameworks/shared.d.ts.map +1 -0
  53. package/dist/frameworks/shared.js +1032 -0
  54. package/dist/frameworks/shared.js.map +1 -0
  55. package/dist/frameworks/vercel-ai-sdk/hooks.d.ts +18 -0
  56. package/dist/frameworks/vercel-ai-sdk/hooks.d.ts.map +1 -0
  57. package/dist/frameworks/vercel-ai-sdk/hooks.js +672 -0
  58. package/dist/frameworks/vercel-ai-sdk/hooks.js.map +1 -0
  59. package/dist/frameworks/vercel-ai-sdk/index.d.ts +8 -0
  60. package/dist/frameworks/vercel-ai-sdk/index.d.ts.map +1 -0
  61. package/dist/frameworks/vercel-ai-sdk/index.js +7 -0
  62. package/dist/frameworks/vercel-ai-sdk/index.js.map +1 -0
  63. package/dist/frameworks/vercel-ai-sdk/mapping.d.ts +49 -0
  64. package/dist/frameworks/vercel-ai-sdk/mapping.d.ts.map +1 -0
  65. package/dist/frameworks/vercel-ai-sdk/mapping.js +660 -0
  66. package/dist/frameworks/vercel-ai-sdk/mapping.js.map +1 -0
  67. package/dist/frameworks/vercel-ai-sdk/types.d.ts +126 -0
  68. package/dist/frameworks/vercel-ai-sdk/types.d.ts.map +1 -0
  69. package/dist/frameworks/vercel-ai-sdk/types.js +2 -0
  70. package/dist/frameworks/vercel-ai-sdk/types.js.map +1 -0
  71. package/dist/index.d.ts +12 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +12 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/providers/anthropic.d.ts +35 -0
  76. package/dist/providers/anthropic.d.ts.map +1 -0
  77. package/dist/providers/anthropic.js +581 -0
  78. package/dist/providers/anthropic.js.map +1 -0
  79. package/dist/providers/gemini.d.ts +42 -0
  80. package/dist/providers/gemini.d.ts.map +1 -0
  81. package/dist/providers/gemini.js +650 -0
  82. package/dist/providers/gemini.js.map +1 -0
  83. package/dist/providers/openai.d.ts +67 -0
  84. package/dist/providers/openai.d.ts.map +1 -0
  85. package/dist/providers/openai.js +1007 -0
  86. package/dist/providers/openai.js.map +1 -0
  87. package/dist/types.d.ts +461 -0
  88. package/dist/types.d.ts.map +1 -0
  89. package/dist/types.js +2 -0
  90. package/dist/types.js.map +1 -0
  91. package/dist/utils.d.ts +25 -0
  92. package/dist/utils.d.ts.map +1 -0
  93. package/dist/utils.js +331 -0
  94. package/dist/utils.js.map +1 -0
  95. package/docs/frameworks/google-adk.md +84 -0
  96. package/docs/frameworks/langchain.md +102 -0
  97. package/docs/frameworks/langgraph.md +137 -0
  98. package/docs/frameworks/llamaindex.md +82 -0
  99. package/docs/frameworks/openai-agents.md +88 -0
  100. package/docs/frameworks/vercel-ai-sdk.md +124 -0
  101. package/docs/index.md +22 -0
  102. package/docs/providers/anthropic.md +69 -0
  103. package/docs/providers/gemini.md +86 -0
  104. package/docs/providers/openai.md +151 -0
  105. package/package.json +80 -0
  106. package/proto/opentelemetry/proto/collector/trace/v1/trace_service.proto +77 -0
  107. package/proto/opentelemetry/proto/common/v1/common.proto +115 -0
  108. package/proto/opentelemetry/proto/resource/v1/resource.proto +44 -0
  109. package/proto/opentelemetry/proto/trace/v1/trace.proto +357 -0
  110. package/proto/sigil/v1/generation_ingest.proto +145 -0
@@ -0,0 +1,581 @@
1
+ const thinkingBudgetMetadataKey = 'sigil.gen_ai.request.thinking.budget_tokens';
2
+ const usageServerToolUseWebSearchMetadataKey = 'sigil.gen_ai.usage.server_tool_use.web_search_requests';
3
+ const usageServerToolUseWebFetchMetadataKey = 'sigil.gen_ai.usage.server_tool_use.web_fetch_requests';
4
+ const usageServerToolUseTotalMetadataKey = 'sigil.gen_ai.usage.server_tool_use.total_requests';
5
+ async function anthropicMessagesCreate(client, request, providerCall, options = {}) {
6
+ const mappedRequest = mapAnthropicRequest(request);
7
+ return client.startGeneration({
8
+ conversationId: options.conversationId,
9
+ agentName: options.agentName,
10
+ agentVersion: options.agentVersion,
11
+ model: {
12
+ provider: 'anthropic',
13
+ name: String(request.model ?? ''),
14
+ },
15
+ systemPrompt: mappedRequest.systemPrompt,
16
+ maxTokens: mappedRequest.maxTokens,
17
+ temperature: mappedRequest.temperature,
18
+ topP: mappedRequest.topP,
19
+ toolChoice: mappedRequest.toolChoice,
20
+ thinkingEnabled: mappedRequest.thinkingEnabled,
21
+ tools: mappedRequest.tools,
22
+ tags: options.tags,
23
+ metadata: metadataWithThinkingBudget(options.metadata, mappedRequest.thinkingBudget),
24
+ }, async (recorder) => {
25
+ const response = await providerCall(request);
26
+ recorder.setResult(anthropicMessagesFromRequestResponse(request, response, options));
27
+ return response;
28
+ });
29
+ }
30
+ async function anthropicMessagesStream(client, request, providerCall, options = {}) {
31
+ const mappedRequest = mapAnthropicRequest(request);
32
+ return client.startStreamingGeneration({
33
+ conversationId: options.conversationId,
34
+ agentName: options.agentName,
35
+ agentVersion: options.agentVersion,
36
+ model: {
37
+ provider: 'anthropic',
38
+ name: String(request.model ?? ''),
39
+ },
40
+ systemPrompt: mappedRequest.systemPrompt,
41
+ maxTokens: mappedRequest.maxTokens,
42
+ temperature: mappedRequest.temperature,
43
+ topP: mappedRequest.topP,
44
+ toolChoice: mappedRequest.toolChoice,
45
+ thinkingEnabled: mappedRequest.thinkingEnabled,
46
+ tools: mappedRequest.tools,
47
+ tags: options.tags,
48
+ metadata: metadataWithThinkingBudget(options.metadata, mappedRequest.thinkingBudget),
49
+ }, async (recorder) => {
50
+ const summary = await providerCall(request);
51
+ const firstChunkAt = asDate(summary.firstChunkAt);
52
+ if (firstChunkAt !== undefined) {
53
+ recorder.setFirstTokenAt(firstChunkAt);
54
+ }
55
+ recorder.setResult(anthropicMessagesFromStream(request, summary, options));
56
+ return summary;
57
+ });
58
+ }
59
+ function anthropicMessagesFromRequestResponse(request, response, options = {}) {
60
+ const mappedRequest = mapAnthropicRequest(request);
61
+ const output = mapAnthropicResponseOutput(response);
62
+ const usageMetadata = anthropicUsageMetadata(response.usage);
63
+ const result = {
64
+ responseId: response.id,
65
+ responseModel: response.model ?? String(request.model ?? ''),
66
+ maxTokens: mappedRequest.maxTokens,
67
+ temperature: mappedRequest.temperature,
68
+ topP: mappedRequest.topP,
69
+ toolChoice: mappedRequest.toolChoice,
70
+ thinkingEnabled: mappedRequest.thinkingEnabled,
71
+ input: mappedRequest.input,
72
+ output,
73
+ tools: mappedRequest.tools,
74
+ usage: mapAnthropicUsage(response.usage),
75
+ stopReason: normalizeStopReason(response.stop_reason),
76
+ metadata: mergeMetadata(metadataWithThinkingBudget(options.metadata, mappedRequest.thinkingBudget), usageMetadata),
77
+ tags: options.tags ? { ...options.tags } : undefined,
78
+ };
79
+ if (options.rawArtifacts) {
80
+ result.artifacts = [
81
+ jsonArtifact('request', 'anthropic.messages.request', request),
82
+ jsonArtifact('response', 'anthropic.messages.response', response),
83
+ ];
84
+ if (mappedRequest.tools.length > 0) {
85
+ result.artifacts.push(jsonArtifact('tools', 'anthropic.messages.tools', mappedRequest.tools));
86
+ }
87
+ }
88
+ return result;
89
+ }
90
+ function anthropicMessagesFromStream(request, summary, options = {}) {
91
+ const mappedRequest = mapAnthropicRequest(request);
92
+ const events = summary.events ?? [];
93
+ const outputText = summary.outputText ?? extractAnthropicStreamText(events);
94
+ const fallbackOutput = outputText.length > 0 ? [{ role: 'assistant', content: outputText }] : [];
95
+ const streamUsageMetadata = anthropicStreamUsageMetadata(events);
96
+ const result = summary.finalResponse
97
+ ? {
98
+ ...anthropicMessagesFromRequestResponse(request, summary.finalResponse, options),
99
+ output: mapAnthropicResponseOutput(summary.finalResponse).length > 0
100
+ ? mapAnthropicResponseOutput(summary.finalResponse)
101
+ : fallbackOutput,
102
+ }
103
+ : {
104
+ responseModel: String(request.model ?? ''),
105
+ maxTokens: mappedRequest.maxTokens,
106
+ temperature: mappedRequest.temperature,
107
+ topP: mappedRequest.topP,
108
+ toolChoice: mappedRequest.toolChoice,
109
+ thinkingEnabled: mappedRequest.thinkingEnabled,
110
+ input: mappedRequest.input,
111
+ output: fallbackOutput,
112
+ tools: mappedRequest.tools,
113
+ metadata: mergeMetadata(metadataWithThinkingBudget(options.metadata, mappedRequest.thinkingBudget), streamUsageMetadata),
114
+ tags: options.tags ? { ...options.tags } : undefined,
115
+ };
116
+ if (options.rawArtifacts) {
117
+ const existing = result.artifacts ?? [];
118
+ if (!existing.some((artifact) => artifact.type === 'request')) {
119
+ existing.push(jsonArtifact('request', 'anthropic.messages.request', request));
120
+ }
121
+ if (mappedRequest.tools.length > 0 && !existing.some((artifact) => artifact.type === 'tools')) {
122
+ existing.push(jsonArtifact('tools', 'anthropic.messages.tools', mappedRequest.tools));
123
+ }
124
+ existing.push(jsonArtifact('provider_event', 'anthropic.messages.stream_events', events));
125
+ result.artifacts = existing;
126
+ }
127
+ return result;
128
+ }
129
+ export const messages = {
130
+ create: anthropicMessagesCreate,
131
+ stream: anthropicMessagesStream,
132
+ fromRequestResponse: anthropicMessagesFromRequestResponse,
133
+ fromStream: anthropicMessagesFromStream,
134
+ };
135
+ function mapAnthropicRequest(request) {
136
+ const input = [];
137
+ const rawMessages = Array.isArray(request.messages)
138
+ ? request.messages
139
+ : [];
140
+ for (const rawMessage of rawMessages) {
141
+ if (!isRecord(rawMessage)) {
142
+ continue;
143
+ }
144
+ const roleRaw = typeof rawMessage.role === 'string' ? rawMessage.role.toLowerCase() : '';
145
+ const mappedRole = roleRaw === 'assistant' || roleRaw === 'tool' ? roleRaw : 'user';
146
+ const contentParts = mapAnthropicContentParts(rawMessage.content, mappedRole);
147
+ const contentText = extractText(rawMessage.content);
148
+ if (contentParts.length > 0) {
149
+ const hasToolResult = contentParts.some((part) => part.type === 'tool_result');
150
+ input.push({
151
+ role: hasToolResult ? 'tool' : mappedRole,
152
+ name: typeof rawMessage.name === 'string' ? rawMessage.name : undefined,
153
+ content: contentText || undefined,
154
+ parts: contentParts,
155
+ });
156
+ continue;
157
+ }
158
+ if (contentText.length > 0) {
159
+ input.push({
160
+ role: mappedRole,
161
+ name: typeof rawMessage.name === 'string' ? rawMessage.name : undefined,
162
+ content: contentText,
163
+ });
164
+ }
165
+ }
166
+ return {
167
+ input,
168
+ systemPrompt: extractAnthropicSystemPrompt(request.system),
169
+ tools: mapAnthropicTools(request.tools),
170
+ maxTokens: readIntFromAny(request.max_tokens),
171
+ temperature: readNumberFromAny(request.temperature),
172
+ topP: readNumberFromAny(request.top_p),
173
+ toolChoice: canonicalToolChoice(request.tool_choice),
174
+ thinkingEnabled: anthropicThinkingEnabled(request.thinking),
175
+ thinkingBudget: anthropicThinkingBudget(request.thinking),
176
+ };
177
+ }
178
+ function mapAnthropicContentParts(content, role) {
179
+ if (!Array.isArray(content)) {
180
+ return [];
181
+ }
182
+ const parts = [];
183
+ for (const rawBlock of content) {
184
+ if (!isRecord(rawBlock)) {
185
+ continue;
186
+ }
187
+ const blockType = typeof rawBlock.type === 'string' ? rawBlock.type : '';
188
+ if (blockType === 'text' && typeof rawBlock.text === 'string' && rawBlock.text.trim().length > 0) {
189
+ parts.push({
190
+ type: 'text',
191
+ text: rawBlock.text,
192
+ metadata: { providerType: blockType },
193
+ });
194
+ continue;
195
+ }
196
+ if (blockType === 'thinking' || blockType === 'redacted_thinking') {
197
+ const thinking = typeof rawBlock.thinking === 'string'
198
+ ? rawBlock.thinking
199
+ : typeof rawBlock.data === 'string'
200
+ ? rawBlock.data
201
+ : typeof rawBlock.text === 'string'
202
+ ? rawBlock.text
203
+ : '';
204
+ if (thinking.trim().length > 0) {
205
+ parts.push({
206
+ type: 'thinking',
207
+ thinking,
208
+ metadata: { providerType: blockType },
209
+ });
210
+ }
211
+ continue;
212
+ }
213
+ if (blockType === 'tool_use' || blockType === 'server_tool_use' || blockType === 'mcp_tool_use') {
214
+ const name = typeof rawBlock.name === 'string' ? rawBlock.name : '';
215
+ if (name.trim().length === 0) {
216
+ continue;
217
+ }
218
+ parts.push({
219
+ type: 'tool_call',
220
+ toolCall: {
221
+ id: typeof rawBlock.id === 'string' ? rawBlock.id : undefined,
222
+ name,
223
+ inputJSON: jsonString(rawBlock.input),
224
+ },
225
+ metadata: { providerType: blockType },
226
+ });
227
+ continue;
228
+ }
229
+ if (blockType === 'tool_result' || role === 'tool') {
230
+ const contentValue = extractText(rawBlock.content);
231
+ parts.push({
232
+ type: 'tool_result',
233
+ toolResult: {
234
+ toolCallId: typeof rawBlock.tool_use_id === 'string'
235
+ ? rawBlock.tool_use_id
236
+ : typeof rawBlock.tool_call_id === 'string'
237
+ ? rawBlock.tool_call_id
238
+ : undefined,
239
+ name: typeof rawBlock.name === 'string' ? rawBlock.name : undefined,
240
+ content: contentValue || undefined,
241
+ contentJSON: jsonString(rawBlock.content),
242
+ isError: typeof rawBlock.is_error === 'boolean' ? rawBlock.is_error : undefined,
243
+ },
244
+ metadata: { providerType: blockType || 'tool_result' },
245
+ });
246
+ }
247
+ }
248
+ return parts;
249
+ }
250
+ function mapAnthropicResponseOutput(response) {
251
+ const content = response.content;
252
+ const parts = mapAnthropicContentParts(content, 'assistant');
253
+ const text = extractText(content);
254
+ if (parts.length === 0 && text.length === 0) {
255
+ return [];
256
+ }
257
+ return [
258
+ {
259
+ role: 'assistant',
260
+ content: text || undefined,
261
+ parts: parts.length > 0 ? parts : undefined,
262
+ },
263
+ ];
264
+ }
265
+ function mapAnthropicTools(rawTools) {
266
+ if (!Array.isArray(rawTools)) {
267
+ return [];
268
+ }
269
+ const out = [];
270
+ for (const rawTool of rawTools) {
271
+ if (!isRecord(rawTool)) {
272
+ continue;
273
+ }
274
+ const name = typeof rawTool.name === 'string' ? rawTool.name : '';
275
+ if (name.trim().length === 0) {
276
+ continue;
277
+ }
278
+ out.push({
279
+ name,
280
+ description: typeof rawTool.description === 'string' ? rawTool.description : undefined,
281
+ type: typeof rawTool.type === 'string' ? rawTool.type : 'function',
282
+ inputSchemaJSON: hasValue(rawTool.input_schema) ? jsonString(rawTool.input_schema) : undefined,
283
+ });
284
+ }
285
+ return out;
286
+ }
287
+ function mapAnthropicUsage(rawUsage) {
288
+ if (!isRecord(rawUsage)) {
289
+ return undefined;
290
+ }
291
+ const inputTokens = readIntFromAny(rawUsage.input_tokens);
292
+ const outputTokens = readIntFromAny(rawUsage.output_tokens);
293
+ const totalTokens = readIntFromAny(rawUsage.total_tokens);
294
+ const cacheReadInputTokens = readIntFromAny(rawUsage.cache_read_input_tokens);
295
+ const cacheCreationInputTokens = readIntFromAny(rawUsage.cache_creation_input_tokens);
296
+ const out = {};
297
+ if (inputTokens !== undefined) {
298
+ out.inputTokens = inputTokens;
299
+ }
300
+ if (outputTokens !== undefined) {
301
+ out.outputTokens = outputTokens;
302
+ }
303
+ if (totalTokens !== undefined) {
304
+ out.totalTokens = totalTokens;
305
+ }
306
+ else if (inputTokens !== undefined || outputTokens !== undefined) {
307
+ out.totalTokens = (inputTokens ?? 0) + (outputTokens ?? 0);
308
+ }
309
+ if (cacheReadInputTokens !== undefined) {
310
+ out.cacheReadInputTokens = cacheReadInputTokens;
311
+ }
312
+ if (cacheCreationInputTokens !== undefined) {
313
+ out.cacheCreationInputTokens = cacheCreationInputTokens;
314
+ }
315
+ return Object.keys(out).length > 0 ? out : undefined;
316
+ }
317
+ function anthropicUsageMetadata(rawUsage) {
318
+ if (!isRecord(rawUsage)) {
319
+ return undefined;
320
+ }
321
+ const serverToolUse = isRecord(rawUsage.server_tool_use)
322
+ ? rawUsage.server_tool_use
323
+ : isRecord(rawUsage.serverToolUse)
324
+ ? rawUsage.serverToolUse
325
+ : undefined;
326
+ if (serverToolUse === undefined) {
327
+ return undefined;
328
+ }
329
+ const webSearchRequests = readIntFromAny(serverToolUse.web_search_requests ?? serverToolUse.webSearchRequests);
330
+ const webFetchRequests = readIntFromAny(serverToolUse.web_fetch_requests ?? serverToolUse.webFetchRequests);
331
+ const totalRequests = (webSearchRequests ?? 0) + (webFetchRequests ?? 0);
332
+ if (totalRequests === 0) {
333
+ return undefined;
334
+ }
335
+ const out = {};
336
+ if (webSearchRequests !== undefined && webSearchRequests > 0) {
337
+ out[usageServerToolUseWebSearchMetadataKey] = webSearchRequests;
338
+ }
339
+ if (webFetchRequests !== undefined && webFetchRequests > 0) {
340
+ out[usageServerToolUseWebFetchMetadataKey] = webFetchRequests;
341
+ }
342
+ out[usageServerToolUseTotalMetadataKey] = totalRequests;
343
+ return out;
344
+ }
345
+ function extractAnthropicSystemPrompt(system) {
346
+ if (!hasValue(system)) {
347
+ return undefined;
348
+ }
349
+ if (typeof system === 'string') {
350
+ const normalized = system.trim();
351
+ return normalized.length > 0 ? normalized : undefined;
352
+ }
353
+ if (Array.isArray(system)) {
354
+ const chunks = [];
355
+ for (const block of system) {
356
+ if (!isRecord(block)) {
357
+ continue;
358
+ }
359
+ if (typeof block.text === 'string' && block.text.trim().length > 0) {
360
+ chunks.push(block.text.trim());
361
+ }
362
+ }
363
+ if (chunks.length > 0) {
364
+ return chunks.join('\n');
365
+ }
366
+ }
367
+ const fallback = extractText(system);
368
+ return fallback.length > 0 ? fallback : undefined;
369
+ }
370
+ function normalizeStopReason(value) {
371
+ if (typeof value !== 'string') {
372
+ return undefined;
373
+ }
374
+ const normalized = value.trim();
375
+ return normalized.length > 0 ? normalized : undefined;
376
+ }
377
+ function extractAnthropicStreamText(events) {
378
+ const chunks = [];
379
+ for (const event of events) {
380
+ const type = typeof event.type === 'string' ? event.type : '';
381
+ if (type === 'content_block_delta' && isRecord(event.delta)) {
382
+ const deltaType = typeof event.delta.type === 'string' ? event.delta.type : '';
383
+ if (deltaType === 'text_delta' && typeof event.delta.text === 'string' && event.delta.text.length > 0) {
384
+ chunks.push(event.delta.text);
385
+ continue;
386
+ }
387
+ if (typeof event.delta.text === 'string' && event.delta.text.length > 0) {
388
+ chunks.push(event.delta.text);
389
+ continue;
390
+ }
391
+ }
392
+ const fallback = extractText(event);
393
+ if (fallback.length > 0) {
394
+ chunks.push(fallback);
395
+ }
396
+ }
397
+ return chunks.join('');
398
+ }
399
+ function anthropicStreamUsageMetadata(events) {
400
+ for (let index = events.length - 1; index >= 0; index -= 1) {
401
+ const event = events[index];
402
+ if (event === undefined) {
403
+ continue;
404
+ }
405
+ if ((typeof event.type === 'string' ? event.type : '') !== 'message_delta') {
406
+ continue;
407
+ }
408
+ const metadata = anthropicUsageMetadata(event.usage);
409
+ if (metadata !== undefined) {
410
+ return metadata;
411
+ }
412
+ }
413
+ return undefined;
414
+ }
415
+ function anthropicThinkingEnabled(value) {
416
+ if (value === undefined || value === null) {
417
+ return undefined;
418
+ }
419
+ if (typeof value === 'boolean') {
420
+ return value;
421
+ }
422
+ if (typeof value === 'string') {
423
+ const normalized = value.trim().toLowerCase();
424
+ if (normalized === 'enabled' || normalized === 'adaptive') {
425
+ return true;
426
+ }
427
+ if (normalized === 'disabled') {
428
+ return false;
429
+ }
430
+ return undefined;
431
+ }
432
+ if (isRecord(value)) {
433
+ if (typeof value.enabled === 'boolean') {
434
+ return value.enabled;
435
+ }
436
+ const mode = String(value.type ?? value.mode ?? '')
437
+ .trim()
438
+ .toLowerCase();
439
+ if (mode === 'enabled' || mode === 'adaptive') {
440
+ return true;
441
+ }
442
+ if (mode === 'disabled') {
443
+ return false;
444
+ }
445
+ return undefined;
446
+ }
447
+ return undefined;
448
+ }
449
+ function anthropicThinkingBudget(value) {
450
+ if (!isRecord(value)) {
451
+ return undefined;
452
+ }
453
+ return readIntFromAny(value.budget_tokens);
454
+ }
455
+ function canonicalToolChoice(value) {
456
+ if (value === undefined || value === null) {
457
+ return undefined;
458
+ }
459
+ if (typeof value === 'string') {
460
+ const normalized = value.trim().toLowerCase();
461
+ return normalized.length > 0 ? normalized : undefined;
462
+ }
463
+ if (isRecord(value) && 'value' in value) {
464
+ const normalized = String(value.value ?? '')
465
+ .trim()
466
+ .toLowerCase();
467
+ return normalized.length > 0 ? normalized : undefined;
468
+ }
469
+ return jsonString(value);
470
+ }
471
+ function extractText(value) {
472
+ if (!hasValue(value)) {
473
+ return '';
474
+ }
475
+ if (typeof value === 'string') {
476
+ return value.trim();
477
+ }
478
+ if (Array.isArray(value)) {
479
+ const chunks = [];
480
+ for (const item of value) {
481
+ const chunk = extractText(item);
482
+ if (chunk.length > 0) {
483
+ chunks.push(chunk);
484
+ }
485
+ }
486
+ return chunks.join('\n');
487
+ }
488
+ if (isRecord(value)) {
489
+ if (typeof value.text === 'string' && value.text.trim().length > 0) {
490
+ return value.text.trim();
491
+ }
492
+ if (typeof value.content === 'string' && value.content.trim().length > 0) {
493
+ return value.content.trim();
494
+ }
495
+ if ('content' in value && value.content !== undefined && value.content !== null) {
496
+ return extractText(value.content);
497
+ }
498
+ }
499
+ return String(value).trim();
500
+ }
501
+ function readIntFromAny(value) {
502
+ if (typeof value === 'number' && Number.isFinite(value)) {
503
+ const asInt = Math.trunc(value);
504
+ return Number.isNaN(asInt) ? undefined : asInt;
505
+ }
506
+ if (typeof value === 'string') {
507
+ const parsed = Number.parseInt(value.trim(), 10);
508
+ return Number.isNaN(parsed) ? undefined : parsed;
509
+ }
510
+ return undefined;
511
+ }
512
+ function readNumberFromAny(value) {
513
+ if (typeof value === 'number' && Number.isFinite(value)) {
514
+ return value;
515
+ }
516
+ if (typeof value === 'string') {
517
+ const parsed = Number.parseFloat(value.trim());
518
+ return Number.isNaN(parsed) ? undefined : parsed;
519
+ }
520
+ return undefined;
521
+ }
522
+ function metadataWithThinkingBudget(metadata, thinkingBudget) {
523
+ if (thinkingBudget === undefined) {
524
+ return metadata ? { ...metadata } : undefined;
525
+ }
526
+ const out = metadata ? { ...metadata } : {};
527
+ out[thinkingBudgetMetadataKey] = thinkingBudget;
528
+ return out;
529
+ }
530
+ function mergeMetadata(base, extra) {
531
+ if (base === undefined) {
532
+ return extra ? { ...extra } : undefined;
533
+ }
534
+ if (extra === undefined) {
535
+ return { ...base };
536
+ }
537
+ return { ...base, ...extra };
538
+ }
539
+ function jsonArtifact(type, name, payload) {
540
+ return {
541
+ type,
542
+ name,
543
+ payload: jsonString(payload),
544
+ mimeType: 'application/json',
545
+ };
546
+ }
547
+ function jsonString(value) {
548
+ try {
549
+ return JSON.stringify(value, objectKeySorter);
550
+ }
551
+ catch {
552
+ return String(value ?? '');
553
+ }
554
+ }
555
+ function objectKeySorter(_key, value) {
556
+ if (!isRecord(value) || Array.isArray(value)) {
557
+ return value;
558
+ }
559
+ const sorted = {};
560
+ for (const key of Object.keys(value).sort()) {
561
+ sorted[key] = value[key];
562
+ }
563
+ return sorted;
564
+ }
565
+ function hasValue(value) {
566
+ return value !== undefined && value !== null;
567
+ }
568
+ function isRecord(value) {
569
+ return typeof value === 'object' && value !== null;
570
+ }
571
+ function asDate(value) {
572
+ if (value === undefined) {
573
+ return undefined;
574
+ }
575
+ const date = value instanceof Date ? new Date(value) : new Date(value);
576
+ if (Number.isNaN(date.getTime())) {
577
+ return undefined;
578
+ }
579
+ return date;
580
+ }
581
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { Content, GenerateContentConfig, GenerateContentResponse } from '@google/genai';
2
+ import type { SigilClient } from '../client.js';
3
+ import type { EmbeddingResult, GenerationResult } from '../types.js';
4
+ type AnyRecord = Record<string, unknown>;
5
+ type GeminiContent = Content & AnyRecord;
6
+ type GeminiContents = Array<GeminiContent | string>;
7
+ type GeminiConfig = GenerateContentConfig & AnyRecord;
8
+ type GeminiResponse = GenerateContentResponse & AnyRecord;
9
+ type GeminiEmbedConfig = AnyRecord;
10
+ type GeminiEmbedResponse = AnyRecord;
11
+ /** Optional Sigil fields applied during Gemini helper mapping. */
12
+ export interface GeminiOptions {
13
+ conversationId?: string;
14
+ agentName?: string;
15
+ agentVersion?: string;
16
+ tags?: Record<string, string>;
17
+ metadata?: Record<string, unknown>;
18
+ rawArtifacts?: boolean;
19
+ }
20
+ /** Streaming summary accepted by Gemini models stream wrapper. */
21
+ export interface ModelsStreamSummary {
22
+ responses?: GeminiResponse[];
23
+ finalResponse?: GeminiResponse;
24
+ outputText?: string;
25
+ firstChunkAt?: Date | string | number;
26
+ }
27
+ declare function geminiGenerateContent(client: SigilClient, model: string, contents: GeminiContents, config: GeminiConfig | undefined, providerCall: (model: string, contents: GeminiContents, config: GeminiConfig | undefined) => Promise<GeminiResponse>, options?: GeminiOptions): Promise<GeminiResponse>;
28
+ declare function geminiGenerateContentStream(client: SigilClient, model: string, contents: GeminiContents, config: GeminiConfig | undefined, providerCall: (model: string, contents: GeminiContents, config: GeminiConfig | undefined) => Promise<ModelsStreamSummary>, options?: GeminiOptions): Promise<ModelsStreamSummary>;
29
+ declare function geminiEmbedContent(client: SigilClient, model: string, contents: GeminiContents, config: GeminiEmbedConfig | undefined, providerCall: (model: string, contents: GeminiContents, config: GeminiEmbedConfig | undefined) => Promise<GeminiEmbedResponse>, options?: GeminiOptions): Promise<GeminiEmbedResponse>;
30
+ declare function geminiEmbeddingFromResponse(_model: string, contents: GeminiContents, config: GeminiEmbedConfig | undefined, response: GeminiEmbedResponse | undefined): EmbeddingResult;
31
+ declare function geminiFromRequestResponse(model: string, contents: GeminiContents, config: GeminiConfig | undefined, response: GeminiResponse, options?: GeminiOptions): GenerationResult;
32
+ declare function geminiFromStream(model: string, contents: GeminiContents, config: GeminiConfig | undefined, summary: ModelsStreamSummary, options?: GeminiOptions): GenerationResult;
33
+ export declare const models: {
34
+ readonly generateContent: typeof geminiGenerateContent;
35
+ readonly generateContentStream: typeof geminiGenerateContentStream;
36
+ readonly embedContent: typeof geminiEmbedContent;
37
+ readonly fromRequestResponse: typeof geminiFromRequestResponse;
38
+ readonly fromStream: typeof geminiFromStream;
39
+ readonly embeddingFromResponse: typeof geminiEmbeddingFromResponse;
40
+ };
41
+ export {};
42
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}