@alquimia-ai/tools 2.4.0 → 2.5.0
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 +6 -0
- package/dist/actions/index.d.mts +2 -2
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/index.js +1 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/index.mjs +1 -1
- package/dist/actions/index.mjs.map +1 -1
- package/dist/{actions-CZU_GRy5.d.mts → actions-BjDPJdyA.d.mts} +1 -1
- package/dist/{actions-B0hfoYRd.d.ts → actions-CP1d4Ye1.d.ts} +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.d.ts +2 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/genui/index.d.mts +3 -3
- package/dist/genui/index.d.ts +3 -3
- package/dist/genui/index.js +9 -1
- package/dist/genui/index.js.map +1 -1
- package/dist/genui/index.mjs +9 -1
- package/dist/genui/index.mjs.map +1 -1
- package/dist/hooks/index.d.mts +10 -10
- package/dist/hooks/index.d.ts +10 -10
- package/dist/hooks/index.js +28 -8
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +28 -8
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/next/index.js +19 -5
- package/dist/next/index.js.map +1 -1
- package/dist/next/index.mjs +19 -5
- package/dist/next/index.mjs.map +1 -1
- package/dist/providers/index.d.mts +4 -4
- package/dist/providers/index.d.ts +4 -4
- package/dist/providers/index.js +111 -110
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/index.mjs +111 -110
- package/dist/providers/index.mjs.map +1 -1
- package/dist/{providers-BJTXCtI3.d.ts → providers-DiR9cgyo.d.mts} +8 -8
- package/dist/{providers-0Gi78uNQ.d.mts → providers-b5_yMyMo.d.ts} +8 -8
- package/dist/proxy.d.mts +4 -4
- package/dist/proxy.d.ts +4 -4
- package/dist/proxy.js +19 -5
- package/dist/proxy.js.map +1 -1
- package/dist/proxy.mjs +19 -5
- package/dist/proxy.mjs.map +1 -1
- package/dist/sdk/index.d.mts +4 -3
- package/dist/sdk/index.d.ts +4 -3
- package/dist/sdk/index.js +8 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/index.mjs +8 -2
- package/dist/sdk/index.mjs.map +1 -1
- package/dist/services/index.d.mts +3 -3
- package/dist/services/index.d.ts +3 -3
- package/dist/services/index.js.map +1 -1
- package/dist/services/index.mjs.map +1 -1
- package/dist/type-DqX3-9QS.d.mts +312 -0
- package/dist/type-xksRnBUW.d.ts +312 -0
- package/dist/types/index.d.mts +78 -304
- package/dist/types/index.d.ts +78 -304
- package/dist/types/index.js.map +1 -1
- package/dist/types-C-6fgK1_.d.mts +111 -0
- package/dist/types-C-6fgK1_.d.ts +111 -0
- package/dist/{types-DnfWUE9V.d.mts → types-CMVbyEv8.d.mts} +3 -2
- package/dist/{types-DnfWUE9V.d.ts → types-CMVbyEv8.d.ts} +3 -2
- package/dist/utils/index.d.mts +2 -2
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/index.mjs.map +1 -1
- package/dist/worklog/index.d.mts +5 -2
- package/dist/worklog/index.d.ts +5 -2
- package/dist/worklog/index.js +3 -1
- package/dist/worklog/index.js.map +1 -1
- package/dist/worklog/index.mjs +3 -1
- package/dist/worklog/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/types-Dvu9y4WM.d.mts +0 -53
- package/dist/types-Dvu9y4WM.d.ts +0 -53
package/dist/sdk/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sdk/alquimia-sdk.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios';\nimport {\n StableDiffusionProvider,\n WhisperProvider,\n CharacterizationProvider,\n RatingsProvider,\n LoggerProvider,\n} from '../providers';\nimport { AttachmentPayload, TTSResult, type CommonAttributes } from '../types';\nimport type { AlquimiaAdapter, AlquimiaSDKOptions } from '../adapters';\nimport type { ToolExecutionResponse } from '../genui/types';\n\nclass AlquimiaSDK {\n private adapter: AlquimiaAdapter;\n private assistantId: string;\n private axiosInstance: AxiosInstance;\n private conversationId: string | null = null;\n private sessionId: string | null = null;\n // Internal subscription id from infer (`taskid` on the wire).\n private streamId: string | null = null;\n private tools: any = [];\n private extraInstructions: Record<string, string> | null = null;\n private assistantConfig: any = null;\n private userId: string | null = null;\n private whisperProvider?: WhisperProvider;\n private stableDiffusionProvider?: StableDiffusionProvider;\n private analyzeCharacterizationProvider?: CharacterizationProvider;\n private ratingsProvider?: RatingsProvider;\n private loggerProvider?: LoggerProvider;\n private enforceCharacterization?: boolean;\n private attachments: AttachmentPayload[] = [];\n private attachmentResponses: string[] = [];\n\n constructor(\n assistantId: string,\n adapter: AlquimiaAdapter,\n options: AlquimiaSDKOptions = {}\n ) {\n if (!assistantId) {\n throw new Error('AlquimiaSDK: assistantId is required');\n }\n if (!adapter) {\n throw new Error(\n 'AlquimiaSDK: adapter is required. Use createNextJsAdapter() or createFetchAdapter()'\n );\n }\n\n this.assistantId = assistantId;\n this.adapter = adapter;\n this.enforceCharacterization = options.enforceCharacterization ?? true;\n\n this.axiosInstance = axios.create();\n this.axiosInstance.interceptors.response.use(\n (response) => response,\n async (error) => {\n if (error.response?.status && this.loggerProvider) {\n await this.loggerProvider.logError('Server Error', error, {\n url: error.config.url,\n method: error.config.method,\n data: error.config.data,\n status: error.response.status,\n responseData: error.response.data,\n });\n }\n return Promise.reject(error);\n }\n );\n\n this.textToSpeech = this.textToSpeech.bind(this);\n this.speechToText = this.speechToText.bind(this);\n }\n\n withConversationId(conversationId: string): AlquimiaSDK {\n this.conversationId = conversationId;\n return this;\n }\n\n withAttachments(attachments: AttachmentPayload[]): AlquimiaSDK {\n this.attachments = attachments;\n return this;\n }\n\n withWhisperProvider(provider: WhisperProvider): AlquimiaSDK {\n this.whisperProvider = provider;\n return this;\n }\n\n withStableDiffusionProvider(provider: StableDiffusionProvider): AlquimiaSDK {\n this.stableDiffusionProvider = provider;\n return this;\n }\n\n withAnalyzeCharacterizationProvider(provider: CharacterizationProvider): AlquimiaSDK {\n this.analyzeCharacterizationProvider = provider;\n return this;\n }\n\n withRatingsProvider(provider: RatingsProvider): AlquimiaSDK {\n this.ratingsProvider = provider;\n return this;\n }\n\n withLoggerProvider(provider: LoggerProvider): AlquimiaSDK {\n this.loggerProvider = provider;\n return this;\n }\n\n withTools(tools: any): AlquimiaSDK {\n this.tools = tools;\n return this;\n }\n\n withExtraInstructions(extraInstructions: Record<string, string>): AlquimiaSDK {\n this.extraInstructions = extraInstructions;\n return this;\n }\n\n withAssistantConfig(assistantConfig: any): AlquimiaSDK {\n this.assistantConfig = assistantConfig;\n return this;\n }\n\n withUserId(userId: string): AlquimiaSDK {\n this.userId = userId;\n return this;\n }\n\n getEnforceCharacterization(): boolean {\n return this.enforceCharacterization ?? true;\n }\n\n textToSpeech(text: string): Promise<TTSResult> {\n if (!this.whisperProvider) {\n throw new Error('Whisper provider not initialized');\n }\n return this.whisperProvider.textToSpeech(text);\n }\n\n speechToText(audio: string): Promise<string> {\n if (!this.whisperProvider) {\n throw new Error('Whisper provider not initialized');\n }\n return this.whisperProvider.speechToText(audio);\n }\n\n async sendMessage(query: string, traceParent?: string): Promise<AlquimiaSDK> {\n if (!this.conversationId) {\n throw new Error(\n 'Conversation not initialized. Call withConversationId() before sendMessage()'\n );\n }\n\n const inferUrl = this.adapter.resolveInferUrl(this.assistantId);\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n\n const hasClientTools = Array.isArray(this.tools) && this.tools.length > 0;\n\n const initMessage: Record<string, unknown> = {\n query,\n session_id: this.conversationId,\n user_id: this.userId,\n ...(this.extraInstructions && { extra_instructions: this.extraInstructions }),\n ...(this.assistantConfig && { config: this.assistantConfig }),\n ...(hasClientTools && {\n evaluation_strategy: {\n evaluation_strategy_id: 'native',\n tool_schemas: this.tools,\n },\n }),\n };\n\n const result = (\n await this.axiosInstance.post(inferUrl, initMessage, {\n headers: {\n 'Content-Type': 'application/json',\n 'x-trace-parent': traceParent || '',\n ...adapterHeaders,\n ...this.buildIdentityHeaders(),\n },\n })\n ).data as CommonAttributes;\n\n this.streamId = result.taskid ?? null;\n this.attachmentResponses = result.attachments ?? [];\n this.attachments = [];\n\n return this;\n }\n\n /**\n * Complete a pending client-tool execution (the missing \"submit half\" of the\n * client-tool loop). POSTs a {@link ToolExecutionResponse} to the runtime's\n * `/event/tool-completion`. For interactive `render_ui` surfaces `result` is\n * the user's data; for display-only surfaces the SDK sends `{ shown: true }`.\n * The pending call is correlated by `control_id` in the body + the\n * `context-metadata` header (taskid + sessionid).\n */\n async submitToolResult(response: ToolExecutionResponse): Promise<void> {\n const url = this.adapter.resolveToolCompletionUrl?.();\n if (!url) {\n throw new Error(\n 'AlquimiaSDK: adapter does not support tool completion (resolveToolCompletionUrl missing)'\n );\n }\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n assistantid: this.assistantId,\n ...(this.streamId && { taskid: this.streamId }),\n ...(this.conversationId && { sessionid: this.conversationId }),\n ...(this.userId && { userid: this.userId }),\n ...adapterHeaders,\n };\n await this.axiosInstance.post(url, response, { headers });\n }\n\n async generateImage(query: string): Promise<string> {\n if (!this.stableDiffusionProvider) {\n throw new Error('Stable Diffusion provider not initialized');\n }\n return this.stableDiffusionProvider.generateImage(query);\n }\n\n async analyzeCharacterization(text: string): Promise<Record<string, any>> {\n if (!this.analyzeCharacterizationProvider) {\n throw new Error('Analyze characterization provider not initialized');\n }\n return this.analyzeCharacterizationProvider.analyzeCharacterization(text);\n }\n\n async rate(data: any): Promise<Record<string, any>> {\n if (!this.ratingsProvider) {\n throw new Error('Ratings provider not initialized');\n }\n return this.ratingsProvider.rate(data);\n }\n\n async logInfo(message: string, data: any): Promise<void> {\n if (!this.loggerProvider) {\n throw new Error('Logger provider not initialized');\n }\n return this.loggerProvider.logInfo(message, data);\n }\n\n async logError(message: string, error: Error, data: any): Promise<void> {\n if (!this.loggerProvider) {\n throw new Error('Logger provider not initialized');\n }\n return this.loggerProvider.logError(message, error, data);\n }\n\n /**\n * @deprecated The runtime no longer returns attachment IDs from the infer\n * response — attachments are uploaded as standalone blobs and linked to the\n * session via headers. Always returns `[]`; kept for source compatibility.\n */\n getAttachmentResponses(): string[] {\n return this.attachmentResponses;\n }\n\n async uploadAttachment(file: File, _attachmentId?: string): Promise<void> {\n void _attachmentId;\n const url = this.adapter.resolveBlobUploadUrl();\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n const formData = new FormData();\n formData.append('file', file);\n await this.axiosInstance.post(url, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...adapterHeaders,\n ...this.buildIdentityHeaders(),\n },\n });\n }\n\n /**\n * Identity headers (kebab-case) required by `/context/blob/upload` and\n * the rest of the runtime's internal endpoints introduced in v0.2.0→next.\n */\n private buildIdentityHeaders(): Record<string, string> {\n const headers: Record<string, string> = {\n 'assistant-id': this.assistantId,\n };\n if (this.conversationId) headers['session-id'] = this.conversationId;\n if (this.userId) headers['user-id'] = this.userId;\n if (this.streamId) headers['task-id'] = this.streamId;\n return headers;\n }\n\n getUrlStream(): string {\n if (!this.streamId) {\n throw new Error('Stream ID not initialized. Call sendMessage() first');\n }\n return this.adapter.resolveStreamUrl(this.streamId);\n }\n\n getStreamId(): string | null {\n return this.streamId;\n }\n\n /** Alias for {@link getStreamId} — same value as infer `taskid`. */\n getTaskId(): string | null {\n return this.streamId;\n }\n}\n\nexport default AlquimiaSDK;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/sdk/alquimia-sdk.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios';\nimport {\n StableDiffusionProvider,\n WhisperProvider,\n CharacterizationProvider,\n RatingsProvider,\n LoggerProvider,\n} from '../providers';\nimport { AttachmentPayload, TTSResult, type CommonAttributes } from '../types';\nimport type { AlquimiaAdapter, AlquimiaSDKOptions } from '../adapters';\nimport type { ToolExecutionResponse } from '../genui/types';\n\nclass AlquimiaSDK {\n private adapter: AlquimiaAdapter;\n private assistantId: string;\n private axiosInstance: AxiosInstance;\n private conversationId: string | null = null;\n private sessionId: string | null = null;\n // Internal subscription id from infer (`taskid` on the wire).\n private streamId: string | null = null;\n // W3C traceparent for the current turn, so infer and stream share one trace.\n private traceParent: string | null = null;\n private tools: any = [];\n private extraInstructions: Record<string, string> | null = null;\n private assistantConfig: any = null;\n private userId: string | null = null;\n private whisperProvider?: WhisperProvider;\n private stableDiffusionProvider?: StableDiffusionProvider;\n private analyzeCharacterizationProvider?: CharacterizationProvider;\n private ratingsProvider?: RatingsProvider;\n private loggerProvider?: LoggerProvider;\n private enforceCharacterization?: boolean;\n private attachments: AttachmentPayload[] = [];\n private attachmentResponses: string[] = [];\n\n constructor(\n assistantId: string,\n adapter: AlquimiaAdapter,\n options: AlquimiaSDKOptions = {}\n ) {\n if (!assistantId) {\n throw new Error('AlquimiaSDK: assistantId is required');\n }\n if (!adapter) {\n throw new Error(\n 'AlquimiaSDK: adapter is required. Use createNextJsAdapter() or createFetchAdapter()'\n );\n }\n\n this.assistantId = assistantId;\n this.adapter = adapter;\n this.enforceCharacterization = options.enforceCharacterization ?? true;\n\n this.axiosInstance = axios.create();\n this.axiosInstance.interceptors.response.use(\n (response) => response,\n async (error) => {\n if (error.response?.status && this.loggerProvider) {\n await this.loggerProvider.logError('Server Error', error, {\n url: error.config.url,\n method: error.config.method,\n data: error.config.data,\n status: error.response.status,\n responseData: error.response.data,\n });\n }\n return Promise.reject(error);\n }\n );\n\n this.textToSpeech = this.textToSpeech.bind(this);\n this.speechToText = this.speechToText.bind(this);\n }\n\n withConversationId(conversationId: string): AlquimiaSDK {\n this.conversationId = conversationId;\n return this;\n }\n\n withAttachments(attachments: AttachmentPayload[]): AlquimiaSDK {\n this.attachments = attachments;\n return this;\n }\n\n withWhisperProvider(provider: WhisperProvider): AlquimiaSDK {\n this.whisperProvider = provider;\n return this;\n }\n\n withStableDiffusionProvider(provider: StableDiffusionProvider): AlquimiaSDK {\n this.stableDiffusionProvider = provider;\n return this;\n }\n\n withAnalyzeCharacterizationProvider(provider: CharacterizationProvider): AlquimiaSDK {\n this.analyzeCharacterizationProvider = provider;\n return this;\n }\n\n withRatingsProvider(provider: RatingsProvider): AlquimiaSDK {\n this.ratingsProvider = provider;\n return this;\n }\n\n withLoggerProvider(provider: LoggerProvider): AlquimiaSDK {\n this.loggerProvider = provider;\n return this;\n }\n\n withTools(tools: any): AlquimiaSDK {\n this.tools = tools;\n return this;\n }\n\n withExtraInstructions(extraInstructions: Record<string, string>): AlquimiaSDK {\n this.extraInstructions = extraInstructions;\n return this;\n }\n\n withAssistantConfig(assistantConfig: any): AlquimiaSDK {\n this.assistantConfig = assistantConfig;\n return this;\n }\n\n withUserId(userId: string): AlquimiaSDK {\n this.userId = userId;\n return this;\n }\n\n getEnforceCharacterization(): boolean {\n return this.enforceCharacterization ?? true;\n }\n\n textToSpeech(text: string): Promise<TTSResult> {\n if (!this.whisperProvider) {\n throw new Error('Whisper provider not initialized');\n }\n return this.whisperProvider.textToSpeech(text);\n }\n\n speechToText(audio: string): Promise<string> {\n if (!this.whisperProvider) {\n throw new Error('Whisper provider not initialized');\n }\n return this.whisperProvider.speechToText(audio);\n }\n\n async sendMessage(query: string, traceParent?: string): Promise<AlquimiaSDK> {\n if (!this.conversationId) {\n throw new Error(\n 'Conversation not initialized. Call withConversationId() before sendMessage()'\n );\n }\n\n const inferUrl = this.adapter.resolveInferUrl(this.assistantId);\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n\n const hasClientTools = Array.isArray(this.tools) && this.tools.length > 0;\n\n const initMessage: Record<string, unknown> = {\n query,\n session_id: this.conversationId,\n user_id: this.userId,\n ...(this.extraInstructions && { extra_instructions: this.extraInstructions }),\n ...(this.assistantConfig && { config: this.assistantConfig }),\n ...(hasClientTools && {\n evaluation_strategy: {\n evaluation_strategy_id: 'native',\n tool_schemas: this.tools,\n },\n }),\n };\n\n const result = (\n await this.axiosInstance.post(inferUrl, initMessage, {\n headers: {\n 'Content-Type': 'application/json',\n ...(traceParent && { 'x-trace-parent': traceParent }),\n ...adapterHeaders,\n ...this.buildIdentityHeaders(),\n },\n })\n ).data as CommonAttributes;\n\n this.traceParent = traceParent ?? null;\n this.streamId = result.taskid ?? null;\n this.attachmentResponses = result.attachments ?? [];\n this.attachments = [];\n\n return this;\n }\n\n /**\n * Complete a pending client-tool execution (the missing \"submit half\" of the\n * client-tool loop). POSTs a {@link ToolExecutionResponse} to the runtime's\n * `/event/tool-completion`. For interactive `render_ui` surfaces `result` is\n * the user's data; for display-only surfaces the SDK sends `{ shown: true }`.\n * The pending call is correlated by `control_id` in the body + the\n * `context-metadata` header (taskid + sessionid).\n */\n async submitToolResult(response: ToolExecutionResponse): Promise<void> {\n const url = this.adapter.resolveToolCompletionUrl?.();\n if (!url) {\n throw new Error(\n 'AlquimiaSDK: adapter does not support tool completion (resolveToolCompletionUrl missing)'\n );\n }\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n assistantid: this.assistantId,\n ...(this.streamId && { taskid: this.streamId }),\n ...(this.conversationId && { sessionid: this.conversationId }),\n ...(this.userId && { userid: this.userId }),\n ...adapterHeaders,\n };\n await this.axiosInstance.post(url, response, { headers });\n }\n\n async generateImage(query: string): Promise<string> {\n if (!this.stableDiffusionProvider) {\n throw new Error('Stable Diffusion provider not initialized');\n }\n return this.stableDiffusionProvider.generateImage(query);\n }\n\n async analyzeCharacterization(text: string): Promise<Record<string, any>> {\n if (!this.analyzeCharacterizationProvider) {\n throw new Error('Analyze characterization provider not initialized');\n }\n return this.analyzeCharacterizationProvider.analyzeCharacterization(text);\n }\n\n async rate(data: any): Promise<Record<string, any>> {\n if (!this.ratingsProvider) {\n throw new Error('Ratings provider not initialized');\n }\n return this.ratingsProvider.rate(data);\n }\n\n async logInfo(message: string, data: any): Promise<void> {\n if (!this.loggerProvider) {\n throw new Error('Logger provider not initialized');\n }\n return this.loggerProvider.logInfo(message, data);\n }\n\n async logError(message: string, error: Error, data: any): Promise<void> {\n if (!this.loggerProvider) {\n throw new Error('Logger provider not initialized');\n }\n return this.loggerProvider.logError(message, error, data);\n }\n\n /**\n * @deprecated The runtime no longer returns attachment IDs from the infer\n * response — attachments are uploaded as standalone blobs and linked to the\n * session via headers. Always returns `[]`; kept for source compatibility.\n */\n getAttachmentResponses(): string[] {\n return this.attachmentResponses;\n }\n\n async uploadAttachment(file: File, _attachmentId?: string): Promise<void> {\n void _attachmentId;\n const url = this.adapter.resolveBlobUploadUrl();\n const adapterHeaders = this.adapter.getHeaders?.() ?? {};\n const formData = new FormData();\n formData.append('file', file);\n await this.axiosInstance.post(url, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...adapterHeaders,\n ...this.buildIdentityHeaders(),\n },\n });\n }\n\n /**\n * Identity headers (kebab-case) required by `/context/blob/upload` and\n * the rest of the runtime's internal endpoints introduced in v0.2.0→next.\n */\n private buildIdentityHeaders(): Record<string, string> {\n const headers: Record<string, string> = {\n 'assistant-id': this.assistantId,\n };\n if (this.conversationId) headers['session-id'] = this.conversationId;\n if (this.userId) headers['user-id'] = this.userId;\n if (this.streamId) headers['task-id'] = this.streamId;\n return headers;\n }\n\n getUrlStream(): string {\n if (!this.streamId) {\n throw new Error('Stream ID not initialized. Call sendMessage() first');\n }\n\n const url = this.adapter.resolveStreamUrl(this.streamId);\n if (!this.traceParent) return url;\n\n // `EventSource` cannot set request headers, so the turn's traceparent rides\n // the URL. The proxy turns it back into `x-trace-parent` and does not pass\n // the param upstream; without this the stream leg — where the whole\n // inference actually happens — lands in a different trace than the infer.\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}trace_parent=${encodeURIComponent(this.traceParent)}`;\n }\n\n getStreamId(): string | null {\n return this.streamId;\n }\n\n /** Alias for {@link getStreamId} — same value as infer `taskid`. */\n getTaskId(): string | null {\n return this.streamId;\n }\n}\n\nexport default AlquimiaSDK;\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Transaction } from '@elastic/apm-rum';
|
|
2
|
-
import { ApmSpan } from '../
|
|
2
|
+
import { A as ApmSpan } from '../type-DqX3-9QS.mjs';
|
|
3
3
|
import 'ai';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-CMVbyEv8.mjs';
|
|
5
5
|
|
|
6
6
|
interface APMInitializerProps {
|
|
7
7
|
serviceName: string;
|
|
@@ -11,7 +11,7 @@ interface APMInitializerProps {
|
|
|
11
11
|
environment: string;
|
|
12
12
|
ignoreUrls?: Array<string | RegExp>;
|
|
13
13
|
}
|
|
14
|
-
type LabelValue = string | number | boolean
|
|
14
|
+
type LabelValue = string | number | boolean;
|
|
15
15
|
interface TransactionLabels {
|
|
16
16
|
[key: string]: LabelValue;
|
|
17
17
|
}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Transaction } from '@elastic/apm-rum';
|
|
2
|
-
import { ApmSpan } from '../
|
|
2
|
+
import { A as ApmSpan } from '../type-xksRnBUW.js';
|
|
3
3
|
import 'ai';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-CMVbyEv8.js';
|
|
5
5
|
|
|
6
6
|
interface APMInitializerProps {
|
|
7
7
|
serviceName: string;
|
|
@@ -11,7 +11,7 @@ interface APMInitializerProps {
|
|
|
11
11
|
environment: string;
|
|
12
12
|
ignoreUrls?: Array<string | RegExp>;
|
|
13
13
|
}
|
|
14
|
-
type LabelValue = string | number | boolean
|
|
14
|
+
type LabelValue = string | number | boolean;
|
|
15
15
|
interface TransactionLabels {
|
|
16
16
|
[key: string]: LabelValue;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/index.ts","../../src/services/apm/elastic-apm.ts"],"sourcesContent":["export * from './apm'","'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean
|
|
1
|
+
{"version":3,"sources":["../../src/services/index.ts","../../src/services/apm/elastic-apm.ts"],"sourcesContent":["export * from './apm'","'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean;\n\ninterface TransactionLabels {\n [key: string]: LabelValue;\n}\n\nexport function APMInitializer({\n serviceName,\n serverUrl,\n serverUrlPrefix = undefined,\n logLevel = 'warn',\n environment,\n ignoreUrls = []\n}: APMInitializerProps) {\n \n useEffect(() => {\n const serviceUrl = !serverUrl ? (typeof window !== 'undefined' ? window.location.origin : '') : serverUrl\n initApm({\n serviceName: serviceName,\n serverUrl: serviceUrl,\n serverUrlPrefix: serverUrlPrefix,\n serviceVersion: '1.0.0',\n logLevel: logLevel,\n environment: environment,\n ignoreTransactions: ignoreUrls\n })\n }, [])\n \n return null\n}\n\n\nexport async function handleApmTransaction(\n name: string,\n type: string,\n labels: TransactionLabels,\n callback: () => Promise<void> | void\n) {\n const transaction = apm.startTransaction(name, type);\n\n try {\n transaction?.addLabels(labels as Record<string, LabelValue>);\n await callback();\n } catch (error) {\n apm.captureError(error as Error);\n } finally {\n transaction?.end();\n }\n}\n\nexport function traceError(\n error: string | Error,\n labels?: TransactionLabels,\n customMessage?: string\n) {\n try {\n const errorObject =\n error instanceof Error\n ? error\n : new Error(customMessage ?? String(error));\n\n if (labels) {\n apm.addLabels(labels as Record<string, LabelValue>);\n }\n\n apm.captureError(errorObject);\n } catch (e) {\n throw new Error(\"Failed to capture error in APM:\", e as Error);\n }\n}\n\nexport const startManagedTransaction = (\n name: string,\n type: string = 'http-request',\n spanName: string,\n spanType: string = 'external.http'\n): { transaction: Transaction | undefined, span: ApmSpan | undefined, traceParentId: string | undefined } => {\n const transaction = apm.startTransaction(name, type, { managed: true });\n const span: ApmSpan | undefined = transaction?.startSpan(spanName, spanType);\n \n const traceParentId = span ? createTraceParentId(span.traceId || '', span.id || '') : undefined;\n \n return { transaction, span, traceParentId };\n};\n\nconst createTraceParentId = (traceId: string, spanId: string) => {\n return `00-${traceId}-${spanId}-01`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,mBAA0B;AAC1B,qBAAkD;AAkB3C,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX;AAAA,EACA,aAAa,CAAC;AAChB,GAAwB;AAEtB,8BAAU,MAAM;AACd,UAAM,aAAa,CAAC,YAAa,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,KAAM;AAChG,uBAAAA,MAAQ;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,oBAAoB;AAAA,IACtB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAGA,eAAsB,qBACpB,MACA,MACA,QACA,UACA;AACA,QAAM,cAAc,mBAAI,iBAAiB,MAAM,IAAI;AAEnD,MAAI;AACF,iBAAa,UAAU,MAAoC;AAC3D,UAAM,SAAS;AAAA,EACjB,SAAS,OAAO;AACd,uBAAI,aAAa,KAAc;AAAA,EACjC,UAAE;AACA,iBAAa,IAAI;AAAA,EACnB;AACF;AAEO,SAAS,WACd,OACA,QACA,eACA;AACA,MAAI;AACF,UAAM,cACJ,iBAAiB,QACb,QACA,IAAI,MAAM,iBAAiB,OAAO,KAAK,CAAC;AAE9C,QAAI,QAAQ;AACV,yBAAI,UAAU,MAAoC;AAAA,IACpD;AAEA,uBAAI,aAAa,WAAW;AAAA,EAC9B,SAAS,GAAG;AACV,UAAM,IAAI,MAAM,mCAAmC,CAAU;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,CACrC,MACA,OAAe,gBACf,UACA,WAAmB,oBACwF;AAC3G,QAAM,cAAc,mBAAI,iBAAiB,MAAM,MAAM,EAAE,SAAS,KAAK,CAAC;AACtE,QAAM,OAA4B,aAAa,UAAU,UAAU,QAAQ;AAE3E,QAAM,gBAAgB,OAAO,oBAAoB,KAAK,WAAW,IAAI,KAAK,MAAM,EAAE,IAAI;AAEtF,SAAO,EAAE,aAAa,MAAM,cAAc;AAC5C;AAEA,IAAM,sBAAsB,CAAC,SAAiB,WAAmB;AAC/D,SAAO,MAAM,OAAO,IAAI,MAAM;AAChC;","names":["initApm"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/apm/elastic-apm.ts"],"sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean
|
|
1
|
+
{"version":3,"sources":["../../src/services/apm/elastic-apm.ts"],"sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean;\n\ninterface TransactionLabels {\n [key: string]: LabelValue;\n}\n\nexport function APMInitializer({\n serviceName,\n serverUrl,\n serverUrlPrefix = undefined,\n logLevel = 'warn',\n environment,\n ignoreUrls = []\n}: APMInitializerProps) {\n \n useEffect(() => {\n const serviceUrl = !serverUrl ? (typeof window !== 'undefined' ? window.location.origin : '') : serverUrl\n initApm({\n serviceName: serviceName,\n serverUrl: serviceUrl,\n serverUrlPrefix: serverUrlPrefix,\n serviceVersion: '1.0.0',\n logLevel: logLevel,\n environment: environment,\n ignoreTransactions: ignoreUrls\n })\n }, [])\n \n return null\n}\n\n\nexport async function handleApmTransaction(\n name: string,\n type: string,\n labels: TransactionLabels,\n callback: () => Promise<void> | void\n) {\n const transaction = apm.startTransaction(name, type);\n\n try {\n transaction?.addLabels(labels as Record<string, LabelValue>);\n await callback();\n } catch (error) {\n apm.captureError(error as Error);\n } finally {\n transaction?.end();\n }\n}\n\nexport function traceError(\n error: string | Error,\n labels?: TransactionLabels,\n customMessage?: string\n) {\n try {\n const errorObject =\n error instanceof Error\n ? error\n : new Error(customMessage ?? String(error));\n\n if (labels) {\n apm.addLabels(labels as Record<string, LabelValue>);\n }\n\n apm.captureError(errorObject);\n } catch (e) {\n throw new Error(\"Failed to capture error in APM:\", e as Error);\n }\n}\n\nexport const startManagedTransaction = (\n name: string,\n type: string = 'http-request',\n spanName: string,\n spanType: string = 'external.http'\n): { transaction: Transaction | undefined, span: ApmSpan | undefined, traceParentId: string | undefined } => {\n const transaction = apm.startTransaction(name, type, { managed: true });\n const span: ApmSpan | undefined = transaction?.startSpan(spanName, spanType);\n \n const traceParentId = span ? createTraceParentId(span.traceId || '', span.id || '') : undefined;\n \n return { transaction, span, traceParentId };\n};\n\nconst createTraceParentId = (traceId: string, spanId: string) => {\n return `00-${traceId}-${spanId}-01`;\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAC1B,SAAS,QAAQ,SAAS,WAAwB;AAkB3C,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX;AAAA,EACA,aAAa,CAAC;AAChB,GAAwB;AAEtB,YAAU,MAAM;AACd,UAAM,aAAa,CAAC,YAAa,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,KAAM;AAChG,YAAQ;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,oBAAoB;AAAA,IACtB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAGA,eAAsB,qBACpB,MACA,MACA,QACA,UACA;AACA,QAAM,cAAc,IAAI,iBAAiB,MAAM,IAAI;AAEnD,MAAI;AACF,iBAAa,UAAU,MAAoC;AAC3D,UAAM,SAAS;AAAA,EACjB,SAAS,OAAO;AACd,QAAI,aAAa,KAAc;AAAA,EACjC,UAAE;AACA,iBAAa,IAAI;AAAA,EACnB;AACF;AAEO,SAAS,WACd,OACA,QACA,eACA;AACA,MAAI;AACF,UAAM,cACJ,iBAAiB,QACb,QACA,IAAI,MAAM,iBAAiB,OAAO,KAAK,CAAC;AAE9C,QAAI,QAAQ;AACV,UAAI,UAAU,MAAoC;AAAA,IACpD;AAEA,QAAI,aAAa,WAAW;AAAA,EAC9B,SAAS,GAAG;AACV,UAAM,IAAI,MAAM,mCAAmC,CAAU;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,CACrC,MACA,OAAe,gBACf,UACA,WAAmB,oBACwF;AAC3G,QAAM,cAAc,IAAI,iBAAiB,MAAM,MAAM,EAAE,SAAS,KAAK,CAAC;AACtE,QAAM,OAA4B,aAAa,UAAU,UAAU,QAAQ;AAE3E,QAAM,gBAAgB,OAAO,oBAAoB,KAAK,WAAW,IAAI,KAAK,MAAM,EAAE,IAAI;AAEtF,SAAO,EAAE,aAAa,MAAM,cAAc;AAC5C;AAEA,IAAM,sBAAsB,CAAC,SAAiB,WAAmB;AAC/D,SAAO,MAAM,OAAO,IAAI,MAAM;AAChC;","names":[]}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { Span } from '@elastic/apm-rum';
|
|
2
|
+
import { Message } from 'ai';
|
|
3
|
+
import { A as A2uiSurface } from './types-CMVbyEv8.mjs';
|
|
4
|
+
|
|
5
|
+
interface ITooler {
|
|
6
|
+
tooler: Array<{
|
|
7
|
+
name: string;
|
|
8
|
+
parameters: Record<string, any>;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
interface IToolSpec {
|
|
12
|
+
name: string;
|
|
13
|
+
parameters: Record<string, any>;
|
|
14
|
+
}
|
|
15
|
+
declare abstract class ToolFactory {
|
|
16
|
+
protected toolSpec: IToolSpec | null;
|
|
17
|
+
constructor(toolSpec: IToolSpec);
|
|
18
|
+
static createTool(toolSpec: IToolSpec): IToolSpec;
|
|
19
|
+
abstract execute(): Promise<any>;
|
|
20
|
+
}
|
|
21
|
+
interface AIMessageChunk {
|
|
22
|
+
type: string;
|
|
23
|
+
data?: AIMessageChunkData;
|
|
24
|
+
answer?: string;
|
|
25
|
+
tooler?: ToolEvent[];
|
|
26
|
+
error_code?: string;
|
|
27
|
+
error_detail?: string;
|
|
28
|
+
taskid?: string;
|
|
29
|
+
loading?: boolean;
|
|
30
|
+
thinkings?: ThinkingsInferenceResponse[];
|
|
31
|
+
}
|
|
32
|
+
interface AIMessageChunkData {
|
|
33
|
+
content: string;
|
|
34
|
+
additional_kwargs?: Record<string, unknown>;
|
|
35
|
+
response_metadata?: Record<string, unknown>;
|
|
36
|
+
type: string;
|
|
37
|
+
name?: string | null;
|
|
38
|
+
id?: string | null;
|
|
39
|
+
example?: boolean;
|
|
40
|
+
tool_calls?: ToolCall[];
|
|
41
|
+
invalid_tool_calls?: InvalidToolCall[];
|
|
42
|
+
usage_metadata?: any;
|
|
43
|
+
tool_call_chunks?: unknown[];
|
|
44
|
+
error_code?: string;
|
|
45
|
+
error_detail?: string;
|
|
46
|
+
}
|
|
47
|
+
type ToolCall = {
|
|
48
|
+
name: string;
|
|
49
|
+
args: Record<string, any>;
|
|
50
|
+
id?: string | null;
|
|
51
|
+
};
|
|
52
|
+
type InvalidToolCall = {
|
|
53
|
+
name: string | null;
|
|
54
|
+
args: string | null;
|
|
55
|
+
id: string | null;
|
|
56
|
+
error: string | null;
|
|
57
|
+
};
|
|
58
|
+
interface BaseAPIConfig {
|
|
59
|
+
baseUrl: string;
|
|
60
|
+
route: string;
|
|
61
|
+
token?: string;
|
|
62
|
+
headers?: Record<string, string>;
|
|
63
|
+
}
|
|
64
|
+
interface RatingData {
|
|
65
|
+
assistantId: string;
|
|
66
|
+
sessionId: string;
|
|
67
|
+
topicId: number;
|
|
68
|
+
score?: number;
|
|
69
|
+
description?: string;
|
|
70
|
+
}
|
|
71
|
+
interface AttachmentPayload {
|
|
72
|
+
filename: string;
|
|
73
|
+
content_type: string;
|
|
74
|
+
content_size: number;
|
|
75
|
+
}
|
|
76
|
+
type AlquimiaMessage = Message & {
|
|
77
|
+
error_code?: string;
|
|
78
|
+
error_detail?: string;
|
|
79
|
+
taskid?: string;
|
|
80
|
+
loading?: boolean;
|
|
81
|
+
created_at?: string;
|
|
82
|
+
additionalInfo?: string;
|
|
83
|
+
tooler?: Tooler[];
|
|
84
|
+
thinkings?: ThinkingsInferenceResponse[];
|
|
85
|
+
attachments?: AttachmentPayload[];
|
|
86
|
+
};
|
|
87
|
+
interface ActionResponse<T = void> {
|
|
88
|
+
success: boolean;
|
|
89
|
+
data?: T;
|
|
90
|
+
error?: {
|
|
91
|
+
message: string;
|
|
92
|
+
code?: string;
|
|
93
|
+
details?: any;
|
|
94
|
+
name?: string;
|
|
95
|
+
cause?: string;
|
|
96
|
+
status?: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
type ApmSpan = Span & {
|
|
100
|
+
id?: string;
|
|
101
|
+
traceId?: string;
|
|
102
|
+
} | undefined;
|
|
103
|
+
type ApiError = Error & {
|
|
104
|
+
message: string;
|
|
105
|
+
name: string;
|
|
106
|
+
cause: string;
|
|
107
|
+
code?: string | number;
|
|
108
|
+
status?: string | number;
|
|
109
|
+
};
|
|
110
|
+
type Tooler = {
|
|
111
|
+
control_id: string;
|
|
112
|
+
tool_summary?: ToolSummary;
|
|
113
|
+
tool_output?: ToolOutput;
|
|
114
|
+
};
|
|
115
|
+
type ToolSummary = {
|
|
116
|
+
name: string;
|
|
117
|
+
parameters: Record<string, any>;
|
|
118
|
+
};
|
|
119
|
+
type ToolOutput = {
|
|
120
|
+
result: any;
|
|
121
|
+
status: string;
|
|
122
|
+
};
|
|
123
|
+
type ToolEvent = {
|
|
124
|
+
event_class: string;
|
|
125
|
+
control_id: string;
|
|
126
|
+
data: any;
|
|
127
|
+
status: string;
|
|
128
|
+
};
|
|
129
|
+
interface ConversationsMap {
|
|
130
|
+
[topicId: string]: string;
|
|
131
|
+
}
|
|
132
|
+
interface DocumentSearchResult {
|
|
133
|
+
pageContent: string;
|
|
134
|
+
metadata: {
|
|
135
|
+
source: string;
|
|
136
|
+
_id: string;
|
|
137
|
+
_collection_name: string;
|
|
138
|
+
};
|
|
139
|
+
score: number;
|
|
140
|
+
}
|
|
141
|
+
type ElevenLabsVoiceSettings = {
|
|
142
|
+
stability: number;
|
|
143
|
+
similarity_boost: number;
|
|
144
|
+
style: number;
|
|
145
|
+
};
|
|
146
|
+
type ElevenLabsRequestSpecs = {
|
|
147
|
+
optimize_streaming_latency: string;
|
|
148
|
+
output_format: string;
|
|
149
|
+
model_id: string;
|
|
150
|
+
language: string;
|
|
151
|
+
voice_settings: ElevenLabsVoiceSettings;
|
|
152
|
+
};
|
|
153
|
+
type TTSResult = {
|
|
154
|
+
type: 'blob';
|
|
155
|
+
data: Blob;
|
|
156
|
+
} | {
|
|
157
|
+
type: 'url';
|
|
158
|
+
data: string;
|
|
159
|
+
} | {
|
|
160
|
+
type: 'error';
|
|
161
|
+
message: string;
|
|
162
|
+
};
|
|
163
|
+
/** One SSE `data:` JSON frame (`event_class` at top level). */
|
|
164
|
+
interface AlquimiaEventData {
|
|
165
|
+
taskid?: string;
|
|
166
|
+
event_class?: string;
|
|
167
|
+
control_id?: string;
|
|
168
|
+
date_submitted?: string;
|
|
169
|
+
status?: string | null;
|
|
170
|
+
data?: unknown;
|
|
171
|
+
experts?: ExpertInferenceResponse[];
|
|
172
|
+
thinkings?: ThinkingsInferenceResponse[];
|
|
173
|
+
tools_output?: ToolEvent[];
|
|
174
|
+
agents_output?: any[];
|
|
175
|
+
tools_pending_approval?: any[];
|
|
176
|
+
tools_pending_execution?: any[];
|
|
177
|
+
errors?: any[];
|
|
178
|
+
}
|
|
179
|
+
interface AssistantInferenceResponse {
|
|
180
|
+
event_class: string;
|
|
181
|
+
control_id: string;
|
|
182
|
+
data: string;
|
|
183
|
+
status: string;
|
|
184
|
+
date_submitted: string;
|
|
185
|
+
message?: string | null;
|
|
186
|
+
extras?: Record<string, unknown> | null;
|
|
187
|
+
extra_data?: ExtraDataContext | null;
|
|
188
|
+
channel?: unknown | null;
|
|
189
|
+
depth?: number;
|
|
190
|
+
taskid?: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Channel-scoped context returned alongside an inference response (was
|
|
194
|
+
* `ExtraDataConfig` in v0.2.0). Carries message metadata from the channel
|
|
195
|
+
* the inference was triggered from.
|
|
196
|
+
*/
|
|
197
|
+
interface ExtraDataContext {
|
|
198
|
+
whatsapp_message_id?: string;
|
|
199
|
+
whatsapp_message_from?: string;
|
|
200
|
+
email_message_recipient?: string;
|
|
201
|
+
email_message_subject?: string;
|
|
202
|
+
email_message_id?: string;
|
|
203
|
+
email_message_body?: string;
|
|
204
|
+
slack_team_id?: string;
|
|
205
|
+
slack_user_id?: string;
|
|
206
|
+
slack_channel_id?: string;
|
|
207
|
+
slack_response_url?: string;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* JSON body returned by `POST /event/infer/{assistantId}` (and channel
|
|
211
|
+
* variants). Keys match the runtime wire format (lowercase, no underscores).
|
|
212
|
+
* `taskid` is the id used for the SSE stream.
|
|
213
|
+
*/
|
|
214
|
+
interface CommonAttributes {
|
|
215
|
+
taskid?: string | null;
|
|
216
|
+
parenttaskid?: string | null;
|
|
217
|
+
sessionid?: string | null;
|
|
218
|
+
userid?: string | null;
|
|
219
|
+
assistantid?: string | null;
|
|
220
|
+
agentspaceid?: string | null;
|
|
221
|
+
channelid?: string | null;
|
|
222
|
+
depth?: string;
|
|
223
|
+
attachments?: string[];
|
|
224
|
+
}
|
|
225
|
+
type InferInitResponse = CommonAttributes;
|
|
226
|
+
/**
|
|
227
|
+
* Native-tools evaluation strategy. Wraps the client-side tool schemas
|
|
228
|
+
* the SDK previously sent at the top level of the infer payload.
|
|
229
|
+
*/
|
|
230
|
+
interface NativeToolsEvaluationStrategy {
|
|
231
|
+
evaluation_strategy_id: 'native';
|
|
232
|
+
tool_schemas?: unknown[];
|
|
233
|
+
max_steps?: number;
|
|
234
|
+
current_step?: number;
|
|
235
|
+
max_concurrent_tools?: number;
|
|
236
|
+
decorators?: unknown[];
|
|
237
|
+
tool_choice?: unknown;
|
|
238
|
+
structured_output?: unknown;
|
|
239
|
+
}
|
|
240
|
+
interface RawToolsEvaluationStrategy {
|
|
241
|
+
evaluation_strategy_id: 'raw';
|
|
242
|
+
tool_schemas?: unknown[];
|
|
243
|
+
}
|
|
244
|
+
interface OneShootEvaluationStrategy {
|
|
245
|
+
evaluation_strategy_id: 'one-shoot';
|
|
246
|
+
}
|
|
247
|
+
type EvaluationStrategy = NativeToolsEvaluationStrategy | RawToolsEvaluationStrategy | OneShootEvaluationStrategy;
|
|
248
|
+
interface AssistantResponseData {
|
|
249
|
+
content: string;
|
|
250
|
+
additional_kwargs: Record<string, any>;
|
|
251
|
+
response_metadata: ResponseMetadata;
|
|
252
|
+
type: string;
|
|
253
|
+
id: string;
|
|
254
|
+
example: boolean;
|
|
255
|
+
tool_calls: any[];
|
|
256
|
+
invalid_tool_calls: any[];
|
|
257
|
+
usage_metadata: UsageMetadata;
|
|
258
|
+
}
|
|
259
|
+
interface ResponseMetadata {
|
|
260
|
+
token_usage: TokenUsage;
|
|
261
|
+
model_name: string;
|
|
262
|
+
system_fingerprint: string;
|
|
263
|
+
finish_reason: string;
|
|
264
|
+
logprobs: any | null;
|
|
265
|
+
}
|
|
266
|
+
interface TokenUsage {
|
|
267
|
+
completion_tokens: number;
|
|
268
|
+
prompt_tokens: number;
|
|
269
|
+
total_tokens: number;
|
|
270
|
+
completion_time: number;
|
|
271
|
+
prompt_time: number;
|
|
272
|
+
queue_time: number;
|
|
273
|
+
total_time: number;
|
|
274
|
+
}
|
|
275
|
+
interface UsageMetadata {
|
|
276
|
+
input_tokens: number;
|
|
277
|
+
output_tokens: number;
|
|
278
|
+
total_tokens: number;
|
|
279
|
+
}
|
|
280
|
+
interface ExpertInferenceResponse {
|
|
281
|
+
event_class: string;
|
|
282
|
+
control_id: string;
|
|
283
|
+
data: {
|
|
284
|
+
label: string;
|
|
285
|
+
score: number;
|
|
286
|
+
};
|
|
287
|
+
status: string;
|
|
288
|
+
date_submitted: string;
|
|
289
|
+
}
|
|
290
|
+
interface ThinkingsInferenceResponse {
|
|
291
|
+
event_class: string;
|
|
292
|
+
control_id: string;
|
|
293
|
+
status: string;
|
|
294
|
+
date_submitted: string;
|
|
295
|
+
data: {
|
|
296
|
+
content: AssistantResponseData;
|
|
297
|
+
is_complete: boolean;
|
|
298
|
+
is_partial: boolean;
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
interface GenuiSurfaceItem {
|
|
302
|
+
controlId: string;
|
|
303
|
+
surface: A2uiSurface;
|
|
304
|
+
/** Message-count anchor: the surface renders after this many messages (chronological ordering). */
|
|
305
|
+
afterCount: number;
|
|
306
|
+
/** True once the user has submitted an interactive surface (disables it + shows a submitted state). */
|
|
307
|
+
submitted?: boolean;
|
|
308
|
+
/** Set when the user declined the surface and typed a reply */
|
|
309
|
+
dismissedWith?: string;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export { type ApmSpan as A, type BaseAPIConfig as B, type CommonAttributes as C, type DocumentSearchResult as D, type ElevenLabsRequestSpecs as E, type GenuiSurfaceItem as G, type IToolSpec as I, type NativeToolsEvaluationStrategy as N, type OneShootEvaluationStrategy as O, type RatingData as R, type TTSResult as T, type UsageMetadata as U, type AIMessageChunk as a, type AIMessageChunkData as b, type ActionResponse as c, type AlquimiaEventData as d, type AlquimiaMessage as e, type ApiError as f, type AssistantInferenceResponse as g, type AssistantResponseData as h, type AttachmentPayload as i, type ConversationsMap as j, type ElevenLabsVoiceSettings as k, type EvaluationStrategy as l, type ExpertInferenceResponse as m, type ExtraDataContext as n, type ITooler as o, type InferInitResponse as p, type RawToolsEvaluationStrategy as q, type ResponseMetadata as r, type ThinkingsInferenceResponse as s, type TokenUsage as t, type ToolEvent as u, ToolFactory as v, type ToolOutput as w, type ToolSummary as x, type Tooler as y };
|