@azure/ai-projects 2.8.0 → 2.9.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 +73 -5
- package/dist/browser/aiProjectClient.d.ts.map +1 -1
- package/dist/browser/aiProjectClient.js +1 -1
- package/dist/browser/aiProjectClient.js.map +1 -1
- package/dist/browser/classic/beta/agents/index.d.ts +2 -1
- package/dist/browser/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/agents/index.js +3 -2
- package/dist/browser/classic/beta/agents/index.js.map +1 -1
- package/dist/browser/classic/beta/index.d.ts +2 -1
- package/dist/browser/classic/beta/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/index.js +3 -3
- package/dist/browser/classic/beta/index.js.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/conversations/index.d.ts +2 -1
- package/dist/browser/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/conversations/index.js +5 -4
- package/dist/browser/classic/beta/voiceAgents/conversations/index.js.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/index.d.ts +3 -2
- package/dist/browser/classic/beta/voiceAgents/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/index.js +5 -5
- package/dist/browser/classic/beta/voiceAgents/index.js.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/telephony/index.d.ts +2 -1
- package/dist/browser/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/telephony/index.js +16 -11
- package/dist/browser/classic/beta/voiceAgents/telephony/index.js.map +1 -1
- package/dist/browser/constants.d.ts +1 -1
- package/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/index.d.ts +1 -1
- package/dist/browser/models/index.d.ts.map +1 -1
- package/dist/browser/models/index.js.map +1 -1
- package/dist/browser/models/models.d.ts +203 -158
- package/dist/browser/models/models.d.ts.map +1 -1
- package/dist/browser/models/models.js +129 -120
- package/dist/browser/models/models.js.map +1 -1
- package/dist/browser/package.json +1 -1
- package/dist/browser/realtime/voiceAgentRealtimeClient.d.ts +3 -0
- package/dist/browser/realtime/voiceAgentRealtimeClient.d.ts.map +1 -1
- package/dist/browser/realtime/voiceAgentRealtimeClient.js +39 -8
- package/dist/browser/realtime/voiceAgentRealtimeClient.js.map +1 -1
- package/dist/browser/tracing/configuration.d.ts +3 -5
- package/dist/browser/tracing/configuration.d.ts.map +1 -1
- package/dist/browser/tracing/configuration.js +8 -6
- package/dist/browser/tracing/configuration.js.map +1 -1
- package/dist/browser/tracing/tracingClient.d.ts +1 -1
- package/dist/browser/tracing/tracingClient.d.ts.map +1 -1
- package/dist/browser/tracing/tracingClient.js +2 -2
- package/dist/browser/tracing/tracingClient.js.map +1 -1
- package/dist/browser/tracing/voiceAgentTracing.d.ts +63 -0
- package/dist/browser/tracing/voiceAgentTracing.d.ts.map +1 -0
- package/dist/browser/tracing/voiceAgentTracing.js +740 -0
- package/dist/browser/tracing/voiceAgentTracing.js.map +1 -0
- package/dist/commonjs/aiProjectClient.d.ts.map +1 -1
- package/dist/commonjs/aiProjectClient.js +2 -1
- package/dist/commonjs/aiProjectClient.js.map +2 -2
- package/dist/commonjs/classic/beta/agents/index.d.ts +2 -1
- package/dist/commonjs/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/agents/index.js +9 -2
- package/dist/commonjs/classic/beta/agents/index.js.map +2 -2
- package/dist/commonjs/classic/beta/index.d.ts +2 -1
- package/dist/commonjs/classic/beta/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/index.js +9 -3
- package/dist/commonjs/classic/beta/index.js.map +2 -2
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.d.ts +2 -1
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.js +10 -4
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.js.map +2 -2
- package/dist/commonjs/classic/beta/voiceAgents/index.d.ts +3 -2
- package/dist/commonjs/classic/beta/voiceAgents/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/voiceAgents/index.js +4 -4
- package/dist/commonjs/classic/beta/voiceAgents/index.js.map +2 -2
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.d.ts +2 -1
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.js +33 -11
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.js.map +2 -2
- package/dist/commonjs/constants.d.ts +1 -1
- package/dist/commonjs/constants.js +1 -1
- package/dist/commonjs/constants.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/models/index.d.ts +1 -1
- package/dist/commonjs/models/index.d.ts.map +1 -1
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/models.d.ts +203 -158
- package/dist/commonjs/models/models.d.ts.map +1 -1
- package/dist/commonjs/models/models.js +145 -106
- package/dist/commonjs/models/models.js.map +2 -2
- package/dist/commonjs/package.json +1 -1
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.d.ts +3 -0
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.d.ts.map +1 -1
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.js +45 -17
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.js.map +2 -2
- package/dist/commonjs/tracing/configuration.d.ts +3 -5
- package/dist/commonjs/tracing/configuration.d.ts.map +1 -1
- package/dist/commonjs/tracing/configuration.js +5 -1
- package/dist/commonjs/tracing/configuration.js.map +2 -2
- package/dist/commonjs/tracing/tracingClient.d.ts +1 -1
- package/dist/commonjs/tracing/tracingClient.d.ts.map +1 -1
- package/dist/commonjs/tracing/tracingClient.js +2 -2
- package/dist/commonjs/tracing/tracingClient.js.map +2 -2
- package/dist/commonjs/tracing/voiceAgentTracing.d.ts +63 -0
- package/dist/commonjs/tracing/voiceAgentTracing.d.ts.map +1 -0
- package/dist/commonjs/tracing/voiceAgentTracing.js +705 -0
- package/dist/commonjs/tracing/voiceAgentTracing.js.map +7 -0
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/aiProjectClient.d.ts.map +1 -1
- package/dist/esm/aiProjectClient.js +1 -1
- package/dist/esm/aiProjectClient.js.map +1 -1
- package/dist/esm/classic/beta/agents/index.d.ts +2 -1
- package/dist/esm/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/agents/index.js +3 -2
- package/dist/esm/classic/beta/agents/index.js.map +1 -1
- package/dist/esm/classic/beta/index.d.ts +2 -1
- package/dist/esm/classic/beta/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/index.js +3 -3
- package/dist/esm/classic/beta/index.js.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/conversations/index.d.ts +2 -1
- package/dist/esm/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/conversations/index.js +5 -4
- package/dist/esm/classic/beta/voiceAgents/conversations/index.js.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/index.d.ts +3 -2
- package/dist/esm/classic/beta/voiceAgents/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/index.js +5 -5
- package/dist/esm/classic/beta/voiceAgents/index.js.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/telephony/index.d.ts +2 -1
- package/dist/esm/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/telephony/index.js +16 -11
- package/dist/esm/classic/beta/voiceAgents/telephony/index.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/index.d.ts +1 -1
- package/dist/esm/models/index.d.ts.map +1 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/models.d.ts +203 -158
- package/dist/esm/models/models.d.ts.map +1 -1
- package/dist/esm/models/models.js +129 -120
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/realtime/voiceAgentRealtimeClient.d.ts +3 -0
- package/dist/esm/realtime/voiceAgentRealtimeClient.d.ts.map +1 -1
- package/dist/esm/realtime/voiceAgentRealtimeClient.js +39 -8
- package/dist/esm/realtime/voiceAgentRealtimeClient.js.map +1 -1
- package/dist/esm/tracing/configuration.d.ts +3 -5
- package/dist/esm/tracing/configuration.d.ts.map +1 -1
- package/dist/esm/tracing/configuration.js +8 -6
- package/dist/esm/tracing/configuration.js.map +1 -1
- package/dist/esm/tracing/tracingClient.d.ts +1 -1
- package/dist/esm/tracing/tracingClient.d.ts.map +1 -1
- package/dist/esm/tracing/tracingClient.js +2 -2
- package/dist/esm/tracing/tracingClient.js.map +1 -1
- package/dist/esm/tracing/voiceAgentTracing.d.ts +63 -0
- package/dist/esm/tracing/voiceAgentTracing.d.ts.map +1 -0
- package/dist/esm/tracing/voiceAgentTracing.js +740 -0
- package/dist/esm/tracing/voiceAgentTracing.js.map +1 -0
- package/dist/react-native/aiProjectClient.d.ts.map +1 -1
- package/dist/react-native/aiProjectClient.js +1 -1
- package/dist/react-native/aiProjectClient.js.map +1 -1
- package/dist/react-native/classic/beta/agents/index.d.ts +2 -1
- package/dist/react-native/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/agents/index.js +3 -2
- package/dist/react-native/classic/beta/agents/index.js.map +1 -1
- package/dist/react-native/classic/beta/index.d.ts +2 -1
- package/dist/react-native/classic/beta/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/index.js +3 -3
- package/dist/react-native/classic/beta/index.js.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.d.ts +2 -1
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.js +5 -4
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.js.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/index.d.ts +3 -2
- package/dist/react-native/classic/beta/voiceAgents/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/index.js +5 -5
- package/dist/react-native/classic/beta/voiceAgents/index.js.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.d.ts +2 -1
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.js +16 -11
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.js.map +1 -1
- package/dist/react-native/constants.d.ts +1 -1
- package/dist/react-native/constants.js +1 -1
- package/dist/react-native/constants.js.map +1 -1
- package/dist/react-native/index.d.ts +1 -1
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models/index.d.ts +1 -1
- package/dist/react-native/models/index.d.ts.map +1 -1
- package/dist/react-native/models/index.js.map +1 -1
- package/dist/react-native/models/models.d.ts +203 -158
- package/dist/react-native/models/models.d.ts.map +1 -1
- package/dist/react-native/models/models.js +129 -120
- package/dist/react-native/models/models.js.map +1 -1
- package/dist/react-native/package.json +1 -1
- package/dist/react-native/realtime/voiceAgentRealtimeClient.d.ts +3 -0
- package/dist/react-native/realtime/voiceAgentRealtimeClient.d.ts.map +1 -1
- package/dist/react-native/realtime/voiceAgentRealtimeClient.js +39 -8
- package/dist/react-native/realtime/voiceAgentRealtimeClient.js.map +1 -1
- package/dist/react-native/tracing/configuration.d.ts +3 -5
- package/dist/react-native/tracing/configuration.d.ts.map +1 -1
- package/dist/react-native/tracing/configuration.js +8 -6
- package/dist/react-native/tracing/configuration.js.map +1 -1
- package/dist/react-native/tracing/tracingClient.d.ts +1 -1
- package/dist/react-native/tracing/tracingClient.d.ts.map +1 -1
- package/dist/react-native/tracing/tracingClient.js +2 -2
- package/dist/react-native/tracing/tracingClient.js.map +1 -1
- package/dist/react-native/tracing/voiceAgentTracing.d.ts +63 -0
- package/dist/react-native/tracing/voiceAgentTracing.d.ts.map +1 -0
- package/dist/react-native/tracing/voiceAgentTracing.js +740 -0
- package/dist/react-native/tracing/voiceAgentTracing.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/tracing/voiceAgentTracing.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Attributes, Context, Span } from \"@opentelemetry/api\";\nimport { SpanStatusCode } from \"@opentelemetry/api\";\nimport { isRestError } from \"@azure/core-rest-pipeline\";\nimport type { ResolvedTracingConfig } from \"./configuration.js\";\nimport type {\n VoiceAgentClientEvent,\n VoiceAgentRealtimeResponse,\n VoiceAgentTransport,\n} from \"../models/models.js\";\nimport type { VoiceAgentRealtimeEvent } from \"../realtime/events.js\";\nimport { logger } from \"../logger.js\";\nimport { setServerAttributes, parseEndpoint } from \"./attributes.js\";\nimport { startSpan, runInSpanContext } from \"./tracingClient.js\";\nimport { recordOperationDuration, recordTokenUsage } from \"./metrics.js\";\nimport {\n AGENTS_PROVIDER,\n AZ_NAMESPACE,\n AZ_NAMESPACE_VALUE,\n GEN_AI_PROVIDER_NAME,\n GEN_AI_OPERATION_NAME,\n GEN_AI_INPUT_MESSAGES,\n GEN_AI_OUTPUT_MESSAGES,\n GEN_AI_REQUEST_MODEL,\n GEN_AI_RESPONSE_ID,\n GEN_AI_CONVERSATION_ID,\n GEN_AI_USAGE_INPUT_TOKENS,\n GEN_AI_USAGE_OUTPUT_TOKENS,\n GEN_AI_TOOL_CALL_ID,\n ERROR_TYPE,\n} from \"./constants.js\";\n\nconst prefix = \"az.ai.voice_agents.\";\nconst maxResponses = 64;\nconst maxInputItems = 64;\nconst maxParts = 32;\nconst maxContentLength = 4096;\nconst safeErrorTypes = new Set([\n \"Error\",\n \"TypeError\",\n \"AbortError\",\n \"RestError\",\n \"VoiceAgentAuthenticationError\",\n \"VoiceAgentConnectionError\",\n \"VoiceAgentProtocolError\",\n \"invalid_request_error\",\n \"server_error\",\n \"authentication_error\",\n \"rate_limit_error\",\n]);\nconst safeErrorCodes = new Set([\n \"agent_disabled\",\n \"invalid_request\",\n \"invalid_request_error\",\n \"invalid_event\",\n \"invalid_state\",\n \"rate_limit_exceeded\",\n \"insufficient_quota\",\n \"session_expired\",\n \"authentication_error\",\n \"permission_denied\",\n \"server_error\",\n]);\n\nfunction serverErrorAttributes(type: unknown, code?: unknown): Attributes {\n const attributes: Attributes = {\n [ERROR_TYPE]: typeof type === \"string\" && safeErrorTypes.has(type) ? type : \"Error\",\n };\n if (typeof code === \"string\" && safeErrorCodes.has(code)) {\n attributes[`${prefix}error.code`] = code;\n }\n return attributes;\n}\n\n// Exporter/provider failures must not change a service operation's result.\nfunction recordTelemetry(action: () => void): void {\n try {\n action();\n } catch {\n logger.warning(\"Unable to record Voice Agents telemetry.\");\n }\n}\n\nfunction commonAttributes(span: Span, endpoint: string): void {\n span.setAttribute(GEN_AI_PROVIDER_NAME, AGENTS_PROVIDER);\n span.setAttribute(AZ_NAMESPACE, AZ_NAMESPACE_VALUE);\n setServerAttributes(span, endpoint);\n}\n\nfunction fail(span: Span, error: unknown): void {\n const type = isRestError(error)\n ? \"RestError\"\n : error instanceof Error && safeErrorTypes.has(error.name)\n ? error.name\n : \"Error\";\n span.setAttribute(ERROR_TYPE, type);\n if (isRestError(error) && error.statusCode !== undefined) {\n span.setAttribute(\"http.response.status_code\", error.statusCode);\n }\n span.setStatus({ code: SpanStatusCode.ERROR });\n}\n\n/** @internal */\nexport async function traceVoiceAgentOperation<T>(\n operationName: string,\n endpoint: string,\n config: ResolvedTracingConfig | undefined,\n operation: () => Promise<T>,\n resultAttributes?: (result: T) => Attributes,\n): Promise<T> {\n if (!config?.enabled) {\n return operation();\n }\n let recording: { span: Span; ctx: Context } | undefined;\n recordTelemetry(() => {\n recording = startSpan(operationName);\n commonAttributes(recording.span, endpoint);\n recording.span.setAttribute(\n operationName === \"create_agent\" ? GEN_AI_OPERATION_NAME : `${prefix}operation`,\n operationName.slice(operationName.lastIndexOf(\".\") + 1),\n );\n });\n if (!recording) return operation();\n const { span, ctx } = recording;\n try {\n const result = await runInSpanContext(ctx, operation);\n recordTelemetry(() => {\n if (resultAttributes) span.setAttributes(resultAttributes(result));\n });\n return result;\n } catch (error) {\n recordTelemetry(() => {\n if (!(error instanceof Error && error.name === \"AbortError\")) fail(span, error);\n else span.setAttribute(`${prefix}cancelled`, true);\n });\n throw error;\n } finally {\n recordTelemetry(() => span.end());\n }\n}\n\ninterface TrackedResponse {\n span: Span;\n started: number;\n firstAudioInSeconds?: number;\n audioBytes: number;\n model?: string;\n outputMessages: Map<string, MessageSummary>;\n outputParts: Map<string, { itemId: string; contentIndex: number; part: Record<string, unknown> }>;\n}\n\ninterface TrackedInputAudio {\n sequence: number;\n itemId?: string;\n pendingQueue?: PendingInputAudio;\n pendingSkipped?: boolean;\n pendingSend?: boolean;\n pendingTranscript?: string;\n}\n\ninterface PendingInputAudio {\n items: TrackedInputAudio[];\n skipped: number;\n}\n\ninterface ReservedInput {\n sequence: number;\n audio?: TrackedInputAudio;\n}\n\ninterface MessageSummary {\n role: \"system\" | \"user\" | \"assistant\" | \"tool\";\n parts: Record<string, unknown>[];\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n return value !== null && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction limitedContent(value: unknown): string | undefined {\n return typeof value === \"string\" ? value.slice(0, maxContentLength) : undefined;\n}\n\nfunction messagePart(\n value: unknown,\n contentRecording: boolean,\n): Record<string, unknown> | undefined {\n const part = asRecord(value);\n const type = part?.type;\n if (\n !part ||\n typeof type !== \"string\" ||\n ![\"input_text\", \"output_text\", \"text\", \"input_audio\", \"output_audio\", \"audio\"].includes(type)\n ) {\n return undefined;\n }\n const audio = type.includes(\"audio\");\n const summary: Record<string, unknown> = { type: audio ? \"audio\" : \"text\" };\n if (contentRecording) {\n const content = limitedContent(audio ? part.transcript : part.text);\n if (content !== undefined) summary.content = content;\n }\n return summary;\n}\n\nfunction messages(item: unknown, contentRecording: boolean): MessageSummary | undefined {\n const record = asRecord(item);\n if (!record) return undefined;\n if (\n record.type === \"function_call\" ||\n record.type === \"function_call_output\" ||\n record.type === \"mcp_call\"\n ) {\n const part: Record<string, unknown> = {\n type: record.type === \"function_call_output\" ? \"tool_call_response\" : \"tool_call\",\n };\n if (typeof record.call_id === \"string\") part.id = record.call_id;\n if (contentRecording) {\n if (typeof record.name === \"string\") part.name = limitedContent(record.name);\n if (typeof record.arguments === \"string\") part.arguments = limitedContent(record.arguments);\n if (typeof record.output === \"string\") part.result = limitedContent(record.output);\n }\n return { role: record.type === \"function_call_output\" ? \"tool\" : \"assistant\", parts: [part] };\n }\n if (record.type !== \"message\") return undefined;\n const parts: Record<string, unknown>[] = [];\n if (Array.isArray(record.content)) {\n for (const value of record.content.slice(0, maxParts)) {\n const summary = messagePart(value, contentRecording);\n if (summary) parts.push(summary);\n }\n }\n const role = record.role === \"system\" || record.role === \"user\" ? record.role : \"assistant\";\n return parts.length ? { role, parts } : undefined;\n}\n\n/** Tracks SDK-observed realtime work, independently of the user's event iterator. @internal */\nexport class VoiceAgentRealtimeTracing {\n private readonly responses = new Map<string, TrackedResponse>();\n private session?: { span: Span; ctx: Context };\n private connectSpan?: Span;\n private ended = false;\n private connected = false;\n private model?: string;\n private inputAudioBytes = 0;\n private inputSequence = 0;\n private nextInputSequence = 0;\n private inputAudioBuffer?: TrackedInputAudio;\n private readonly inputAudioItems = new Map<string, TrackedInputAudio>();\n private readonly pendingAudioCommits: PendingInputAudio = { items: [], skipped: 0 };\n private readonly pendingAudioMessages: PendingInputAudio = { items: [], skipped: 0 };\n private pendingAudioClears = 0;\n private untrackedInputItems = 0;\n private finishedResponses = 0;\n private untrackedResponses = 0;\n\n public constructor(\n private readonly endpoint: string,\n private readonly config: ResolvedTracingConfig,\n transport: VoiceAgentTransport = \"websocket\",\n ) {\n recordTelemetry(() => {\n this.session = startSpan(\"voice_agents.realtime.session\");\n commonAttributes(this.session.span, endpoint);\n this.session.span.setAttribute(`${prefix}connection.transport`, transport);\n this.connectSpan = startSpan(\"voice_agents.realtime.connect\", this.session.ctx).span;\n commonAttributes(this.connectSpan, endpoint);\n this.connectSpan.setAttribute(`${prefix}connection.transport`, transport);\n });\n }\n\n public opened(): void {\n recordTelemetry(() => {\n if (this.ended) return;\n this.connected = true;\n this.connectSpan?.end();\n this.connectSpan = undefined;\n });\n }\n\n public reserveSend(event: VoiceAgentClientEvent): ReservedInput | undefined {\n let reservation: ReservedInput | undefined;\n recordTelemetry(() => {\n if (this.ended || !this.session || event.type !== \"conversation.item.create\") return;\n const summary = messages(event.item, this.config.contentRecording);\n const item = asRecord(event.item);\n if (!summary) return;\n reservation = { sequence: ++this.nextInputSequence };\n if (\n summary.role !== \"user\" ||\n !summary.parts.some((part) => part.type === \"audio\") ||\n typeof item?.id === \"string\" ||\n this.pendingAudioMessages.items.length >= maxInputItems ||\n this.pendingAudioMessages.skipped > 0\n ) {\n return;\n }\n reservation.audio = { sequence: reservation.sequence, pendingSend: true };\n this.enqueueInputAudio(this.pendingAudioMessages, reservation.audio);\n });\n return reservation;\n }\n\n public sent(event: VoiceAgentClientEvent, reservation?: ReservedInput): void {\n recordTelemetry(() => {\n if (this.ended || !this.session) return;\n if (event.type === \"input_audio_buffer.append\") {\n // Count decoded bytes without retaining or decoding the media.\n this.inputAudioBytes += Math.max(\n 0,\n Math.floor((event.audio.length * 3) / 4) -\n (event.audio.endsWith(\"==\") ? 2 : event.audio.endsWith(\"=\") ? 1 : 0),\n );\n if (!this.inputAudioBuffer) {\n this.inputAudioBuffer = this.startInputAudio();\n } else if (this.inputAudioBuffer.sequence !== this.inputSequence) {\n this.inputSequence = ++this.nextInputSequence;\n this.inputAudioBuffer.sequence = this.inputSequence;\n this.setInputAudioSummary();\n }\n } else if (event.type === \"input_audio_buffer.commit\") {\n if (this.inputAudioBuffer) {\n this.enqueueInputAudio(this.pendingAudioCommits, this.inputAudioBuffer);\n this.inputAudioBuffer = undefined;\n }\n } else if (event.type === \"input_audio_buffer.clear\") {\n this.inputAudioBuffer = undefined;\n this.pendingAudioClears++;\n } else if (event.type === \"conversation.item.create\") {\n const summary = messages(event.item, this.config.contentRecording);\n const item = asRecord(event.item);\n if (summary) {\n const sequence = reservation?.sequence ?? ++this.nextInputSequence;\n if (summary.role === \"user\" && summary.parts.some((part) => part.type === \"audio\")) {\n const input = reservation?.audio ?? { sequence };\n input.pendingSend = undefined;\n if (!reservation?.audio) {\n if (typeof item?.id === \"string\") {\n this.rememberInputAudio(item.id, input);\n } else {\n this.enqueueInputAudio(this.pendingAudioMessages, input);\n }\n }\n }\n if (sequence >= this.inputSequence) {\n this.inputSequence = sequence;\n this.session.span.setAttribute(GEN_AI_INPUT_MESSAGES, JSON.stringify([summary]));\n if (reservation?.audio?.pendingTranscript !== undefined) {\n this.setInputAudioSummary(reservation.audio.pendingTranscript);\n }\n }\n }\n if (item?.type === \"function_call_output\" && typeof item.call_id === \"string\") {\n this.session.span.addEvent(\"voice_agents.tool.output_sent\", {\n [GEN_AI_TOOL_CALL_ID]: item.call_id,\n });\n }\n } else if (event.type === \"response.cancel\") {\n this.session.span.addEvent(\"voice_agents.response.cancel_requested\");\n }\n });\n }\n\n public sendFailed(error: unknown, reservation?: ReservedInput): void {\n recordTelemetry(() => {\n if (reservation?.audio) this.rollbackPendingAudioMessage(reservation.audio);\n if (!this.ended) {\n this.session?.span.addEvent(\"voice_agents.send.failed\", {\n [ERROR_TYPE]:\n error instanceof Error && safeErrorTypes.has(error.name) ? error.name : \"Error\",\n });\n }\n });\n }\n\n public received(event: VoiceAgentRealtimeEvent): void {\n recordTelemetry(() => {\n if (this.ended || !this.session || event.type === \"unknown\") return;\n switch (event.type) {\n case \"session.created\":\n case \"session.updated\":\n this.model = event.session.model;\n this.session.span.setAttribute(`${prefix}session.id`, event.session.id);\n if (event.type === \"session.created\" && event.conversation_id) {\n this.session.span.setAttribute(GEN_AI_CONVERSATION_ID, event.conversation_id);\n }\n if (this.model) this.session.span.setAttribute(GEN_AI_REQUEST_MODEL, this.model);\n break;\n case \"input_audio_buffer.speech_started\":\n if (!this.inputAudioItems.has(event.item_id)) {\n const buffer = this.inputAudioBuffer;\n const input = buffer && buffer.itemId === undefined ? buffer : this.startInputAudio();\n this.rememberInputAudio(event.item_id, input);\n this.inputAudioBuffer = input;\n }\n break;\n case \"input_audio_buffer.committed\": {\n const pending =\n this.pendingAudioCommits.items.length > 0 || this.pendingAudioCommits.skipped > 0;\n let input = this.matchInputAudio(this.pendingAudioCommits, event.item_id);\n if (!input) {\n if (pending) break;\n input = this.inputAudioBuffer ?? this.startInputAudio();\n this.rememberInputAudio(event.item_id, input);\n }\n if (this.inputAudioBuffer === input) this.inputAudioBuffer = undefined;\n break;\n }\n case \"input_audio_buffer.cleared\":\n if (this.pendingAudioClears > 0) this.pendingAudioClears--;\n else this.inputAudioBuffer = undefined;\n break;\n case \"conversation.item.added\":\n case \"conversation.item.created\": {\n const item = asRecord(event.item);\n const summary = messages(event.item, false);\n if (\n typeof item?.id === \"string\" &&\n summary?.role === \"user\" &&\n summary.parts.some((part) => part.type === \"audio\")\n ) {\n this.matchInputAudio(this.pendingAudioMessages, item.id);\n }\n break;\n }\n case \"response.created\":\n this.beginResponse(event.response);\n break;\n case \"response.output_audio.delta\": {\n const tracked = this.responses.get(event.response_id);\n if (tracked) {\n tracked.audioBytes += event.delta.byteLength;\n if (event.delta.byteLength > 0) {\n tracked.firstAudioInSeconds ??= (performance.now() - tracked.started) / 1000;\n }\n }\n break;\n }\n case \"response.done\":\n this.endResponse(event.response);\n break;\n case \"response.output_text.done\":\n case \"response.output_audio_transcript.done\": {\n const tracked = this.responses.get(event.response_id);\n if (tracked) {\n const part: Record<string, unknown> = {\n type: event.type === \"response.output_text.done\" ? \"text\" : \"audio\",\n };\n if (this.config.contentRecording) {\n part.content = limitedContent(\n event.type === \"response.output_text.done\" ? event.text : event.transcript,\n );\n }\n this.recordOutputPart(tracked, event.item_id, event.content_index, part);\n }\n break;\n }\n case \"response.output_audio.done\": {\n const tracked = this.responses.get(event.response_id);\n if (tracked) {\n this.recordOutputPart(tracked, event.item_id, event.content_index, { type: \"audio\" });\n }\n break;\n }\n case \"response.function_call_arguments.done\": {\n const span = this.responses.get(event.response_id)?.span ?? this.session.span;\n const attributes: Attributes = {\n [GEN_AI_TOOL_CALL_ID]: event.call_id,\n [`${prefix}tool.kind`]: \"function\",\n };\n if (this.config.contentRecording) {\n attributes[\"gen_ai.tool.name\"] = limitedContent(event.name);\n attributes[`${prefix}tool.arguments`] = limitedContent(event.arguments);\n }\n span.addEvent(\"voice_agents.tool.requested\", attributes);\n const tracked = this.responses.get(event.response_id);\n const summary = messages(\n {\n type: \"function_call\",\n call_id: event.call_id,\n name: event.name,\n arguments: event.arguments,\n },\n this.config.contentRecording,\n );\n if (tracked && summary && tracked.outputMessages.size < maxParts) {\n tracked.outputMessages.set(`tool:${event.call_id}`, summary);\n }\n break;\n }\n case \"response.mcp_call.completed\":\n case \"response.mcp_call.failed\":\n this.session.span.addEvent(event.type, { [`${prefix}item.id`]: event.item_id });\n break;\n case \"session.subagent.started\":\n case \"session.subagent.completed\":\n case \"session.subagent.aborted\": {\n const attributes: Attributes = {\n [`${prefix}subagent.consultation.id`]: event.consultation_id,\n };\n if (\n event.type === \"session.subagent.aborted\" &&\n [\n \"unknown_target\",\n \"timeout\",\n \"cancelled\",\n \"stopped_by_user\",\n \"superseded\",\n \"failed\",\n ].includes(event.reason)\n ) {\n attributes[`${prefix}subagent.abort_reason`] = event.reason;\n }\n this.session.span.addEvent(event.type, attributes);\n break;\n }\n case \"error\":\n this.session.span.addEvent(\n \"voice_agents.server_error\",\n serverErrorAttributes(event.error.type, event.error.code),\n );\n break;\n case \"warning\":\n this.session.span.addEvent(\"voice_agents.warning\");\n break;\n case \"rtc.call.error\":\n this.session.span.addEvent(\n \"rtc.call.error\",\n serverErrorAttributes(event.error.type, event.error.code),\n );\n break;\n case \"conversation.item.input_audio_transcription.completed\": {\n const input = this.inputAudioItems.get(event.item_id);\n if (input?.pendingSend) {\n input.pendingTranscript = event.transcript;\n } else if (input?.sequence === this.inputSequence) {\n this.setInputAudioSummary(event.transcript);\n }\n this.session.span.addEvent(\"voice_agents.transcription.completed\");\n break;\n }\n case \"conversation.item.input_audio_transcription.failed\": {\n const input = this.inputAudioItems.get(event.item_id);\n if (input?.sequence === this.inputSequence) {\n this.setInputAudioSummary();\n }\n this.session.span.addEvent(\"voice_agents.transcription.failed\");\n break;\n }\n }\n });\n }\n\n private startInputAudio(): TrackedInputAudio {\n const input = { sequence: ++this.nextInputSequence };\n this.inputSequence = input.sequence;\n this.setInputAudioSummary();\n return input;\n }\n\n private enqueueInputAudio(queue: PendingInputAudio, input: TrackedInputAudio): void {\n input.pendingQueue = queue;\n if (queue.items.length >= maxInputItems || queue.skipped > 0) {\n input.pendingSkipped = true;\n queue.skipped++;\n this.untrackedInputItems++;\n } else {\n queue.items.push(input);\n }\n }\n\n private rollbackPendingAudioMessage(input: TrackedInputAudio): void {\n if (input.pendingQueue) {\n const index = input.pendingQueue.items.indexOf(input);\n if (index !== -1) {\n input.pendingQueue.items.splice(index, 1);\n } else if (input.pendingSkipped && input.pendingQueue.skipped > 0) {\n input.pendingQueue.skipped--;\n this.untrackedInputItems--;\n }\n input.pendingQueue = undefined;\n input.pendingSkipped = undefined;\n }\n if (input.itemId && this.inputAudioItems.get(input.itemId) === input) {\n this.inputAudioItems.delete(input.itemId);\n }\n input.pendingSend = undefined;\n input.pendingTranscript = undefined;\n }\n\n private matchInputAudio(queue: PendingInputAudio, itemId: string): TrackedInputAudio | undefined {\n const known = this.inputAudioItems.get(itemId);\n if (known) {\n if (known.pendingQueue === queue) {\n const index = queue.items.indexOf(known);\n if (index !== -1) queue.items.splice(index, 1);\n else if (known.pendingSkipped && queue.skipped > 0) queue.skipped--;\n known.pendingQueue = undefined;\n known.pendingSkipped = undefined;\n }\n return known;\n }\n // Match ordered commit/create acknowledgements, never asynchronous ASR completion order.\n const input = queue.items.shift();\n if (input) {\n input.pendingQueue = undefined;\n this.rememberInputAudio(itemId, input);\n return input;\n }\n if (queue.skipped > 0) queue.skipped--;\n return undefined;\n }\n\n private rememberInputAudio(itemId: string, input: TrackedInputAudio): void {\n input.itemId = itemId;\n this.inputAudioItems.set(itemId, input);\n if (this.inputAudioItems.size > maxInputItems) {\n for (const [id, tracked] of this.inputAudioItems) {\n if (tracked.sequence !== this.inputSequence || id !== tracked.itemId) {\n this.inputAudioItems.delete(id);\n break;\n }\n }\n }\n }\n\n private setInputAudioSummary(transcript?: string): void {\n const parts: Record<string, unknown>[] = [{ type: \"audio\" }];\n if (this.config.contentRecording && transcript !== undefined) {\n parts[0].content = limitedContent(transcript);\n }\n this.session?.span.setAttribute(\n GEN_AI_INPUT_MESSAGES,\n JSON.stringify([{ role: \"user\", parts }]),\n );\n }\n\n private recordOutputPart(\n tracked: TrackedResponse,\n itemId: string,\n contentIndex: number,\n part: Record<string, unknown>,\n ): void {\n const key = `${itemId}:${contentIndex}:${part.type}`;\n const existing = tracked.outputParts.get(key);\n if (existing) {\n if (part.content !== undefined) existing.part.content = part.content;\n } else if (tracked.outputParts.size < maxParts) {\n tracked.outputParts.set(key, { itemId, contentIndex, part });\n }\n }\n\n private beginResponse(response: VoiceAgentRealtimeResponse): void {\n const id = response.id;\n if (!id || !this.session || this.responses.has(id)) return;\n if (this.responses.size >= maxResponses) {\n this.untrackedResponses++;\n return;\n }\n const { span } = startSpan(\"invoke_agent\", this.session.ctx);\n commonAttributes(span, this.endpoint);\n span.setAttribute(GEN_AI_OPERATION_NAME, \"invoke_agent\");\n span.setAttribute(GEN_AI_RESPONSE_ID, id);\n if (this.model) span.setAttribute(GEN_AI_REQUEST_MODEL, this.model);\n if (response.conversation_id) {\n span.setAttribute(GEN_AI_CONVERSATION_ID, response.conversation_id);\n }\n this.responses.set(id, {\n span,\n started: performance.now(),\n audioBytes: 0,\n model: this.model,\n outputMessages: new Map(),\n outputParts: new Map(),\n });\n }\n\n private endResponse(response: VoiceAgentRealtimeResponse): void {\n const id = response.id;\n const tracked = id ? this.responses.get(id) : undefined;\n if (!tracked || !id) return;\n this.responses.delete(id);\n const durationInSeconds = (performance.now() - tracked.started) / 1000;\n const { span } = tracked;\n if (response.status) span.setAttribute(`${prefix}response.status`, response.status);\n if (response.output_modalities) {\n span.setAttribute(`${prefix}response.output_modalities`, response.output_modalities);\n }\n if (response.usage?.input_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, response.usage.input_tokens);\n }\n if (response.usage?.output_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, response.usage.output_tokens);\n }\n this.flushObservedResponse(tracked, response);\n if (response.status === \"failed\") {\n span.setAttribute(ERROR_TYPE, \"response_failed\");\n span.setStatus({ code: SpanStatusCode.ERROR });\n } else if (response.status === \"completed\") {\n span.setStatus({ code: SpanStatusCode.OK });\n }\n const dimensions = {\n operationName: \"invoke_agent\",\n ...parseEndpoint(this.endpoint),\n responseModel: tracked.model,\n ...(response.status === \"failed\" ? { errorType: \"response_failed\" } : {}),\n };\n span.end();\n this.finishedResponses++;\n recordOperationDuration(durationInSeconds, dimensions);\n recordTokenUsage(response.usage?.input_tokens, response.usage?.output_tokens, dimensions);\n }\n\n private flushObservedResponse(\n tracked: TrackedResponse,\n response?: VoiceAgentRealtimeResponse,\n ): void {\n const { span } = tracked;\n span.setAttribute(`${prefix}output.audio.bytes`, tracked.audioBytes);\n if (tracked.firstAudioInSeconds !== undefined) {\n span.setAttribute(\n `${prefix}response.time_to_first_audio_seconds`,\n tracked.firstAudioInSeconds,\n );\n }\n const fallback = new Map(tracked.outputMessages);\n for (const observed of [...tracked.outputParts.values()].sort(\n (a, b) => a.contentIndex - b.contentIndex,\n )) {\n const message: MessageSummary = fallback.get(observed.itemId) ?? {\n role: \"assistant\",\n parts: [],\n };\n message.parts.push(observed.part);\n fallback.set(observed.itemId, message);\n }\n const output: MessageSummary[] = [];\n let unkeyedFinalItem = false;\n for (const item of response?.output?.slice(0, maxParts) ?? []) {\n const summary = messages(item, this.config.contentRecording);\n if (!summary) continue;\n const record = asRecord(item);\n const itemId =\n record?.type === \"function_call\" && typeof record.call_id === \"string\"\n ? `tool:${record.call_id}`\n : typeof record?.id === \"string\"\n ? record.id\n : typeof record?.call_id === \"string\"\n ? record.call_id\n : undefined;\n if (itemId) {\n fallback.delete(itemId);\n if (record?.type === \"message\" && Array.isArray(record.content)) {\n summary.parts = record.content.slice(0, maxParts).flatMap((value, index) => {\n const part = messagePart(value, this.config.contentRecording);\n if (!part) return [];\n const observed = tracked.outputParts.get(`${itemId}:${index}:${part.type}`);\n if (part.content === undefined && observed?.part.content !== undefined) {\n part.content = observed.part.content;\n }\n return [part];\n });\n }\n } else {\n // Final output is authoritative; don't guess identities for items without an ID.\n unkeyedFinalItem = true;\n }\n output.push(summary);\n }\n if (!unkeyedFinalItem) output.push(...fallback.values());\n if (output.length) {\n span.setAttribute(GEN_AI_OUTPUT_MESSAGES, JSON.stringify(output.slice(0, maxParts)));\n }\n }\n\n public close(code: number | undefined, wasClean: boolean, error?: unknown): void {\n if (this.ended) return;\n this.ended = true;\n recordTelemetry(() => {\n const cancelled = asRecord(error)?.code === \"operationCancelled\";\n if (this.connectSpan) {\n if (error && !cancelled) fail(this.connectSpan, error);\n this.connectSpan.end();\n this.connectSpan = undefined;\n }\n for (const tracked of this.responses.values()) {\n this.flushObservedResponse(tracked);\n tracked.span.setAttribute(`${prefix}response.status`, \"interrupted\");\n if (error && !cancelled) fail(tracked.span, error);\n tracked.span.end();\n recordOperationDuration((performance.now() - tracked.started) / 1000, {\n operationName: \"invoke_agent\",\n ...parseEndpoint(this.endpoint),\n responseModel: tracked.model,\n ...(error && !cancelled ? { errorType: \"response_interrupted\" } : {}),\n });\n }\n this.responses.clear();\n this.inputAudioItems.clear();\n this.pendingAudioCommits.items.length = 0;\n this.pendingAudioMessages.items.length = 0;\n this.inputAudioBuffer = undefined;\n if (!this.session) return;\n if (error && !cancelled) fail(this.session.span, error);\n if (cancelled) this.session.span.setAttribute(`${prefix}cancelled`, true);\n if (code !== undefined) this.session.span.setAttribute(`${prefix}close.code`, code);\n this.session.span.setAttribute(`${prefix}close.was_clean`, wasClean);\n this.session.span.setAttribute(`${prefix}input.audio.bytes`, this.inputAudioBytes);\n if (this.untrackedInputItems) {\n this.session.span.setAttribute(`${prefix}input.items.untracked`, this.untrackedInputItems);\n }\n this.session.span.setAttribute(`${prefix}responses.finished`, this.finishedResponses);\n if (this.untrackedResponses) {\n this.session.span.setAttribute(`${prefix}responses.untracked`, this.untrackedResponses);\n }\n this.session.span.setAttribute(`${prefix}connected`, this.connected);\n this.session.span.end();\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiProjectClient.d.ts","sourceRoot":"","sources":["../../src/aiProjectClient.ts"],"names":[],"mappings":"AAIA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAoB,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAOnF,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAoB/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,cAAc,CAAwB;gBAG5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,6BAAkC;
|
|
1
|
+
{"version":3,"file":"aiProjectClient.d.ts","sourceRoot":"","sources":["../../src/aiProjectClient.ts"],"names":[],"mappings":"AAIA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAoB,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAOnF,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAoB/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,cAAc,CAAwB;gBAG5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAC3B,OAAO,GAAE,6BAAkC;IAyC7C,yCAAyC;IACzC,SAAgB,SAAS,EAAE,mBAAmB,CAAC;IAC/C,0CAA0C;IAC1C,SAAgB,UAAU,EAAE,oBAAoB,CAAC;IACjD,uCAAuC;IACvC,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,2CAA2C;IAC3C,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,wCAAwC;IACxC,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C,2CAA2C;IAC3C,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,+CAA+C;IAC/C,SAAgB,eAAe,EAAE,yBAAyB,CAAC;IAC3D,sCAAsC;IACtC,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,yCAAyC;IACzC,SAAgB,SAAS,EAAE,mBAAmB,CAAC;IAC/C;;;OAGG;IAEI,eAAe,CAAC,kBAAkB,CAAC,EAAE,iCAAiC,GAAG,MAAM;IA+DtF;;;OAGG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;CACF"}
|
|
@@ -101,7 +101,7 @@ export class AIProjectClient {
|
|
|
101
101
|
this.connections = _getConnectionsOperations(this._azureScopeClient);
|
|
102
102
|
this.evaluationRules = _getEvaluationRulesOperations(this._azureScopeClient);
|
|
103
103
|
this.agents = _getAgentsOperations(this._azureScopeClient, this._tracingConfig);
|
|
104
|
-
this.beta = _getBetaOperations(this._cognitiveScopeClient, credential, options.endpoint ?? endpoint, resolveRealtimeOptions(options, prefixFromOptions));
|
|
104
|
+
this.beta = _getBetaOperations(this._cognitiveScopeClient, credential, options.endpoint ?? endpoint, resolveRealtimeOptions(options, prefixFromOptions), this._tracingConfig);
|
|
105
105
|
this.telemetry = _getTelemetryOperations(this.connections);
|
|
106
106
|
}
|
|
107
107
|
/** The operation groups for toolboxes */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiProjectClient.js","sourceRoot":"","sources":["../../src/aiProjectClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/* eslint-disable tsdoc/syntax */\n\nimport OpenAI from \"openai\";\nimport { getBearerTokenProvider } from \"@azure/identity\";\nimport type { AIProjectContext, AIProjectClientOptionalParams } from \"./api/index.js\";\nimport { createAIProject } from \"./api/index.js\";\nimport type { AgentsOperations } from \"./classic/agents/index.js\";\nimport { _getAgentsOperations } from \"./classic/agents/index.js\";\nimport type { ToolboxesOperations } from \"./classic/toolboxes/index.js\";\nimport { _getToolboxesOperations } from \"./classic/toolboxes/index.js\";\nimport type { BetaOperations } from \"./classic/beta/index.js\";\nimport { _getBetaOperations } from \"./classic/beta/index.js\";\nimport type { ConnectionsOperations } from \"./classic/connections/index.js\";\nimport { _getConnectionsOperations } from \"./classic/connections/index.js\";\nimport type { DatasetsOperations } from \"./classic/datasets/index.js\";\nimport { _getDatasetsOperations } from \"./classic/datasets/index.js\";\nimport type { DeploymentsOperations } from \"./classic/deployments/index.js\";\nimport { _getDeploymentsOperations } from \"./classic/deployments/index.js\";\nimport type { EvaluationRulesOperations } from \"./classic/evaluationRules/index.js\";\nimport { _getEvaluationRulesOperations } from \"./classic/evaluationRules/index.js\";\nimport type { EvaluatorsOperations } from \"./classic/evaluators/index.js\";\nimport { _getEvaluatorsOperations } from \"./classic/evaluators/index.js\";\nimport type { IndexesOperations } from \"./classic/indexes/index.js\";\nimport { _getIndexesOperations } from \"./classic/indexes/index.js\";\nimport type { TelemetryOperations } from \"./classic/telemetry/index.js\";\nimport { _getTelemetryOperations } from \"./classic/telemetry/index.js\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport { overwriteOpenAIClient } from \"./overwriteOpenAIClient.js\";\nimport { getCustomFetch } from \"#platform/getCustomFetch\";\nimport { getOpenAIDefaultHeaders } from \"./util.js\";\nimport type { OpenAIClientOptionsWithAzureAgent } from \"./azureAgent.interface.js\";\nimport { KnownApiVersions } from \"./models/models.js\";\nimport { getTracingFetch } from \"./tracing/tracingFetch.js\";\nimport { resolveTracingConfig } from \"./tracing/configuration.js\";\nimport type { ResolvedTracingConfig } from \"./tracing/configuration.js\";\nimport type { VoiceAgentRealtimeClientOptions } from \"./realtime/voiceAgentRealtimeClient.js\";\n\nexport type { AIProjectClientOptionalParams } from \"./api/aiProjectContext.js\";\n\n/**\n * Resolves the effective options for the realtime voice-agent client: explicit `realtimeOptions`\n * values win, otherwise each falls back to its corresponding top-level client option so realtime\n * connections stay consistent with the rest of the client by default.\n */\nfunction resolveRealtimeOptions(\n options: AIProjectClientOptionalParams,\n userAgentPrefix: string | undefined,\n): VoiceAgentRealtimeClientOptions {\n const { realtimeOptions } = options;\n return {\n ...realtimeOptions,\n apiVersion: realtimeOptions?.apiVersion ?? options.apiVersion,\n credentialScopes: realtimeOptions?.credentialScopes ?? options.credentials?.scopes,\n userAgentPrefix: realtimeOptions?.userAgentPrefix ?? userAgentPrefix,\n };\n}\n\n/**\n * The main client for the AIProjectClient service. It provides access to the various operations available in the service.\n * @class AIProjectClient\n * @extends {AIProjectContext}\n * @description The main client for the AIProjectClient\n * @constructor\n * @param {string} endpoint - The endpoint to use\n * @param {TokenCredential} credential - The credential to use\n * @param {AIProjectClientOptionalParams} [options] - Optional parameters for the client.\n * @property {DeploymentsOperations} deployments - The operation groups for deployments\n * @property {IndexesOperations} indexes - The operation groups for indexes\n * @property {DatasetsOperations} datasets - The operation groups for datasets\n * @property {ConnectionsOperations} connections - The operation groups for connections\n * @property {AgentsOperations} agents - The operation groups for agents\n * @property {ToolboxesOperations} toolboxes - The operation groups for toolboxes\n * @property {EvaluatorsOperations} evaluators - The operation groups for evaluators\n * @property {BetaOperations} beta - The operation groups for beta include beta features:\n * - Memory Stores\n * - Evaluators\n * - Evaluation Taxonomies\n * - Insights\n * - Schedules\n * - Red Teams\n * - agents\n * - skills\n * - routines\n * - models\n * @property {TelemetryOperations} telemetry - The operation groups for telemetry\n * @property {getEndpointUrl} getEndpointUrl - gets the endpoint of the client\n * @property {getOpenAIClient} getOpenAIClient - gets the OpenAI client with optional OpenAI client options\n */\nexport class AIProjectClient {\n private _cognitiveScopeClient: AIProjectContext;\n private _azureScopeClient: AIProjectContext;\n private _endpoint: string;\n private _credential: TokenCredential;\n private _options: AIProjectClientOptionalParams;\n private _tracingConfig: ResolvedTracingConfig;\n\n constructor(\n endpoint: string,\n credential: TokenCredential,\n options: AIProjectClientOptionalParams = {},\n ) {\n this._endpoint = endpoint;\n this._credential = credential;\n this._options = options;\n this._tracingConfig = resolveTracingConfig(options.tracingOptions);\n const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;\n const userAgentPrefix = prefixFromOptions\n ? `${prefixFromOptions} azsdk-js-client`\n : `azsdk-js-client`;\n this._cognitiveScopeClient = createAIProject(endpoint, this._credential, {\n ...options,\n userAgentOptions: { userAgentPrefix },\n credentials: {\n ...options.credentials,\n scopes: [\"https://ai.azure.com/.default\"],\n },\n });\n this._azureScopeClient = createAIProject(endpoint, credential, {\n ...options,\n userAgentOptions: { userAgentPrefix },\n });\n\n this.toolboxes = _getToolboxesOperations(this._cognitiveScopeClient);\n this.evaluators = _getEvaluatorsOperations(this._cognitiveScopeClient);\n this.indexes = _getIndexesOperations(this._azureScopeClient);\n this.deployments = _getDeploymentsOperations(this._azureScopeClient);\n this.datasets = _getDatasetsOperations(this._azureScopeClient, this._options);\n this.connections = _getConnectionsOperations(this._azureScopeClient);\n this.evaluationRules = _getEvaluationRulesOperations(this._azureScopeClient);\n this.agents = _getAgentsOperations(this._azureScopeClient, this._tracingConfig);\n this.beta = _getBetaOperations(\n this._cognitiveScopeClient,\n credential,\n options.endpoint ?? endpoint,\n resolveRealtimeOptions(options, prefixFromOptions),\n );\n this.telemetry = _getTelemetryOperations(this.connections);\n }\n\n /** The operation groups for toolboxes */\n public readonly toolboxes: ToolboxesOperations;\n /** The operation groups for evaluators */\n public readonly evaluators: EvaluatorsOperations;\n /** The operation groups for indexes */\n public readonly indexes: IndexesOperations;\n /** The operation groups for deployments */\n public readonly deployments: DeploymentsOperations;\n /** The operation groups for datasets */\n public readonly datasets: DatasetsOperations;\n /** The operation groups for connections */\n public readonly connections: ConnectionsOperations;\n /** The operation groups for evaluationRules */\n public readonly evaluationRules: EvaluationRulesOperations;\n /** The operation groups for agents */\n public readonly agents: AgentsOperations;\n /** The operation groups for beta include beta features:\n * - Memory Stores\n * - Evaluators\n * - Evaluation Taxonomies\n * - Insights\n * - Schedules\n * - Red Teams\n * - agents\n * - skills\n * - routines\n * - models\n * - realtime (voice-agent WebSocket connections)\n */\n public readonly beta: BetaOperations;\n /** The operation groups for telemetry */\n public readonly telemetry: TelemetryOperations;\n /**\n * gets the OpenAI client\n * @returns the OpenAI client\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public getOpenAIClient(optsWithAzureAgent?: OpenAIClientOptionsWithAzureAgent): OpenAI {\n const scope = \"https://ai.azure.com/.default\";\n const { azureConfig, ...opts } = optsWithAzureAgent || {};\n let customFetch: NonNullable<ConstructorParameters<typeof OpenAI>[0]>[\"fetch\"];\n\n if (\n this._options.additionalPolicies?.find((policy) => policy.policy.name === \"recording policy\")\n ) {\n customFetch = getCustomFetch(this._azureScopeClient.pipeline, this._options.httpClient);\n }\n\n // Wrap fetch with tracing to inject traceparent/tracestate headers\n customFetch = getTracingFetch(customFetch, this._tracingConfig);\n\n let baseURL: string;\n if (opts?.baseURL) {\n baseURL = opts.baseURL;\n } else if (azureConfig?.agentName) {\n if (!azureConfig.allowPreview) {\n throw new Error(\n \"Calling `getOpenAIClient` with an `agentName` requires you to set `allowPreview: true`\" +\n \"\\nwhen providing azureConfig. Note that preview features are under development and \" +\n \"\\nsubject to change. They should not be used in production environments.\",\n );\n }\n baseURL = `${this._endpoint}/agents/${azureConfig.agentName}/endpoint/protocols/openai`;\n } else {\n baseURL = `${this._endpoint}/openai/v1`;\n }\n\n const defaultHeaders = getOpenAIDefaultHeaders(\n opts?.defaultHeaders,\n this._options?.userAgentOptions?.userAgentPrefix,\n );\n\n // When targeting an agent endpoint, add api-version to defaultQuery if not already present\n const defaultQuery = {\n ...(opts?.defaultQuery || {}),\n };\n if (azureConfig?.agentName && !defaultQuery[\"api-version\"]) {\n defaultQuery[\"api-version\"] = this._options.apiVersion ?? KnownApiVersions.v1;\n }\n\n // Destructure opts to exclude defaultHeaders, baseURL, and defaultQuery, then override specific properties\n const {\n defaultHeaders: _ignoredHeaders,\n baseURL: _ignoredBaseURL,\n defaultQuery: _ignoredQuery,\n ...restOpts\n } = opts || {};\n const openAIOptions: ConstructorParameters<typeof OpenAI>[0] = {\n ...restOpts,\n apiKey: getBearerTokenProvider(this._credential, scope),\n baseURL,\n dangerouslyAllowBrowser: true,\n defaultHeaders: defaultHeaders.toJSON({ preserveCase: true }),\n defaultQuery: Object.keys(defaultQuery).length > 0 ? defaultQuery : undefined,\n fetch: customFetch,\n };\n\n const openaiClient = new OpenAI(openAIOptions);\n return overwriteOpenAIClient(openaiClient, this._endpoint, this._tracingConfig);\n }\n /**\n * gets the endpoint of the client\n * @returns the endpoint of the client\n */\n public get endpoint(): string {\n return this._endpoint;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"aiProjectClient.js","sourceRoot":"","sources":["../../src/aiProjectClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/* eslint-disable tsdoc/syntax */\n\nimport OpenAI from \"openai\";\nimport { getBearerTokenProvider } from \"@azure/identity\";\nimport type { AIProjectContext, AIProjectClientOptionalParams } from \"./api/index.js\";\nimport { createAIProject } from \"./api/index.js\";\nimport type { AgentsOperations } from \"./classic/agents/index.js\";\nimport { _getAgentsOperations } from \"./classic/agents/index.js\";\nimport type { ToolboxesOperations } from \"./classic/toolboxes/index.js\";\nimport { _getToolboxesOperations } from \"./classic/toolboxes/index.js\";\nimport type { BetaOperations } from \"./classic/beta/index.js\";\nimport { _getBetaOperations } from \"./classic/beta/index.js\";\nimport type { ConnectionsOperations } from \"./classic/connections/index.js\";\nimport { _getConnectionsOperations } from \"./classic/connections/index.js\";\nimport type { DatasetsOperations } from \"./classic/datasets/index.js\";\nimport { _getDatasetsOperations } from \"./classic/datasets/index.js\";\nimport type { DeploymentsOperations } from \"./classic/deployments/index.js\";\nimport { _getDeploymentsOperations } from \"./classic/deployments/index.js\";\nimport type { EvaluationRulesOperations } from \"./classic/evaluationRules/index.js\";\nimport { _getEvaluationRulesOperations } from \"./classic/evaluationRules/index.js\";\nimport type { EvaluatorsOperations } from \"./classic/evaluators/index.js\";\nimport { _getEvaluatorsOperations } from \"./classic/evaluators/index.js\";\nimport type { IndexesOperations } from \"./classic/indexes/index.js\";\nimport { _getIndexesOperations } from \"./classic/indexes/index.js\";\nimport type { TelemetryOperations } from \"./classic/telemetry/index.js\";\nimport { _getTelemetryOperations } from \"./classic/telemetry/index.js\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport { overwriteOpenAIClient } from \"./overwriteOpenAIClient.js\";\nimport { getCustomFetch } from \"#platform/getCustomFetch\";\nimport { getOpenAIDefaultHeaders } from \"./util.js\";\nimport type { OpenAIClientOptionsWithAzureAgent } from \"./azureAgent.interface.js\";\nimport { KnownApiVersions } from \"./models/models.js\";\nimport { getTracingFetch } from \"./tracing/tracingFetch.js\";\nimport { resolveTracingConfig } from \"./tracing/configuration.js\";\nimport type { ResolvedTracingConfig } from \"./tracing/configuration.js\";\nimport type { VoiceAgentRealtimeClientOptions } from \"./realtime/voiceAgentRealtimeClient.js\";\n\nexport type { AIProjectClientOptionalParams } from \"./api/aiProjectContext.js\";\n\n/**\n * Resolves the effective options for the realtime voice-agent client: explicit `realtimeOptions`\n * values win, otherwise each falls back to its corresponding top-level client option so realtime\n * connections stay consistent with the rest of the client by default.\n */\nfunction resolveRealtimeOptions(\n options: AIProjectClientOptionalParams,\n userAgentPrefix: string | undefined,\n): VoiceAgentRealtimeClientOptions {\n const { realtimeOptions } = options;\n return {\n ...realtimeOptions,\n apiVersion: realtimeOptions?.apiVersion ?? options.apiVersion,\n credentialScopes: realtimeOptions?.credentialScopes ?? options.credentials?.scopes,\n userAgentPrefix: realtimeOptions?.userAgentPrefix ?? userAgentPrefix,\n };\n}\n\n/**\n * The main client for the AIProjectClient service. It provides access to the various operations available in the service.\n * @class AIProjectClient\n * @extends {AIProjectContext}\n * @description The main client for the AIProjectClient\n * @constructor\n * @param {string} endpoint - The endpoint to use\n * @param {TokenCredential} credential - The credential to use\n * @param {AIProjectClientOptionalParams} [options] - Optional parameters for the client.\n * @property {DeploymentsOperations} deployments - The operation groups for deployments\n * @property {IndexesOperations} indexes - The operation groups for indexes\n * @property {DatasetsOperations} datasets - The operation groups for datasets\n * @property {ConnectionsOperations} connections - The operation groups for connections\n * @property {AgentsOperations} agents - The operation groups for agents\n * @property {ToolboxesOperations} toolboxes - The operation groups for toolboxes\n * @property {EvaluatorsOperations} evaluators - The operation groups for evaluators\n * @property {BetaOperations} beta - The operation groups for beta include beta features:\n * - Memory Stores\n * - Evaluators\n * - Evaluation Taxonomies\n * - Insights\n * - Schedules\n * - Red Teams\n * - agents\n * - skills\n * - routines\n * - models\n * @property {TelemetryOperations} telemetry - The operation groups for telemetry\n * @property {getEndpointUrl} getEndpointUrl - gets the endpoint of the client\n * @property {getOpenAIClient} getOpenAIClient - gets the OpenAI client with optional OpenAI client options\n */\nexport class AIProjectClient {\n private _cognitiveScopeClient: AIProjectContext;\n private _azureScopeClient: AIProjectContext;\n private _endpoint: string;\n private _credential: TokenCredential;\n private _options: AIProjectClientOptionalParams;\n private _tracingConfig: ResolvedTracingConfig;\n\n constructor(\n endpoint: string,\n credential: TokenCredential,\n options: AIProjectClientOptionalParams = {},\n ) {\n this._endpoint = endpoint;\n this._credential = credential;\n this._options = options;\n this._tracingConfig = resolveTracingConfig(options.tracingOptions);\n const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;\n const userAgentPrefix = prefixFromOptions\n ? `${prefixFromOptions} azsdk-js-client`\n : `azsdk-js-client`;\n this._cognitiveScopeClient = createAIProject(endpoint, this._credential, {\n ...options,\n userAgentOptions: { userAgentPrefix },\n credentials: {\n ...options.credentials,\n scopes: [\"https://ai.azure.com/.default\"],\n },\n });\n this._azureScopeClient = createAIProject(endpoint, credential, {\n ...options,\n userAgentOptions: { userAgentPrefix },\n });\n\n this.toolboxes = _getToolboxesOperations(this._cognitiveScopeClient);\n this.evaluators = _getEvaluatorsOperations(this._cognitiveScopeClient);\n this.indexes = _getIndexesOperations(this._azureScopeClient);\n this.deployments = _getDeploymentsOperations(this._azureScopeClient);\n this.datasets = _getDatasetsOperations(this._azureScopeClient, this._options);\n this.connections = _getConnectionsOperations(this._azureScopeClient);\n this.evaluationRules = _getEvaluationRulesOperations(this._azureScopeClient);\n this.agents = _getAgentsOperations(this._azureScopeClient, this._tracingConfig);\n this.beta = _getBetaOperations(\n this._cognitiveScopeClient,\n credential,\n options.endpoint ?? endpoint,\n resolveRealtimeOptions(options, prefixFromOptions),\n this._tracingConfig,\n );\n this.telemetry = _getTelemetryOperations(this.connections);\n }\n\n /** The operation groups for toolboxes */\n public readonly toolboxes: ToolboxesOperations;\n /** The operation groups for evaluators */\n public readonly evaluators: EvaluatorsOperations;\n /** The operation groups for indexes */\n public readonly indexes: IndexesOperations;\n /** The operation groups for deployments */\n public readonly deployments: DeploymentsOperations;\n /** The operation groups for datasets */\n public readonly datasets: DatasetsOperations;\n /** The operation groups for connections */\n public readonly connections: ConnectionsOperations;\n /** The operation groups for evaluationRules */\n public readonly evaluationRules: EvaluationRulesOperations;\n /** The operation groups for agents */\n public readonly agents: AgentsOperations;\n /** The operation groups for beta include beta features:\n * - Memory Stores\n * - Evaluators\n * - Evaluation Taxonomies\n * - Insights\n * - Schedules\n * - Red Teams\n * - agents\n * - skills\n * - routines\n * - models\n * - realtime (voice-agent WebSocket connections)\n */\n public readonly beta: BetaOperations;\n /** The operation groups for telemetry */\n public readonly telemetry: TelemetryOperations;\n /**\n * gets the OpenAI client\n * @returns the OpenAI client\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public getOpenAIClient(optsWithAzureAgent?: OpenAIClientOptionsWithAzureAgent): OpenAI {\n const scope = \"https://ai.azure.com/.default\";\n const { azureConfig, ...opts } = optsWithAzureAgent || {};\n let customFetch: NonNullable<ConstructorParameters<typeof OpenAI>[0]>[\"fetch\"];\n\n if (\n this._options.additionalPolicies?.find((policy) => policy.policy.name === \"recording policy\")\n ) {\n customFetch = getCustomFetch(this._azureScopeClient.pipeline, this._options.httpClient);\n }\n\n // Wrap fetch with tracing to inject traceparent/tracestate headers\n customFetch = getTracingFetch(customFetch, this._tracingConfig);\n\n let baseURL: string;\n if (opts?.baseURL) {\n baseURL = opts.baseURL;\n } else if (azureConfig?.agentName) {\n if (!azureConfig.allowPreview) {\n throw new Error(\n \"Calling `getOpenAIClient` with an `agentName` requires you to set `allowPreview: true`\" +\n \"\\nwhen providing azureConfig. Note that preview features are under development and \" +\n \"\\nsubject to change. They should not be used in production environments.\",\n );\n }\n baseURL = `${this._endpoint}/agents/${azureConfig.agentName}/endpoint/protocols/openai`;\n } else {\n baseURL = `${this._endpoint}/openai/v1`;\n }\n\n const defaultHeaders = getOpenAIDefaultHeaders(\n opts?.defaultHeaders,\n this._options?.userAgentOptions?.userAgentPrefix,\n );\n\n // When targeting an agent endpoint, add api-version to defaultQuery if not already present\n const defaultQuery = {\n ...(opts?.defaultQuery || {}),\n };\n if (azureConfig?.agentName && !defaultQuery[\"api-version\"]) {\n defaultQuery[\"api-version\"] = this._options.apiVersion ?? KnownApiVersions.v1;\n }\n\n // Destructure opts to exclude defaultHeaders, baseURL, and defaultQuery, then override specific properties\n const {\n defaultHeaders: _ignoredHeaders,\n baseURL: _ignoredBaseURL,\n defaultQuery: _ignoredQuery,\n ...restOpts\n } = opts || {};\n const openAIOptions: ConstructorParameters<typeof OpenAI>[0] = {\n ...restOpts,\n apiKey: getBearerTokenProvider(this._credential, scope),\n baseURL,\n dangerouslyAllowBrowser: true,\n defaultHeaders: defaultHeaders.toJSON({ preserveCase: true }),\n defaultQuery: Object.keys(defaultQuery).length > 0 ? defaultQuery : undefined,\n fetch: customFetch,\n };\n\n const openaiClient = new OpenAI(openAIOptions);\n return overwriteOpenAIClient(openaiClient, this._endpoint, this._tracingConfig);\n }\n /**\n * gets the endpoint of the client\n * @returns the endpoint of the client\n */\n public get endpoint(): string {\n return this._endpoint;\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AIProjectContext } from "../../../api/aiProjectContext.js";
|
|
2
2
|
import type { Agent, GenerateAgentRequest } from "../../../models/models.js";
|
|
3
3
|
import type { BetaAgentsCreateFromPromptOptionalParams } from "../../../api/beta/agents/options.js";
|
|
4
|
+
import type { ResolvedTracingConfig } from "../../../tracing/configuration.js";
|
|
4
5
|
/** Operations for managing agents. */
|
|
5
6
|
export interface BetaAgentsOperations {
|
|
6
7
|
/**
|
|
@@ -9,5 +10,5 @@ export interface BetaAgentsOperations {
|
|
|
9
10
|
*/
|
|
10
11
|
createFromPrompt: (body: GenerateAgentRequest, options?: BetaAgentsCreateFromPromptOptionalParams) => Promise<Agent>;
|
|
11
12
|
}
|
|
12
|
-
export declare function _getBetaAgentsOperations(context: AIProjectContext): BetaAgentsOperations;
|
|
13
|
+
export declare function _getBetaAgentsOperations(context: AIProjectContext, tracingConfig?: ResolvedTracingConfig): BetaAgentsOperations;
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/classic/beta/agents/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/classic/beta/agents/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,qCAAqC,CAAC;AAEpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,gBAAgB,EAAE,CAChB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,wCAAwC,KAC/C,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,aAAa,CAAC,EAAE,qBAAqB,GACpC,oBAAoB,CActB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { createFromPrompt } from "../../../api/beta/agents/operations.js";
|
|
4
|
-
|
|
4
|
+
import { traceVoiceAgentOperation } from "../../../tracing/voiceAgentTracing.js";
|
|
5
|
+
export function _getBetaAgentsOperations(context, tracingConfig) {
|
|
5
6
|
return {
|
|
6
|
-
createFromPrompt: (body, options) => createFromPrompt(context, body, options),
|
|
7
|
+
createFromPrompt: (body, options) => traceVoiceAgentOperation("create_agent", context.endpoint, tracingConfig, () => createFromPrompt(context, body, options), (agent) => ({ "gen_ai.agent.name": agent.name, "gen_ai.agent.id": agent.id })),
|
|
7
8
|
};
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/classic/beta/agents/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/classic/beta/agents/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAcjF,MAAM,UAAU,wBAAwB,CACtC,OAAyB,EACzB,aAAqC;IAErC,OAAO;QACL,gBAAgB,EAAE,CAChB,IAA0B,EAC1B,OAAkD,EAClD,EAAE,CACF,wBAAwB,CACtB,cAAc,EACd,OAAO,CAAC,QAAQ,EAChB,aAAa,EACb,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC9E;KACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AIProjectContext } from \"../../../api/aiProjectContext.js\";\nimport type { Agent, GenerateAgentRequest } from \"../../../models/models.js\";\nimport type { BetaAgentsCreateFromPromptOptionalParams } from \"../../../api/beta/agents/options.js\";\nimport { createFromPrompt } from \"../../../api/beta/agents/operations.js\";\nimport type { ResolvedTracingConfig } from \"../../../tracing/configuration.js\";\nimport { traceVoiceAgentOperation } from \"../../../tracing/voiceAgentTracing.js\";\n\n/** Operations for managing agents. */\nexport interface BetaAgentsOperations {\n /**\n * Generates and creates an agent from kind-specific high-level inputs.\n * The generated definition remains fully editable through the standard agent versioning operations.\n */\n createFromPrompt: (\n body: GenerateAgentRequest,\n options?: BetaAgentsCreateFromPromptOptionalParams,\n ) => Promise<Agent>;\n}\n\nexport function _getBetaAgentsOperations(\n context: AIProjectContext,\n tracingConfig?: ResolvedTracingConfig,\n): BetaAgentsOperations {\n return {\n createFromPrompt: (\n body: GenerateAgentRequest,\n options?: BetaAgentsCreateFromPromptOptionalParams,\n ) =>\n traceVoiceAgentOperation(\n \"create_agent\",\n context.endpoint,\n tracingConfig,\n () => createFromPrompt(context, body, options),\n (agent) => ({ \"gen_ai.agent.name\": agent.name, \"gen_ai.agent.id\": agent.id }),\n ),\n };\n}\n"]}
|
|
@@ -13,6 +13,7 @@ import type { BetaRoutinesOperations } from "./routines/index.js";
|
|
|
13
13
|
import type { BetaSchedulesOperations } from "./schedules/index.js";
|
|
14
14
|
import type { BetaVoiceAgentsOperations } from "./voiceAgents/index.js";
|
|
15
15
|
import type { VoiceAgentRealtimeClientOptions } from "../../realtime/voiceAgentRealtimeClient.js";
|
|
16
|
+
import type { ResolvedTracingConfig } from "../../tracing/configuration.js";
|
|
16
17
|
/** Interface representing a Beta operations. */
|
|
17
18
|
export interface BetaOperations {
|
|
18
19
|
/** Operations for managing skills. */
|
|
@@ -40,5 +41,5 @@ export interface BetaOperations {
|
|
|
40
41
|
/** Operations for managing voice agent conversations and telephony. */
|
|
41
42
|
voiceAgents: BetaVoiceAgentsOperations;
|
|
42
43
|
}
|
|
43
|
-
export declare function _getBetaOperations(context: AIProjectContext, credential: TokenCredential, endpoint: string, realtimeOptions?: VoiceAgentRealtimeClientOptions): BetaOperations;
|
|
44
|
+
export declare function _getBetaOperations(context: AIProjectContext, credential: TokenCredential, endpoint: string, realtimeOptions?: VoiceAgentRealtimeClientOptions, tracingConfig?: ResolvedTracingConfig): BetaOperations;
|
|
44
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/classic/beta/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/classic/beta/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,yCAAyC;IACzC,SAAS,EAAE,uBAAuB,CAAC;IACnC,wCAAwC;IACxC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,oDAAoD;IACpD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,sCAAsC;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,6CAA6C;IAC7C,YAAY,EAAE,0BAA0B,CAAC;IACzC,mDAAmD;IACnD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,0CAA0C;IAC1C,UAAU,EAAE,wBAAwB,CAAC;IACrC,qDAAqD;IACrD,oBAAoB,EAAE,kCAAkC,CAAC;IACzD,sCAAsC;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,uDAAuD;IACvD,oBAAoB,EAAE,kCAAkC,CAAC;IACzD,uEAAuE;IACvE,WAAW,EAAE,yBAAyB,CAAC;CACxC;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,+BAA+B,EACjD,aAAa,CAAC,EAAE,qBAAqB,GACpC,cAAc,CAiChB"}
|
|
@@ -12,7 +12,7 @@ import { _getBetaRedTeamsOperations } from "./redTeams/index.js";
|
|
|
12
12
|
import { _getBetaRoutinesOperations } from "./routines/index.js";
|
|
13
13
|
import { _getBetaSchedulesOperations } from "./schedules/index.js";
|
|
14
14
|
import { _getBetaVoiceAgentsOperations } from "./voiceAgents/index.js";
|
|
15
|
-
export function _getBetaOperations(context, credential, endpoint, realtimeOptions) {
|
|
15
|
+
export function _getBetaOperations(context, credential, endpoint, realtimeOptions, tracingConfig) {
|
|
16
16
|
return {
|
|
17
17
|
/** Operations for managing skills. */
|
|
18
18
|
skills: _getBetaSkillsOperations(context),
|
|
@@ -33,11 +33,11 @@ export function _getBetaOperations(context, credential, endpoint, realtimeOption
|
|
|
33
33
|
/** Operations for managing evaluation taxonomies. */
|
|
34
34
|
evaluationTaxonomies: _getBetaEvaluationTaxonomiesOperations(context),
|
|
35
35
|
/** Operations for managing agents. */
|
|
36
|
-
agents: _getBetaAgentsOperations(context),
|
|
36
|
+
agents: _getBetaAgentsOperations(context, tracingConfig),
|
|
37
37
|
/** Operations for managing Agent Insights monitors. */
|
|
38
38
|
agentInsightMonitors: _getBetaAgentInsightMonitorsOperations(context),
|
|
39
39
|
/** Operations for managing voice agent conversations and telephony. */
|
|
40
|
-
voiceAgents: _getBetaVoiceAgentsOperations(context, credential, endpoint, realtimeOptions),
|
|
40
|
+
voiceAgents: _getBetaVoiceAgentsOperations(context, credential, endpoint, realtimeOptions, tracingConfig),
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/classic/beta/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/classic/beta/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAgCvE,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,UAA2B,EAC3B,QAAgB,EAChB,eAAiD,EACjD,aAAqC;IAErC,OAAO;QACL,sCAAsC;QACtC,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC;QACzC,yCAAyC;QACzC,SAAS,EAAE,2BAA2B,CAAC,OAAO,CAAC;QAC/C,wCAAwC;QACxC,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC;QAC7C,oDAAoD;QACpD,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC;QAC7C,sCAAsC;QACtC,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC;QACzC,6CAA6C;QAC7C,YAAY,EAAE,8BAA8B,CAAC,OAAO,CAAC;QACrD,mDAAmD;QACnD,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC;QAC7C,0CAA0C;QAC1C,UAAU,EAAE,4BAA4B,CAAC,OAAO,CAAC;QACjD,qDAAqD;QACrD,oBAAoB,EAAE,sCAAsC,CAAC,OAAO,CAAC;QACrE,sCAAsC;QACtC,MAAM,EAAE,wBAAwB,CAAC,OAAO,EAAE,aAAa,CAAC;QACxD,uDAAuD;QACvD,oBAAoB,EAAE,sCAAsC,CAAC,OAAO,CAAC;QACrE,uEAAuE;QACvE,WAAW,EAAE,6BAA6B,CACxC,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EACf,aAAa,CACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AIProjectContext } from \"../../api/aiProjectContext.js\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { BetaAgentInsightMonitorsOperations } from \"./agentInsightMonitors/index.js\";\nimport { _getBetaAgentInsightMonitorsOperations } from \"./agentInsightMonitors/index.js\";\nimport type { BetaAgentsOperations } from \"./agents/index.js\";\nimport { _getBetaAgentsOperations } from \"./agents/index.js\";\nimport type { BetaSkillsOperations } from \"./skills/index.js\";\nimport { _getBetaSkillsOperations } from \"./skills/index.js\";\nimport type { BetaEvaluationTaxonomiesOperations } from \"./evaluationTaxonomies/index.js\";\nimport { _getBetaEvaluationTaxonomiesOperations } from \"./evaluationTaxonomies/index.js\";\nimport type { BetaEvaluatorsOperations } from \"./evaluators/index.js\";\nimport { _getBetaEvaluatorsOperations } from \"./evaluators/index.js\";\nimport type { BetaInsightsOperations } from \"./insights/index.js\";\nimport { _getBetaInsightsOperations } from \"./insights/index.js\";\nimport type { BetaMemoryStoresOperations } from \"./memoryStores/index.js\";\nimport { _getBetaMemoryStoresOperations } from \"./memoryStores/index.js\";\nimport type { BetaModelsOperations } from \"./models/index.js\";\nimport { _getBetaModelsOperations } from \"./models/index.js\";\nimport type { BetaRedTeamsOperations } from \"./redTeams/index.js\";\nimport { _getBetaRedTeamsOperations } from \"./redTeams/index.js\";\nimport type { BetaRoutinesOperations } from \"./routines/index.js\";\nimport { _getBetaRoutinesOperations } from \"./routines/index.js\";\nimport type { BetaSchedulesOperations } from \"./schedules/index.js\";\nimport { _getBetaSchedulesOperations } from \"./schedules/index.js\";\nimport type { BetaVoiceAgentsOperations } from \"./voiceAgents/index.js\";\nimport { _getBetaVoiceAgentsOperations } from \"./voiceAgents/index.js\";\nimport type { VoiceAgentRealtimeClientOptions } from \"../../realtime/voiceAgentRealtimeClient.js\";\nimport type { ResolvedTracingConfig } from \"../../tracing/configuration.js\";\n\n/** Interface representing a Beta operations. */\nexport interface BetaOperations {\n /** Operations for managing skills. */\n skills: BetaSkillsOperations;\n /** Operations for managing schedules. */\n schedules: BetaSchedulesOperations;\n /** Operations for managing routines. */\n routines: BetaRoutinesOperations;\n /** Operations for managing red team evaluations. */\n redTeams: BetaRedTeamsOperations;\n /** Operations for managing models. */\n models: BetaModelsOperations;\n /** Operations for managing memory stores. */\n memoryStores: BetaMemoryStoresOperations;\n /** Operations for managing evaluation insights. */\n insights: BetaInsightsOperations;\n /** Operations for managing evaluators. */\n evaluators: BetaEvaluatorsOperations;\n /** Operations for managing evaluation taxonomies. */\n evaluationTaxonomies: BetaEvaluationTaxonomiesOperations;\n /** Operations for managing agents. */\n agents: BetaAgentsOperations;\n /** Operations for managing Agent Insights monitors. */\n agentInsightMonitors: BetaAgentInsightMonitorsOperations;\n /** Operations for managing voice agent conversations and telephony. */\n voiceAgents: BetaVoiceAgentsOperations;\n}\n\nexport function _getBetaOperations(\n context: AIProjectContext,\n credential: TokenCredential,\n endpoint: string,\n realtimeOptions?: VoiceAgentRealtimeClientOptions,\n tracingConfig?: ResolvedTracingConfig,\n): BetaOperations {\n return {\n /** Operations for managing skills. */\n skills: _getBetaSkillsOperations(context),\n /** Operations for managing schedules. */\n schedules: _getBetaSchedulesOperations(context),\n /** Operations for managing routines. */\n routines: _getBetaRoutinesOperations(context),\n /** Operations for managing red team evaluations. */\n redTeams: _getBetaRedTeamsOperations(context),\n /** Operations for managing models. */\n models: _getBetaModelsOperations(context),\n /** Operations for managing memory stores. */\n memoryStores: _getBetaMemoryStoresOperations(context),\n /** Operations for managing evaluation insights. */\n insights: _getBetaInsightsOperations(context),\n /** Operations for managing evaluators. */\n evaluators: _getBetaEvaluatorsOperations(context),\n /** Operations for managing evaluation taxonomies. */\n evaluationTaxonomies: _getBetaEvaluationTaxonomiesOperations(context),\n /** Operations for managing agents. */\n agents: _getBetaAgentsOperations(context, tracingConfig),\n /** Operations for managing Agent Insights monitors. */\n agentInsightMonitors: _getBetaAgentInsightMonitorsOperations(context),\n /** Operations for managing voice agent conversations and telephony. */\n voiceAgents: _getBetaVoiceAgentsOperations(\n context,\n credential,\n endpoint,\n realtimeOptions,\n tracingConfig,\n ),\n };\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import type { AIProjectContext } from "../../../../api/aiProjectContext.js";
|
|
|
2
2
|
import type { BetaVoiceAgentsConversationsDownloadAudioOptionalParams, BetaVoiceAgentsConversationsGetAudioOptionalParams, BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams, BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams, BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams, BetaVoiceAgentsConversationsGetAudioItemOptionalParams, BetaVoiceAgentsConversationsGetItemOptionalParams, BetaVoiceAgentsConversationsListItemsOptionalParams, BetaVoiceAgentsConversationsListResponseItemsOptionalParams, BetaVoiceAgentsConversationsGetResponseOptionalParams, BetaVoiceAgentsConversationsListResponsesOptionalParams, BetaVoiceAgentsConversationsDeleteOptionalParams, BetaVoiceAgentsConversationsGetOptionalParams, BetaVoiceAgentsConversationsListOptionalParams } from "../../../../api/beta/voiceAgents/conversations/options.js";
|
|
3
3
|
import type { VoiceConversation, VoiceResponse, RealtimeConversationItemUnion, VoiceAudioItem, VoiceGeneratedAudioItem, VoiceRecording, BetaVoiceAgentsConversationsDownloadAudioResponse, BetaVoiceAgentsConversationsDownloadGeneratedAudioItemResponse, BetaVoiceAgentsConversationsDownloadAudioItemResponse } from "../../../../models/models.js";
|
|
4
4
|
import type { PagedAsyncIterableIterator } from "@azure/core-paging";
|
|
5
|
+
import type { ResolvedTracingConfig } from "../../../../tracing/configuration.js";
|
|
5
6
|
/** Operations for managing voice agent conversations. */
|
|
6
7
|
export interface BetaVoiceAgentsConversationsOperations {
|
|
7
8
|
/**
|
|
@@ -111,5 +112,5 @@ export interface BetaVoiceAgentsConversationsOperations {
|
|
|
111
112
|
*/
|
|
112
113
|
list: (agentName: string, options?: BetaVoiceAgentsConversationsListOptionalParams) => PagedAsyncIterableIterator<VoiceConversation>;
|
|
113
114
|
}
|
|
114
|
-
export declare function _getBetaVoiceAgentsConversationsOperations(context: AIProjectContext): BetaVoiceAgentsConversationsOperations;
|
|
115
|
+
export declare function _getBetaVoiceAgentsConversationsOperations(context: AIProjectContext, tracingConfig?: ResolvedTracingConfig): BetaVoiceAgentsConversationsOperations;
|
|
115
116
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/classic/beta/voiceAgents/conversations/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAiB5E,OAAO,KAAK,EACV,uDAAuD,EACvD,kDAAkD,EAClD,oEAAoE,EACpE,+DAA+D,EAC/D,2DAA2D,EAC3D,sDAAsD,EACtD,iDAAiD,EACjD,mDAAmD,EACnD,2DAA2D,EAC3D,qDAAqD,EACrD,uDAAuD,EACvD,gDAAgD,EAChD,6CAA6C,EAC7C,8CAA8C,EAC/C,MAAM,2DAA2D,CAAC;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,6BAA6B,EAC7B,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,iDAAiD,EACjD,8DAA8D,EAC9D,qDAAqD,EACtD,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/classic/beta/voiceAgents/conversations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { downloadAudio, getAudio, downloadGeneratedAudioItem, getGeneratedAudioItem, downloadAudioItem, getAudioItem, getItem, listItems, listResponseItems, getResponse, listResponses, $delete, get, list, } from "../../../../api/beta/voiceAgents/conversations/operations.js";
|
|
4
|
-
|
|
4
|
+
import { traceVoiceAgentOperation } from "../../../../tracing/voiceAgentTracing.js";
|
|
5
|
+
function _getBetaVoiceAgentsConversations(context, tracingConfig) {
|
|
5
6
|
return {
|
|
6
7
|
downloadAudio: (agentName, conversationId, options) => downloadAudio(context, agentName, conversationId, options),
|
|
7
8
|
getAudio: (agentName, conversationId, options) => getAudio(context, agentName, conversationId, options),
|
|
@@ -14,12 +15,12 @@ function _getBetaVoiceAgentsConversations(context) {
|
|
|
14
15
|
listResponseItems: (agentName, conversationId, responseId, options) => listResponseItems(context, agentName, conversationId, responseId, options),
|
|
15
16
|
getResponse: (agentName, conversationId, responseId, options) => getResponse(context, agentName, conversationId, responseId, options),
|
|
16
17
|
listResponses: (agentName, conversationId, options) => listResponses(context, agentName, conversationId, options),
|
|
17
|
-
delete: (agentName, conversationId, options) => $delete(context, agentName, conversationId, options),
|
|
18
|
+
delete: (agentName, conversationId, options) => traceVoiceAgentOperation("voice_agents.conversations.delete", context.endpoint, tracingConfig, () => $delete(context, agentName, conversationId, options)),
|
|
18
19
|
get: (agentName, conversationId, options) => get(context, agentName, conversationId, options),
|
|
19
20
|
list: (agentName, options) => list(context, agentName, options),
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
|
-
export function _getBetaVoiceAgentsConversationsOperations(context) {
|
|
23
|
-
return { ..._getBetaVoiceAgentsConversations(context) };
|
|
23
|
+
export function _getBetaVoiceAgentsConversationsOperations(context, tracingConfig) {
|
|
24
|
+
return { ..._getBetaVoiceAgentsConversations(context, tracingConfig) };
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/classic/beta/voiceAgents/conversations/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AIProjectContext } from \"../../../../api/aiProjectContext.js\";\nimport {\n downloadAudio,\n getAudio,\n downloadGeneratedAudioItem,\n getGeneratedAudioItem,\n downloadAudioItem,\n getAudioItem,\n getItem,\n listItems,\n listResponseItems,\n getResponse,\n listResponses,\n $delete,\n get,\n list,\n} from \"../../../../api/beta/voiceAgents/conversations/operations.js\";\nimport type {\n BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n BetaVoiceAgentsConversationsGetAudioOptionalParams,\n BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetItemOptionalParams,\n BetaVoiceAgentsConversationsListItemsOptionalParams,\n BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n BetaVoiceAgentsConversationsGetResponseOptionalParams,\n BetaVoiceAgentsConversationsListResponsesOptionalParams,\n BetaVoiceAgentsConversationsDeleteOptionalParams,\n BetaVoiceAgentsConversationsGetOptionalParams,\n BetaVoiceAgentsConversationsListOptionalParams,\n} from \"../../../../api/beta/voiceAgents/conversations/options.js\";\nimport type {\n VoiceConversation,\n VoiceResponse,\n RealtimeConversationItemUnion,\n VoiceAudioItem,\n VoiceGeneratedAudioItem,\n VoiceRecording,\n BetaVoiceAgentsConversationsDownloadAudioResponse,\n BetaVoiceAgentsConversationsDownloadGeneratedAudioItemResponse,\n BetaVoiceAgentsConversationsDownloadAudioItemResponse,\n} from \"../../../../models/models.js\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\n/** Operations for managing voice agent conversations. */\nexport interface BetaVoiceAgentsConversationsOperations {\n /**\n * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service\n * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)\n * recordings the bytes are not proxied — the caller must download directly from customer storage using the\n * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.\n * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with\n * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the\n * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.\n * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation\n * without persisted audio (`store = false`) returns `404`.\n */\n downloadAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadAudioResponse>;\n /**\n * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio\n * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned\n * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally\n * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads\n * with their own credentials. The recording is built once from the per-turn segments after persistence\n * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`\n * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the\n * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.\n * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the\n * conversation to have persisted audio (`store = true`); otherwise returns `404`.\n */\n getAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetAudioOptionalParams,\n ) => Promise<VoiceRecording>;\n /**\n * Streams a conversation item's generated audio as a WAV (`audio/wav`) byte stream through the service. This\n * subordinate artifact exists only when playback was interrupted and the service rendered more audio than the\n * listener heard, including when the response ends as cancelled. This route serves Foundry-managed storage only.\n * For bring-your-own-storage (BYOS) recordings the bytes are not proxied, so this route returns `409 Conflict`.\n * Returns `404` when the conversation or item was not persisted, or when no generated audio exists beyond the\n * heard segment.\n */\n downloadGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadGeneratedAudioItemResponse>;\n /**\n * Returns metadata for a conversation item's generated audio. This subordinate artifact is separate from the\n * canonical heard-audio segment and exists only when playback was interrupted and the service rendered more audio\n * than the listener heard, including when the response ends as cancelled. Returns `404` when the conversation or\n * item was not persisted, or when no generated audio exists beyond the heard segment.\n */\n getGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n ) => Promise<VoiceGeneratedAudioItem>;\n /**\n * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS\n * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the\n * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`\n * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.\n * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).\n */\n downloadAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadAudioItemResponse>;\n /**\n * Returns metadata for a single conversation item's audio segment, including the common playback facts\n * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and\n * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI\n * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.\n * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,\n * item, or its audio was not persisted.\n */\n getAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n ) => Promise<VoiceAudioItem>;\n /**\n * Retrieves a single item from the specified conversation by its id, including its transcript. An\n * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item\n * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by\n * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted\n * (`store = false`).\n */\n getItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetItemOptionalParams,\n ) => Promise<RealtimeConversationItemUnion>;\n /**\n * Returns a paged collection of items — the complete ordered conversation history, including user input,\n * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the\n * conversation was not persisted (`store = false`).\n */\n listItems: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListItemsOptionalParams,\n ) => PagedAsyncIterableIterator<RealtimeConversationItemUnion>;\n /**\n * Returns a paged collection of the output items produced by a specific response (the response's output\n * projection). For the complete ordered conversation history — including user input and client-created\n * tool outputs — use the conversation items route instead. Returns `404` when the conversation or\n * response was not persisted (`store = false`).\n */\n listResponseItems: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n ) => PagedAsyncIterableIterator<RealtimeConversationItemUnion>;\n /**\n * Retrieves a single response from the specified conversation by its id, including its `output` items,\n * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).\n */\n getResponse: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsGetResponseOptionalParams,\n ) => Promise<VoiceResponse>;\n /**\n * Returns a paged collection of the responses (model inference turns) recorded for the specified\n * conversation. The per-response `output` projection may be omitted here; use the response-items route\n * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).\n */\n listResponses: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListResponsesOptionalParams,\n ) => PagedAsyncIterableIterator<VoiceResponse>;\n /**\n * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is\n * the customer's explicit data-deletion control for voice conversations.\n */\n delete: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDeleteOptionalParams,\n ) => Promise<void>;\n /**\n * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.\n * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.\n */\n get: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetOptionalParams,\n ) => Promise<VoiceConversation>;\n /**\n * Returns the conversations persisted for the specified voice agent endpoint.\n * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the\n * agent definition or enabled by the WebSocket session override.\n */\n list: (\n agentName: string,\n options?: BetaVoiceAgentsConversationsListOptionalParams,\n ) => PagedAsyncIterableIterator<VoiceConversation>;\n}\n\nfunction _getBetaVoiceAgentsConversations(\n context: AIProjectContext,\n): BetaVoiceAgentsConversationsOperations {\n return {\n downloadAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n ) => downloadAudio(context, agentName, conversationId, options),\n getAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetAudioOptionalParams,\n ) => getAudio(context, agentName, conversationId, options),\n downloadGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n ) => downloadGeneratedAudioItem(context, agentName, conversationId, itemId, options),\n getGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n ) => getGeneratedAudioItem(context, agentName, conversationId, itemId, options),\n downloadAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n ) => downloadAudioItem(context, agentName, conversationId, itemId, options),\n getAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n ) => getAudioItem(context, agentName, conversationId, itemId, options),\n getItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetItemOptionalParams,\n ) => getItem(context, agentName, conversationId, itemId, options),\n listItems: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListItemsOptionalParams,\n ) => listItems(context, agentName, conversationId, options),\n listResponseItems: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n ) => listResponseItems(context, agentName, conversationId, responseId, options),\n getResponse: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsGetResponseOptionalParams,\n ) => getResponse(context, agentName, conversationId, responseId, options),\n listResponses: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListResponsesOptionalParams,\n ) => listResponses(context, agentName, conversationId, options),\n delete: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDeleteOptionalParams,\n ) => $delete(context, agentName, conversationId, options),\n get: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetOptionalParams,\n ) => get(context, agentName, conversationId, options),\n list: (agentName: string, options?: BetaVoiceAgentsConversationsListOptionalParams) =>\n list(context, agentName, options),\n };\n}\n\nexport function _getBetaVoiceAgentsConversationsOperations(\n context: AIProjectContext,\n): BetaVoiceAgentsConversationsOperations {\n return { ..._getBetaVoiceAgentsConversations(context) };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/classic/beta/voiceAgents/conversations/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AIProjectContext } from \"../../../../api/aiProjectContext.js\";\nimport {\n downloadAudio,\n getAudio,\n downloadGeneratedAudioItem,\n getGeneratedAudioItem,\n downloadAudioItem,\n getAudioItem,\n getItem,\n listItems,\n listResponseItems,\n getResponse,\n listResponses,\n $delete,\n get,\n list,\n} from \"../../../../api/beta/voiceAgents/conversations/operations.js\";\nimport type {\n BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n BetaVoiceAgentsConversationsGetAudioOptionalParams,\n BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n BetaVoiceAgentsConversationsGetItemOptionalParams,\n BetaVoiceAgentsConversationsListItemsOptionalParams,\n BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n BetaVoiceAgentsConversationsGetResponseOptionalParams,\n BetaVoiceAgentsConversationsListResponsesOptionalParams,\n BetaVoiceAgentsConversationsDeleteOptionalParams,\n BetaVoiceAgentsConversationsGetOptionalParams,\n BetaVoiceAgentsConversationsListOptionalParams,\n} from \"../../../../api/beta/voiceAgents/conversations/options.js\";\nimport type {\n VoiceConversation,\n VoiceResponse,\n RealtimeConversationItemUnion,\n VoiceAudioItem,\n VoiceGeneratedAudioItem,\n VoiceRecording,\n BetaVoiceAgentsConversationsDownloadAudioResponse,\n BetaVoiceAgentsConversationsDownloadGeneratedAudioItemResponse,\n BetaVoiceAgentsConversationsDownloadAudioItemResponse,\n} from \"../../../../models/models.js\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport type { ResolvedTracingConfig } from \"../../../../tracing/configuration.js\";\nimport { traceVoiceAgentOperation } from \"../../../../tracing/voiceAgentTracing.js\";\n\n/** Operations for managing voice agent conversations. */\nexport interface BetaVoiceAgentsConversationsOperations {\n /**\n * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service\n * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS)\n * recordings the bytes are not proxied — the caller must download directly from customer storage using the\n * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings.\n * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with\n * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the\n * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.\n * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation\n * without persisted audio (`store = false`) returns `404`.\n */\n downloadAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadAudioResponse>;\n /**\n * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio\n * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned\n * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally\n * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads\n * with their own credentials. The recording is built once from the per-turn segments after persistence\n * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict`\n * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the\n * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`.\n * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the\n * conversation to have persisted audio (`store = true`); otherwise returns `404`.\n */\n getAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetAudioOptionalParams,\n ) => Promise<VoiceRecording>;\n /**\n * Streams a conversation item's generated audio as a WAV (`audio/wav`) byte stream through the service. This\n * subordinate artifact exists only when playback was interrupted and the service rendered more audio than the\n * listener heard, including when the response ends as cancelled. This route serves Foundry-managed storage only.\n * For bring-your-own-storage (BYOS) recordings the bytes are not proxied, so this route returns `409 Conflict`.\n * Returns `404` when the conversation or item was not persisted, or when no generated audio exists beyond the\n * heard segment.\n */\n downloadGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadGeneratedAudioItemResponse>;\n /**\n * Returns metadata for a conversation item's generated audio. This subordinate artifact is separate from the\n * canonical heard-audio segment and exists only when playback was interrupted and the service rendered more audio\n * than the listener heard, including when the response ends as cancelled. Returns `404` when the conversation or\n * item was not persisted, or when no generated audio exists beyond the heard segment.\n */\n getGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n ) => Promise<VoiceGeneratedAudioItem>;\n /**\n * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS\n * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the\n * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri`\n * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings.\n * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`).\n */\n downloadAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n ) => Promise<BetaVoiceAgentsConversationsDownloadAudioItemResponse>;\n /**\n * Returns metadata for a single conversation item's audio segment, including the common playback facts\n * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and\n * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI\n * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials.\n * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation,\n * item, or its audio was not persisted.\n */\n getAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n ) => Promise<VoiceAudioItem>;\n /**\n * Retrieves a single item from the specified conversation by its id, including its transcript. An\n * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item\n * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by\n * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted\n * (`store = false`).\n */\n getItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetItemOptionalParams,\n ) => Promise<RealtimeConversationItemUnion>;\n /**\n * Returns a paged collection of items — the complete ordered conversation history, including user input,\n * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the\n * conversation was not persisted (`store = false`).\n */\n listItems: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListItemsOptionalParams,\n ) => PagedAsyncIterableIterator<RealtimeConversationItemUnion>;\n /**\n * Returns a paged collection of the output items produced by a specific response (the response's output\n * projection). For the complete ordered conversation history — including user input and client-created\n * tool outputs — use the conversation items route instead. Returns `404` when the conversation or\n * response was not persisted (`store = false`).\n */\n listResponseItems: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n ) => PagedAsyncIterableIterator<RealtimeConversationItemUnion>;\n /**\n * Retrieves a single response from the specified conversation by its id, including its `output` items,\n * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`).\n */\n getResponse: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsGetResponseOptionalParams,\n ) => Promise<VoiceResponse>;\n /**\n * Returns a paged collection of the responses (model inference turns) recorded for the specified\n * conversation. The per-response `output` projection may be omitted here; use the response-items route\n * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`).\n */\n listResponses: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListResponsesOptionalParams,\n ) => PagedAsyncIterableIterator<VoiceResponse>;\n /**\n * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is\n * the customer's explicit data-deletion control for voice conversations.\n */\n delete: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDeleteOptionalParams,\n ) => Promise<void>;\n /**\n * Retrieves a single conversation recorded for the specified voice agent endpoint by its id.\n * Returns `404` when the conversation was not persisted (`store = false`) or does not exist.\n */\n get: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetOptionalParams,\n ) => Promise<VoiceConversation>;\n /**\n * Returns the conversations persisted for the specified voice agent endpoint.\n * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the\n * agent definition or enabled by the WebSocket session override.\n */\n list: (\n agentName: string,\n options?: BetaVoiceAgentsConversationsListOptionalParams,\n ) => PagedAsyncIterableIterator<VoiceConversation>;\n}\n\nfunction _getBetaVoiceAgentsConversations(\n context: AIProjectContext,\n tracingConfig?: ResolvedTracingConfig,\n): BetaVoiceAgentsConversationsOperations {\n return {\n downloadAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioOptionalParams,\n ) => downloadAudio(context, agentName, conversationId, options),\n getAudio: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetAudioOptionalParams,\n ) => getAudio(context, agentName, conversationId, options),\n downloadGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadGeneratedAudioItemOptionalParams,\n ) => downloadGeneratedAudioItem(context, agentName, conversationId, itemId, options),\n getGeneratedAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetGeneratedAudioItemOptionalParams,\n ) => getGeneratedAudioItem(context, agentName, conversationId, itemId, options),\n downloadAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsDownloadAudioItemOptionalParams,\n ) => downloadAudioItem(context, agentName, conversationId, itemId, options),\n getAudioItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetAudioItemOptionalParams,\n ) => getAudioItem(context, agentName, conversationId, itemId, options),\n getItem: (\n agentName: string,\n conversationId: string,\n itemId: string,\n options?: BetaVoiceAgentsConversationsGetItemOptionalParams,\n ) => getItem(context, agentName, conversationId, itemId, options),\n listItems: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListItemsOptionalParams,\n ) => listItems(context, agentName, conversationId, options),\n listResponseItems: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsListResponseItemsOptionalParams,\n ) => listResponseItems(context, agentName, conversationId, responseId, options),\n getResponse: (\n agentName: string,\n conversationId: string,\n responseId: string,\n options?: BetaVoiceAgentsConversationsGetResponseOptionalParams,\n ) => getResponse(context, agentName, conversationId, responseId, options),\n listResponses: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsListResponsesOptionalParams,\n ) => listResponses(context, agentName, conversationId, options),\n delete: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsDeleteOptionalParams,\n ) =>\n traceVoiceAgentOperation(\n \"voice_agents.conversations.delete\",\n context.endpoint,\n tracingConfig,\n () => $delete(context, agentName, conversationId, options),\n ),\n get: (\n agentName: string,\n conversationId: string,\n options?: BetaVoiceAgentsConversationsGetOptionalParams,\n ) => get(context, agentName, conversationId, options),\n list: (agentName: string, options?: BetaVoiceAgentsConversationsListOptionalParams) =>\n list(context, agentName, options),\n };\n}\n\nexport function _getBetaVoiceAgentsConversationsOperations(\n context: AIProjectContext,\n tracingConfig?: ResolvedTracingConfig,\n): BetaVoiceAgentsConversationsOperations {\n return { ..._getBetaVoiceAgentsConversations(context, tracingConfig) };\n}\n"]}
|
|
@@ -2,7 +2,8 @@ import type { AIProjectContext } from "../../../api/aiProjectContext.js";
|
|
|
2
2
|
import type { TokenCredential } from "@azure/core-auth";
|
|
3
3
|
import type { BetaVoiceAgentsConversationsOperations } from "./conversations/index.js";
|
|
4
4
|
import type { BetaVoiceAgentsTelephonyOperations } from "./telephony/index.js";
|
|
5
|
-
import { VoiceAgentRealtimeClient,
|
|
5
|
+
import type { VoiceAgentRealtimeClient, VoiceAgentRealtimeClientOptions } from "../../../realtime/voiceAgentRealtimeClient.js";
|
|
6
|
+
import type { ResolvedTracingConfig } from "../../../tracing/configuration.js";
|
|
6
7
|
/** Operations for managing voice agent conversations and telephony. */
|
|
7
8
|
export interface BetaVoiceAgentsOperations {
|
|
8
9
|
/** Operations for managing telephony bindings and calls. */
|
|
@@ -12,5 +13,5 @@ export interface BetaVoiceAgentsOperations {
|
|
|
12
13
|
/** Realtime voice-agent connections. */
|
|
13
14
|
realtime: VoiceAgentRealtimeClient;
|
|
14
15
|
}
|
|
15
|
-
export declare function _getBetaVoiceAgentsOperations(context: AIProjectContext, credential: TokenCredential, endpoint: string, realtimeOptions?: VoiceAgentRealtimeClientOptions): BetaVoiceAgentsOperations;
|
|
16
|
+
export declare function _getBetaVoiceAgentsOperations(context: AIProjectContext, credential: TokenCredential, endpoint: string, realtimeOptions?: VoiceAgentRealtimeClientOptions, tracingConfig?: ResolvedTracingConfig): BetaVoiceAgentsOperations;
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/classic/beta/voiceAgents/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/classic/beta/voiceAgents/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,uEAAuE;AACvE,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,SAAS,EAAE,kCAAkC,CAAC;IAC9C,sEAAsE;IACtE,aAAa,EAAE,sCAAsC,CAAC;IACtD,wCAAwC;IACxC,QAAQ,EAAE,wBAAwB,CAAC;CACpC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,+BAA+B,EACjD,aAAa,CAAC,EAAE,qBAAqB,GACpC,yBAAyB,CAS3B"}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { _getBetaVoiceAgentsConversationsOperations } from "./conversations/index.js";
|
|
4
4
|
import { _getBetaVoiceAgentsTelephonyOperations } from "./telephony/index.js";
|
|
5
|
-
import {
|
|
6
|
-
export function _getBetaVoiceAgentsOperations(context, credential, endpoint, realtimeOptions) {
|
|
5
|
+
import { createVoiceAgentRealtimeClient } from "../../../realtime/voiceAgentRealtimeClient.js";
|
|
6
|
+
export function _getBetaVoiceAgentsOperations(context, credential, endpoint, realtimeOptions, tracingConfig) {
|
|
7
7
|
return {
|
|
8
|
-
telephony: _getBetaVoiceAgentsTelephonyOperations(context),
|
|
9
|
-
conversations: _getBetaVoiceAgentsConversationsOperations(context),
|
|
8
|
+
telephony: _getBetaVoiceAgentsTelephonyOperations(context, tracingConfig),
|
|
9
|
+
conversations: _getBetaVoiceAgentsConversationsOperations(context, tracingConfig),
|
|
10
10
|
// VoiceAgentRealtimeClient defers https-only endpoint validation to connect() (not its
|
|
11
11
|
// constructor), so eagerly constructing it here doesn't reject callers who intentionally use an
|
|
12
12
|
// insecure local endpoint for the REST surface and never touch realtime connections.
|
|
13
|
-
realtime:
|
|
13
|
+
realtime: createVoiceAgentRealtimeClient(endpoint, credential, realtimeOptions, tracingConfig),
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=index.js.map
|