@keywordsai/keywordsai-sdk 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.
@@ -0,0 +1,521 @@
1
+ import { z } from "zod";
2
+ // Log type definition
3
+ export const LOG_TYPE_VALUES = [
4
+ "text",
5
+ "response",
6
+ "embedding",
7
+ "transcription",
8
+ "speech",
9
+ "workflow",
10
+ "task",
11
+ "tool",
12
+ "agent",
13
+ "handoff",
14
+ "guardrail",
15
+ "function",
16
+ "custom",
17
+ "generation",
18
+ "unknown",
19
+ ];
20
+ export const LOG_METHOD_VALUES = [
21
+ "inference",
22
+ "logging_api",
23
+ "batch",
24
+ "python_tracing",
25
+ "ts_tracing",
26
+ ];
27
+ // Basic utility schemas
28
+ const StringOrNumberSchema = z.union([z.string(), z.number()]);
29
+ const DateTimeSchema = z.union([z.string(), z.date()]);
30
+ // Message content schemas
31
+ const ImageURLSchema = z.object({
32
+ url: z.string(),
33
+ detail: z.string().optional(),
34
+ });
35
+ const CacheControlSchema = z.object({
36
+ type: z.string(),
37
+ });
38
+ const BaseContentSchema = z.object({
39
+ type: z.string(),
40
+ });
41
+ const TextContentSchema = BaseContentSchema.extend({
42
+ text: z.string(),
43
+ cache_control: CacheControlSchema.optional(),
44
+ });
45
+ const ImageContentSchema = BaseContentSchema.extend({
46
+ image_url: z.union([ImageURLSchema, z.string()]),
47
+ });
48
+ const ToolUseContentSchema = BaseContentSchema.extend({
49
+ id: z.string().optional(),
50
+ name: z.string().optional(),
51
+ input: z.record(z.any()).optional(),
52
+ });
53
+ const ToolResultContentSchema = BaseContentSchema.extend({
54
+ tool_use_id: z.string(),
55
+ content: z.string(),
56
+ }).transform((data) => {
57
+ if ("tool_use_id" in data)
58
+ return data;
59
+ return {
60
+ type: data.type,
61
+ tool_use_id: data.toolCallId,
62
+ content: data.result || data.content,
63
+ };
64
+ });
65
+ const OutputTextContentSchema = BaseContentSchema.extend({
66
+ text: z.string(),
67
+ annotations: z.array(z.union([z.record(z.any()), z.string()])).optional(),
68
+ cache_control: CacheControlSchema.optional(),
69
+ });
70
+ // Combined message content schema with transform to handle string content
71
+ const MessageContentSchema = z
72
+ .union([
73
+ z.string(),
74
+ z.array(z.union([
75
+ TextContentSchema,
76
+ ImageContentSchema,
77
+ ToolUseContentSchema,
78
+ ToolResultContentSchema,
79
+ OutputTextContentSchema,
80
+ z.object({
81
+ type: z.string(),
82
+ text: z.string(),
83
+ }),
84
+ // Catch-all for other content types
85
+ z.record(z.any()),
86
+ ])),
87
+ ])
88
+ .transform((content) => {
89
+ if (Array.isArray(content)) {
90
+ // Try to extract text from array of objects with text field
91
+ const textParts = content
92
+ .map((item) => {
93
+ if (typeof item === "object") {
94
+ // Handle both camelCase and snake_case keys
95
+ if ("text" in item)
96
+ return item.text;
97
+ if ("content" in item && typeof item.content === "string")
98
+ return item.content;
99
+ if ("result" in item && typeof item.result === "string")
100
+ return item.result;
101
+ }
102
+ return null;
103
+ })
104
+ .filter((text) => text !== null);
105
+ if (textParts.length > 0) {
106
+ return textParts.join("\n");
107
+ }
108
+ // Just return the original array if transformation isn't possible
109
+ return content;
110
+ }
111
+ return content;
112
+ });
113
+ // Tool related schemas
114
+ const ToolCallFunctionSchema = z
115
+ .object({
116
+ name: z.string().optional(),
117
+ arguments: z.union([z.string(), z.record(z.any())]).optional(),
118
+ })
119
+ .catchall(z.any()); // Allow additional properties
120
+ const ToolCallSchema = z
121
+ .object({
122
+ type: z.string().default("function"), // Only require type, default to "function"
123
+ id: z.string().optional(),
124
+ function: ToolCallFunctionSchema.optional(),
125
+ })
126
+ .catchall(z.any()) // Allow any additional properties
127
+ .transform((data) => {
128
+ // Create a shallow copy to avoid modifying the original
129
+ const result = { ...data };
130
+ // Handle ID mapping for consistency (only if needed)
131
+ if (!result.id && (data.toolCallId || data.tool_call_id)) {
132
+ result.id = data.toolCallId || data.tool_call_id;
133
+ }
134
+ // If we have args/toolName but no function object, create basic structure
135
+ if ((data.toolName || data.name || data.args) && !result.function) {
136
+ result.function = {};
137
+ if (data.toolName || data.name) {
138
+ result.function.name = data.toolName || data.name;
139
+ }
140
+ if (data.args) {
141
+ result.function.arguments = typeof data.args === 'string'
142
+ ? data.args
143
+ : JSON.stringify(data.args);
144
+ }
145
+ }
146
+ return result;
147
+ });
148
+ const ToolChoiceSchema = z
149
+ .object({
150
+ type: z.string(),
151
+ function: z
152
+ .object({
153
+ name: z.string(),
154
+ })
155
+ .optional(),
156
+ })
157
+ .optional();
158
+ // Function tool schema for BasicLLMParams
159
+ const FunctionToolSchema = z.object({
160
+ type: z.literal("function"),
161
+ function: z.object({
162
+ name: z.string(),
163
+ description: z.string().optional(),
164
+ parameters: z.record(z.any()).optional(),
165
+ }),
166
+ });
167
+ // Base message schema with flexible role
168
+ const MessageSchema = z
169
+ .object({
170
+ role: z.string(),
171
+ content: MessageContentSchema.optional(),
172
+ name: z.string().optional(),
173
+ tool_call_id: z.string().optional(),
174
+ tool_calls: z.array(ToolCallSchema).optional(),
175
+ experimental_providerMetadata: z
176
+ .object({
177
+ anthropic: z.object({
178
+ cacheControl: z.object({
179
+ type: z.string(),
180
+ }),
181
+ }),
182
+ })
183
+ .optional(),
184
+ })
185
+ .transform((data) => {
186
+ // Handle camelCase to snake_case conversion
187
+ if ("toolCallId" in data) {
188
+ return {
189
+ ...data,
190
+ tool_call_id: data.toolCallId,
191
+ };
192
+ }
193
+ return data;
194
+ });
195
+ // Metadata schema
196
+ const MetadataSchema = z.record(z.any()).optional();
197
+ // Usage schema
198
+ const UsageSchema = z.object({
199
+ prompt_tokens: z.number().optional(),
200
+ completion_tokens: z.number().optional(),
201
+ total_tokens: z.number().optional(),
202
+ cache_creation_input_tokens: z.number().optional(),
203
+ cache_creation_prompt_tokens: z.number().optional(),
204
+ cache_read_input_tokens: z.number().optional(),
205
+ completion_tokens_details: z.record(z.any()).optional(),
206
+ prompt_tokens_details: z.record(z.any()).optional(),
207
+ });
208
+ // Supporting schemas for KeywordsAI params
209
+ const OverrideConfigSchema = z.object({
210
+ messages_override_mode: z.enum(["override", "append"]).optional().default("override"),
211
+ });
212
+ const EvaluatorToRunSchema = z.record(z.any()); // Placeholder for evaluator schema
213
+ const EvalInputsSchema = z.record(z.any()); // Placeholder for eval inputs schema
214
+ const EvaluationParamsSchema = z.object({
215
+ evaluators: z.array(EvaluatorToRunSchema).optional().default([]),
216
+ evaluation_identifier: StringOrNumberSchema.default(""),
217
+ last_n_messages: z.number().optional().default(1),
218
+ eval_inputs: EvalInputsSchema.optional().default({}),
219
+ sample_percentage: z.number().optional(),
220
+ });
221
+ const LoadBalanceModelSchema = z.object({
222
+ model: z.string(),
223
+ credentials: z.record(z.any()).optional(),
224
+ weight: z.number().refine((val) => val > 0, "Weight has to be greater than 0"),
225
+ });
226
+ const LoadBalanceGroupSchema = z.object({
227
+ group_id: z.string(),
228
+ models: z.array(LoadBalanceModelSchema).optional(),
229
+ });
230
+ const PostHogIntegrationSchema = z.object({
231
+ posthog_api_key: z.string(),
232
+ posthog_base_url: z.string(),
233
+ });
234
+ const CustomerSchema = z.object({
235
+ customer_identifier: StringOrNumberSchema.optional(),
236
+ name: z.string().optional(),
237
+ email: z.string().optional(),
238
+ period_start: DateTimeSchema.optional(),
239
+ period_end: DateTimeSchema.optional(),
240
+ budget_duration: z.enum(["daily", "weekly", "monthly", "yearly"]).optional(),
241
+ period_budget: z.number().optional(),
242
+ markup_percentage: z.number().optional(),
243
+ total_budget: z.number().optional(),
244
+ metadata: z.record(z.any()).optional(),
245
+ rate_limit: z.number().optional(),
246
+ });
247
+ const CacheOptionsSchema = z.object({
248
+ cache_by_customer: z.boolean().optional(),
249
+ omit_log: z.boolean().optional(),
250
+ });
251
+ const RetryParamsSchema = z.object({
252
+ num_retries: z.number().optional().default(3).refine((val) => val > 0, "num_retries has to be greater than 0"),
253
+ retry_after: z.number().optional().default(0.2).refine((val) => val > 0, "retry_after has to be greater than 0"),
254
+ retry_enabled: z.boolean().optional().default(true),
255
+ });
256
+ const KeywordsAIAPIControlParamsSchema = z.object({
257
+ block: z.boolean().optional(),
258
+ });
259
+ const PromptParamSchema = z.object({
260
+ prompt_id: z.string().optional(),
261
+ is_custom_prompt: z.boolean().optional().default(false),
262
+ version: z.number().optional(),
263
+ variables: z.record(z.any()).optional(),
264
+ echo: z.boolean().optional().default(true),
265
+ override: z.boolean().optional().default(false),
266
+ override_params: z.record(z.any()).optional(), // BasicLLMParams placeholder
267
+ override_config: OverrideConfigSchema.optional(),
268
+ });
269
+ const LinkupParamsSchema = z.record(z.any()); // Placeholder
270
+ const Mem0ParamsSchema = z.record(z.any()); // Placeholder
271
+ const ProviderCredentialTypeSchema = z.record(z.any()); // Placeholder
272
+ // Basic LLM Parameters Schema
273
+ const BasicLLMParamsSchema = z.object({
274
+ echo: z.boolean().optional(),
275
+ frequency_penalty: z.number().optional(),
276
+ logprobs: z.boolean().optional(),
277
+ logit_bias: z.record(z.number()).optional(),
278
+ messages: z.array(MessageSchema).optional(),
279
+ model: z.string().optional(),
280
+ max_tokens: z.number().optional(),
281
+ max_completion_tokens: z.number().optional(),
282
+ n: z.number().optional(),
283
+ parallel_tool_calls: z.boolean().optional(),
284
+ presence_penalty: z.number().optional(),
285
+ stop: z.union([z.array(z.string()), z.string()]).optional(),
286
+ stream: z.boolean().optional(),
287
+ stream_options: z.record(z.any()).optional(),
288
+ temperature: z.number().optional(),
289
+ timeout: z.number().optional(),
290
+ tools: z.array(FunctionToolSchema).optional(),
291
+ response_format: z.record(z.any()).optional(),
292
+ reasoning_effort: z.string().optional(),
293
+ tool_choice: z.union([z.enum(["auto", "none", "required"]), ToolChoiceSchema]).optional(),
294
+ top_logprobs: z.number().optional(),
295
+ top_p: z.number().optional(),
296
+ });
297
+ // Basic Embedding Parameters Schema (placeholder)
298
+ const BasicEmbeddingParamsSchema = z.object({
299
+ input: z.union([z.string(), z.array(z.string())]).optional(),
300
+ model: z.string().optional(),
301
+ encoding_format: z.string().optional(),
302
+ dimensions: z.number().optional(),
303
+ user: z.string().optional(),
304
+ });
305
+ // KeywordsAI Parameters Schema with regions
306
+ const KeywordsAIParamsSchema = z.object({
307
+ //#region time
308
+ start_time: DateTimeSchema.optional(),
309
+ timestamp: DateTimeSchema.optional(),
310
+ hour_group: DateTimeSchema.optional(),
311
+ minute_group: DateTimeSchema.optional(),
312
+ //#endregion time
313
+ //#region authentication
314
+ api_key: z.string().optional(),
315
+ user_id: StringOrNumberSchema.optional(),
316
+ user_email: z.string().optional(),
317
+ organization_id: StringOrNumberSchema.optional(),
318
+ organization_name: z.string().optional(),
319
+ unique_organization_id: z.string().optional(),
320
+ organization_key_id: z.string().optional(),
321
+ organization_key_name: z.string().optional(),
322
+ //#endregion authentication
323
+ //#region environment
324
+ is_test: z.boolean().optional(),
325
+ environment: z.string().optional(),
326
+ //#endregion environment
327
+ //#region unique identifiers
328
+ id: StringOrNumberSchema.optional(),
329
+ unique_id: z.string().optional(),
330
+ custom_identifier: StringOrNumberSchema.optional(),
331
+ response_id: z.string().optional(),
332
+ //#endregion unique identifiers
333
+ //#region status
334
+ //#region error handling
335
+ error_bit: z.number().optional(),
336
+ error_message: z.string().optional(),
337
+ recommendations: z.string().optional(),
338
+ recommendations_dict: z.record(z.any()).optional(),
339
+ warnings: z.string().optional(),
340
+ warnings_dict: z.record(z.any()).optional(),
341
+ has_warnings: z.boolean().optional(),
342
+ //#endregion error handling
343
+ status: z.string().optional(),
344
+ status_code: z.number().optional(),
345
+ //#endregion status
346
+ //#region log identifier/grouping
347
+ load_balance_group_id: z.string().optional(),
348
+ group_identifier: StringOrNumberSchema.optional(),
349
+ evaluation_identifier: StringOrNumberSchema.optional(),
350
+ //#endregion log identifier/grouping
351
+ //#region log input/output
352
+ storage_object_key: z.string().optional(),
353
+ input: z.string().optional(),
354
+ output: z.string().optional(),
355
+ prompt_messages: z.array(MessageSchema).optional(),
356
+ completion_message: MessageSchema.optional(),
357
+ completion_messages: z.array(MessageSchema).optional(),
358
+ completion_tokens: z.number().optional(),
359
+ system_text: z.string().optional(),
360
+ prompt_text: z.string().optional(),
361
+ completion_text: z.string().optional(),
362
+ input_array: z.array(z.string()).optional(),
363
+ full_request: z.union([z.record(z.any()), z.array(z.any())]).optional(),
364
+ full_response: z.union([z.record(z.any()), z.array(z.any())]).optional(),
365
+ is_fts_enabled: z.boolean().optional(),
366
+ full_text: z.string().optional(),
367
+ //#region special response types
368
+ tool_calls: z.array(z.record(z.any())).optional(),
369
+ has_tool_calls: z.boolean().optional(),
370
+ reasoning: z.array(z.record(z.any())).optional(),
371
+ //#endregion special response types
372
+ //#endregion log input/output
373
+ //#region display
374
+ blurred: z.boolean().optional(),
375
+ //#endregion display
376
+ //#region cache params
377
+ cache_enabled: z.boolean().optional(),
378
+ cache_hit: z.boolean().optional(),
379
+ cache_bit: z.number().optional(),
380
+ cache_miss_bit: z.number().optional(),
381
+ cache_options: CacheOptionsSchema.optional(),
382
+ cache_ttl: z.number().optional(),
383
+ cache_key: z.string().optional(),
384
+ redis_cache_ttl: z.number().optional(),
385
+ cache_request_content: z.string().optional(),
386
+ //#endregion cache params
387
+ //#region usage
388
+ //#region cost related
389
+ cost: z.number().optional(),
390
+ covered_by: z.string().optional(),
391
+ evaluation_cost: z.number().optional(),
392
+ prompt_unit_price: z.number().optional(),
393
+ completion_unit_price: z.number().optional(),
394
+ used_custom_credential: z.boolean().optional(),
395
+ //#endregion cost related
396
+ //#region time period
397
+ period_start: DateTimeSchema.optional(),
398
+ period_end: DateTimeSchema.optional(),
399
+ //#endregion time period
400
+ //#region token usage
401
+ prompt_tokens: z.number().optional(),
402
+ prompt_cache_hit_tokens: z.number().optional(),
403
+ prompt_cache_creation_tokens: z.number().optional(),
404
+ usage: UsageSchema.optional(),
405
+ //#endregion token usage
406
+ //#endregion usage
407
+ //#region llm proxy credentials
408
+ credential_override: z.record(z.record(z.any())).optional(),
409
+ customer_credentials: z.record(ProviderCredentialTypeSchema).optional(),
410
+ //#endregion llm proxy credentials
411
+ //#region llm deployment
412
+ models: z.array(z.string()).optional(),
413
+ model_name_map: z.record(z.string()).optional(),
414
+ deployment_name: z.string().optional(),
415
+ full_model_name: z.string().optional(),
416
+ //#endregion llm deployment
417
+ //#region user analytics
418
+ customer_email: z.string().optional(),
419
+ customer_name: z.string().optional(),
420
+ customer_identifier: StringOrNumberSchema.optional(),
421
+ customer_user_unique_id: z.string().optional(),
422
+ customer_params: CustomerSchema.optional(),
423
+ //#endregion user analytics
424
+ //#region keywordsai llm response control
425
+ field_name: z.string().optional().default("data: "),
426
+ delimiter: z.string().optional().default("\n\n"),
427
+ disable_log: z.boolean().optional().default(false),
428
+ request_breakdown: z.boolean().optional().default(false),
429
+ //#endregion keywordsai llm response control
430
+ //#region keywordsai logging control
431
+ is_log_omitted: z.boolean().optional(),
432
+ keywordsai_api_controls: KeywordsAIAPIControlParamsSchema.optional(),
433
+ mock_response: z.string().optional(),
434
+ log_method: z.enum(LOG_METHOD_VALUES).optional(),
435
+ log_type: z.enum(LOG_TYPE_VALUES).optional(),
436
+ //#endregion keywordsai logging control
437
+ //#region keywordsai proxy options
438
+ disable_fallback: z.boolean().optional().default(false),
439
+ exclude_models: z.array(z.string()).optional(),
440
+ exclude_providers: z.array(z.string()).optional(),
441
+ fallback_models: z.array(z.string()).optional(),
442
+ load_balance_group: LoadBalanceGroupSchema.optional(),
443
+ load_balance_models: z.array(LoadBalanceModelSchema).optional(),
444
+ retry_params: RetryParamsSchema.optional(),
445
+ keywordsai_params: z.record(z.any()).optional(),
446
+ //#endregion keywordsai proxy options
447
+ //#region embedding
448
+ embedding: z.array(z.number()).optional(),
449
+ base64_embedding: z.string().optional(),
450
+ provider_id: z.string().optional(),
451
+ //#endregion embedding
452
+ //#region audio
453
+ audio_input_file: z.string().optional(),
454
+ audio_output_file: z.string().optional(),
455
+ //#endregion audio
456
+ //#region evaluation
457
+ note: z.string().optional(),
458
+ category: z.string().optional(),
459
+ eval_params: EvaluationParamsSchema.optional(),
460
+ for_eval: z.boolean().optional(),
461
+ positive_feedback: z.boolean().optional(),
462
+ //#endregion evaluation
463
+ //#region request metadata
464
+ ip_address: z.string().optional(),
465
+ request_url_path: z.string().optional(),
466
+ //#endregion request metadata
467
+ //#region technical integrations
468
+ linkup_params: LinkupParamsSchema.optional(),
469
+ mem0_params: Mem0ParamsSchema.optional(),
470
+ posthog_integration: PostHogIntegrationSchema.optional(),
471
+ //#endregion technical integrations
472
+ //#region custom properties
473
+ metadata: z.record(z.any()).optional(),
474
+ //#region Deprecated, clickhouse allow filters to be applied efficiently enough
475
+ metadata_indexed_string_1: z.string().optional(),
476
+ metadata_indexed_string_2: z.string().optional(),
477
+ metadata_indexed_numerical_1: z.number().optional(),
478
+ //#endregion deprecated
479
+ //#endregion custom properties
480
+ //#region prompt
481
+ prompt: z.union([PromptParamSchema, z.string()]).optional(),
482
+ prompt_id: z.string().optional(),
483
+ prompt_name: z.string().optional(),
484
+ prompt_version_number: z.number().optional(),
485
+ prompt_messages_template: z.array(MessageSchema).optional(),
486
+ variables: z.record(z.any()).optional(),
487
+ //#endregion prompt
488
+ //#region llm response timing metrics
489
+ generation_time: z.number().optional(),
490
+ latency: z.number().optional(),
491
+ ttft: z.number().optional(),
492
+ time_to_first_token: z.number().optional(),
493
+ routing_time: z.number().optional(),
494
+ tokens_per_second: z.number().optional(),
495
+ //#endregion llm response timing metrics
496
+ //#region tracing
497
+ total_request_tokens: z.number().optional(),
498
+ trace_unique_id: z.string().optional(),
499
+ trace_name: z.string().optional(),
500
+ trace_group_identifier: z.string().optional(),
501
+ span_unique_id: z.string().optional(),
502
+ span_name: z.string().optional(),
503
+ span_parent_id: z.string().optional(),
504
+ span_path: z.string().optional(),
505
+ span_handoffs: z.array(z.string()).optional(),
506
+ span_tools: z.array(z.string()).optional(),
507
+ span_workflow_name: z.string().optional(),
508
+ //#region thread, deprecated
509
+ thread_identifier: StringOrNumberSchema.optional(),
510
+ thread_unique_id: z.string().optional(),
511
+ //#endregion thread, deprecated
512
+ //#endregion tracing
513
+ });
514
+ // Combined KeywordsPayloadSchema that merges KeywordsAIParams, BasicLLMParams, and BasicEmbeddingParams
515
+ export const KeywordsPayloadSchema = KeywordsAIParamsSchema
516
+ .merge(BasicLLMParamsSchema)
517
+ .merge(BasicEmbeddingParamsSchema)
518
+ .catchall(z.any());
519
+ // Export individual schemas for use elsewhere
520
+ export { KeywordsAIParamsSchema, BasicLLMParamsSchema, BasicEmbeddingParamsSchema, MessageSchema, ToolCallSchema, ToolChoiceSchema, FunctionToolSchema, UsageSchema, MetadataSchema, PostHogIntegrationSchema, CustomerSchema, CacheOptionsSchema, RetryParamsSchema, LoadBalanceGroupSchema, LoadBalanceModelSchema, EvaluationParamsSchema, PromptParamSchema, OverrideConfigSchema, };
521
+ //# sourceMappingURL=logTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logTypes.js","sourceRoot":"","sources":["../../src/types/logTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare enum KeywordsAISpanAttributes {
2
+ KEYWORDSAI_SPAN_CUSTOM_ID = "keywordsai.span_params.custom_identifier",
3
+ KEYWORDSAI_CUSTOMER_PARAMS_ID = "keywordsai.customer_params.customer_identifier",
4
+ KEYWORDSAI_CUSTOMER_PARAMS_EMAIL = "keywordsai.customer_params.email",
5
+ KEYWORDSAI_CUSTOMER_PARAMS_NAME = "keywordsai.customer_params.name",
6
+ KEYWORDSAI_EVALUATION_PARAMS_ID = "keywordsai.evaluation_params.evaluation_identifier",
7
+ KEYWORDSAI_THREADS_ID = "keywordsai.threads.thread_identifier",
8
+ KEYWORDSAI_TRACE_GROUP_ID = "keywordsai.trace.trace_group_identifier",
9
+ KEYWORDSAI_METADATA = "keywordsai.metadata"
10
+ }
11
+ export declare const KEYWORDSAI_SPAN_ATTRIBUTES_MAP: {
12
+ [key: string]: string;
13
+ };
14
+ export type SpanAttributeValue = string | number | boolean | Array<string | number | boolean>;
@@ -0,0 +1,28 @@
1
+ export var KeywordsAISpanAttributes;
2
+ (function (KeywordsAISpanAttributes) {
3
+ // Span attributes
4
+ KeywordsAISpanAttributes["KEYWORDSAI_SPAN_CUSTOM_ID"] = "keywordsai.span_params.custom_identifier";
5
+ // Customer params
6
+ KeywordsAISpanAttributes["KEYWORDSAI_CUSTOMER_PARAMS_ID"] = "keywordsai.customer_params.customer_identifier";
7
+ KeywordsAISpanAttributes["KEYWORDSAI_CUSTOMER_PARAMS_EMAIL"] = "keywordsai.customer_params.email";
8
+ KeywordsAISpanAttributes["KEYWORDSAI_CUSTOMER_PARAMS_NAME"] = "keywordsai.customer_params.name";
9
+ // Evaluation params
10
+ KeywordsAISpanAttributes["KEYWORDSAI_EVALUATION_PARAMS_ID"] = "keywordsai.evaluation_params.evaluation_identifier";
11
+ // Threads
12
+ KeywordsAISpanAttributes["KEYWORDSAI_THREADS_ID"] = "keywordsai.threads.thread_identifier";
13
+ // Trace
14
+ KeywordsAISpanAttributes["KEYWORDSAI_TRACE_GROUP_ID"] = "keywordsai.trace.trace_group_identifier";
15
+ // Metadata
16
+ KeywordsAISpanAttributes["KEYWORDSAI_METADATA"] = "keywordsai.metadata";
17
+ })(KeywordsAISpanAttributes || (KeywordsAISpanAttributes = {}));
18
+ export const KEYWORDSAI_SPAN_ATTRIBUTES_MAP = {
19
+ customer_identifier: KeywordsAISpanAttributes.KEYWORDSAI_CUSTOMER_PARAMS_ID,
20
+ customer_email: KeywordsAISpanAttributes.KEYWORDSAI_CUSTOMER_PARAMS_EMAIL,
21
+ customer_name: KeywordsAISpanAttributes.KEYWORDSAI_CUSTOMER_PARAMS_NAME,
22
+ evaluation_identifier: KeywordsAISpanAttributes.KEYWORDSAI_EVALUATION_PARAMS_ID,
23
+ thread_identifier: KeywordsAISpanAttributes.KEYWORDSAI_THREADS_ID,
24
+ custom_identifier: KeywordsAISpanAttributes.KEYWORDSAI_SPAN_CUSTOM_ID,
25
+ trace_group_identifier: KeywordsAISpanAttributes.KEYWORDSAI_TRACE_GROUP_ID,
26
+ metadata: KeywordsAISpanAttributes.KEYWORDSAI_METADATA
27
+ };
28
+ //# sourceMappingURL=spanTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanTypes.js","sourceRoot":"","sources":["../../src/types/spanTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,wBAoBX;AApBD,WAAY,wBAAwB;IAChC,kBAAkB;IAClB,kGAAsE,CAAA;IAEtE,kBAAkB;IAClB,4GAAgF,CAAA;IAChF,iGAAqE,CAAA;IACrE,+FAAmE,CAAA;IAEnE,oBAAoB;IACpB,kHAAsF,CAAA;IAEtF,UAAU;IACV,0FAA8D,CAAA;IAE9D,QAAQ;IACR,iGAAqE,CAAA;IAErE,WAAW;IACX,uEAA2C,CAAA;AAC/C,CAAC,EApBW,wBAAwB,KAAxB,wBAAwB,QAoBnC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAA8B;IACrE,mBAAmB,EAAE,wBAAwB,CAAC,6BAA6B;IAC3E,cAAc,EAAE,wBAAwB,CAAC,gCAAgC;IACzE,aAAa,EAAE,wBAAwB,CAAC,+BAA+B;IACvE,qBAAqB,EAAE,wBAAwB,CAAC,+BAA+B;IAC/E,iBAAiB,EAAE,wBAAwB,CAAC,qBAAqB;IACjE,iBAAiB,EAAE,wBAAwB,CAAC,yBAAyB;IACrE,sBAAsB,EAAE,wBAAwB,CAAC,yBAAyB;IAC1E,QAAQ,EAAE,wBAAwB,CAAC,mBAAmB;CACzD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@keywordsai/keywordsai-sdk",
3
+ "version": "0.0.1",
4
+ "description": "KeywordsAI typing SDK",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "author": "Raymond Huang <raymond@keywordsai.com>",
8
+ "license": "Apache-2.0",
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "publish": "npm publish"
20
+ },
21
+ "packageManager": "yarn@4.6.0",
22
+ "dependencies": {
23
+ "@opentelemetry/api": "^1.9.0",
24
+ "@opentelemetry/core": "^2.0.1",
25
+ "@opentelemetry/sdk-trace-base": "^2.0.1",
26
+ "zod": "^3.25.58"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^22.15.29"
30
+ }
31
+ }