@azure-rest/ai-inference 1.0.0-beta.5 → 1.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +253 -249
  3. package/dist/browser/clientDefinitions.d.ts +10 -3
  4. package/dist/browser/clientDefinitions.d.ts.map +1 -1
  5. package/dist/browser/clientDefinitions.js.map +1 -1
  6. package/dist/browser/constants.d.ts +7 -0
  7. package/dist/browser/constants.d.ts.map +1 -1
  8. package/dist/browser/constants.js +7 -0
  9. package/dist/browser/constants.js.map +1 -1
  10. package/dist/browser/index.d.ts +11 -3
  11. package/dist/browser/index.d.ts.map +1 -1
  12. package/dist/browser/index.js +10 -3
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/browser/isUnexpected.d.ts +8 -1
  15. package/dist/browser/isUnexpected.d.ts.map +1 -1
  16. package/dist/browser/isUnexpected.js +1 -6
  17. package/dist/browser/isUnexpected.js.map +1 -1
  18. package/dist/browser/logger.d.ts.map +1 -1
  19. package/dist/browser/logger.js +7 -0
  20. package/dist/browser/logger.js.map +1 -1
  21. package/dist/browser/modelClient.d.ts +7 -0
  22. package/dist/browser/modelClient.d.ts.map +1 -1
  23. package/dist/browser/modelClient.js +1 -1
  24. package/dist/browser/modelClient.js.map +1 -1
  25. package/dist/browser/models.d.ts +57 -8
  26. package/dist/browser/models.d.ts.map +1 -1
  27. package/dist/browser/models.js.map +1 -1
  28. package/dist/browser/outputModels.d.ts +23 -16
  29. package/dist/browser/outputModels.d.ts.map +1 -1
  30. package/dist/browser/outputModels.js.map +1 -1
  31. package/dist/browser/parameters.d.ts +13 -6
  32. package/dist/browser/parameters.d.ts.map +1 -1
  33. package/dist/browser/parameters.js.map +1 -1
  34. package/dist/browser/responses.d.ts +9 -2
  35. package/dist/browser/responses.d.ts.map +1 -1
  36. package/dist/browser/responses.js.map +1 -1
  37. package/dist/browser/tracingHelper.d.ts +8 -1
  38. package/dist/browser/tracingHelper.d.ts.map +1 -1
  39. package/dist/browser/tracingHelper.js +26 -26
  40. package/dist/browser/tracingHelper.js.map +1 -1
  41. package/dist/browser/tracingPolicy.d.ts +7 -0
  42. package/dist/browser/tracingPolicy.d.ts.map +1 -1
  43. package/dist/browser/tracingPolicy.js +2 -2
  44. package/dist/browser/tracingPolicy.js.map +1 -1
  45. package/dist/commonjs/clientDefinitions.d.ts +10 -3
  46. package/dist/commonjs/clientDefinitions.d.ts.map +1 -1
  47. package/dist/commonjs/clientDefinitions.js.map +1 -1
  48. package/dist/commonjs/constants.d.ts +7 -0
  49. package/dist/commonjs/constants.d.ts.map +1 -1
  50. package/dist/commonjs/constants.js +9 -2
  51. package/dist/commonjs/constants.js.map +1 -1
  52. package/dist/commonjs/index.d.ts +11 -3
  53. package/dist/commonjs/index.d.ts.map +1 -1
  54. package/dist/commonjs/index.js +10 -3
  55. package/dist/commonjs/index.js.map +1 -1
  56. package/dist/commonjs/isUnexpected.d.ts +8 -1
  57. package/dist/commonjs/isUnexpected.d.ts.map +1 -1
  58. package/dist/commonjs/isUnexpected.js +1 -6
  59. package/dist/commonjs/isUnexpected.js.map +1 -1
  60. package/dist/commonjs/logger.d.ts.map +1 -1
  61. package/dist/commonjs/logger.js +7 -0
  62. package/dist/commonjs/logger.js.map +1 -1
  63. package/dist/commonjs/modelClient.d.ts +7 -0
  64. package/dist/commonjs/modelClient.d.ts.map +1 -1
  65. package/dist/commonjs/modelClient.js +1 -1
  66. package/dist/commonjs/modelClient.js.map +1 -1
  67. package/dist/commonjs/models.d.ts +57 -8
  68. package/dist/commonjs/models.d.ts.map +1 -1
  69. package/dist/commonjs/models.js.map +1 -1
  70. package/dist/commonjs/outputModels.d.ts +23 -16
  71. package/dist/commonjs/outputModels.d.ts.map +1 -1
  72. package/dist/commonjs/outputModels.js.map +1 -1
  73. package/dist/commonjs/parameters.d.ts +13 -6
  74. package/dist/commonjs/parameters.d.ts.map +1 -1
  75. package/dist/commonjs/parameters.js.map +1 -1
  76. package/dist/commonjs/responses.d.ts +9 -2
  77. package/dist/commonjs/responses.d.ts.map +1 -1
  78. package/dist/commonjs/responses.js.map +1 -1
  79. package/dist/commonjs/tracingHelper.d.ts +8 -1
  80. package/dist/commonjs/tracingHelper.d.ts.map +1 -1
  81. package/dist/commonjs/tracingHelper.js +26 -26
  82. package/dist/commonjs/tracingHelper.js.map +1 -1
  83. package/dist/commonjs/tracingPolicy.d.ts +7 -0
  84. package/dist/commonjs/tracingPolicy.d.ts.map +1 -1
  85. package/dist/commonjs/tracingPolicy.js +2 -2
  86. package/dist/commonjs/tracingPolicy.js.map +1 -1
  87. package/dist/commonjs/tsdoc-metadata.json +1 -1
  88. package/dist/esm/clientDefinitions.d.ts +10 -3
  89. package/dist/esm/clientDefinitions.d.ts.map +1 -1
  90. package/dist/esm/clientDefinitions.js.map +1 -1
  91. package/dist/esm/constants.d.ts +7 -0
  92. package/dist/esm/constants.d.ts.map +1 -1
  93. package/dist/esm/constants.js +7 -0
  94. package/dist/esm/constants.js.map +1 -1
  95. package/dist/esm/index.d.ts +11 -3
  96. package/dist/esm/index.d.ts.map +1 -1
  97. package/dist/esm/index.js +10 -3
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/isUnexpected.d.ts +8 -1
  100. package/dist/esm/isUnexpected.d.ts.map +1 -1
  101. package/dist/esm/isUnexpected.js +1 -6
  102. package/dist/esm/isUnexpected.js.map +1 -1
  103. package/dist/esm/logger.d.ts.map +1 -1
  104. package/dist/esm/logger.js +7 -0
  105. package/dist/esm/logger.js.map +1 -1
  106. package/dist/esm/modelClient.d.ts +7 -0
  107. package/dist/esm/modelClient.d.ts.map +1 -1
  108. package/dist/esm/modelClient.js +1 -1
  109. package/dist/esm/modelClient.js.map +1 -1
  110. package/dist/esm/models.d.ts +57 -8
  111. package/dist/esm/models.d.ts.map +1 -1
  112. package/dist/esm/models.js.map +1 -1
  113. package/dist/esm/outputModels.d.ts +23 -16
  114. package/dist/esm/outputModels.d.ts.map +1 -1
  115. package/dist/esm/outputModels.js.map +1 -1
  116. package/dist/esm/parameters.d.ts +13 -6
  117. package/dist/esm/parameters.d.ts.map +1 -1
  118. package/dist/esm/parameters.js.map +1 -1
  119. package/dist/esm/responses.d.ts +9 -2
  120. package/dist/esm/responses.d.ts.map +1 -1
  121. package/dist/esm/responses.js.map +1 -1
  122. package/dist/esm/tracingHelper.d.ts +8 -1
  123. package/dist/esm/tracingHelper.d.ts.map +1 -1
  124. package/dist/esm/tracingHelper.js +26 -26
  125. package/dist/esm/tracingHelper.js.map +1 -1
  126. package/dist/esm/tracingPolicy.d.ts +7 -0
  127. package/dist/esm/tracingPolicy.d.ts.map +1 -1
  128. package/dist/esm/tracingPolicy.js +2 -2
  129. package/dist/esm/tracingPolicy.js.map +1 -1
  130. package/dist/react-native/clientDefinitions.d.ts +10 -3
  131. package/dist/react-native/clientDefinitions.d.ts.map +1 -1
  132. package/dist/react-native/clientDefinitions.js.map +1 -1
  133. package/dist/react-native/constants.d.ts +7 -0
  134. package/dist/react-native/constants.d.ts.map +1 -1
  135. package/dist/react-native/constants.js +7 -0
  136. package/dist/react-native/constants.js.map +1 -1
  137. package/dist/react-native/index.d.ts +11 -3
  138. package/dist/react-native/index.d.ts.map +1 -1
  139. package/dist/react-native/index.js +10 -3
  140. package/dist/react-native/index.js.map +1 -1
  141. package/dist/react-native/isUnexpected.d.ts +8 -1
  142. package/dist/react-native/isUnexpected.d.ts.map +1 -1
  143. package/dist/react-native/isUnexpected.js +1 -6
  144. package/dist/react-native/isUnexpected.js.map +1 -1
  145. package/dist/react-native/logger.d.ts.map +1 -1
  146. package/dist/react-native/logger.js +7 -0
  147. package/dist/react-native/logger.js.map +1 -1
  148. package/dist/react-native/modelClient.d.ts +7 -0
  149. package/dist/react-native/modelClient.d.ts.map +1 -1
  150. package/dist/react-native/modelClient.js +1 -1
  151. package/dist/react-native/modelClient.js.map +1 -1
  152. package/dist/react-native/models.d.ts +57 -8
  153. package/dist/react-native/models.d.ts.map +1 -1
  154. package/dist/react-native/models.js.map +1 -1
  155. package/dist/react-native/outputModels.d.ts +23 -16
  156. package/dist/react-native/outputModels.d.ts.map +1 -1
  157. package/dist/react-native/outputModels.js.map +1 -1
  158. package/dist/react-native/parameters.d.ts +13 -6
  159. package/dist/react-native/parameters.d.ts.map +1 -1
  160. package/dist/react-native/parameters.js.map +1 -1
  161. package/dist/react-native/responses.d.ts +9 -2
  162. package/dist/react-native/responses.d.ts.map +1 -1
  163. package/dist/react-native/responses.js.map +1 -1
  164. package/dist/react-native/tracingHelper.d.ts +8 -1
  165. package/dist/react-native/tracingHelper.d.ts.map +1 -1
  166. package/dist/react-native/tracingHelper.js +26 -26
  167. package/dist/react-native/tracingHelper.js.map +1 -1
  168. package/dist/react-native/tracingPolicy.d.ts +7 -0
  169. package/dist/react-native/tracingPolicy.d.ts.map +1 -1
  170. package/dist/react-native/tracingPolicy.js +2 -2
  171. package/dist/react-native/tracingPolicy.js.map +1 -1
  172. package/package.json +28 -25
@@ -1 +1 @@
1
- {"version":3,"file":"tracingHelper.js","sourceRoot":"","sources":["../../src/tracingHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { TracingSpan } from \"@azure/core-tracing\";\nimport type { GetChatCompletionsBodyParam } from \"./parameters.js\";\nimport type {\n ChatRequestAssistantMessage,\n ChatRequestMessage,\n ChatRequestSystemMessage,\n ChatRequestToolMessage,\n} from \"./models.js\";\nimport type {\n ChatChoiceOutput,\n ChatCompletionsOutput,\n ChatCompletionsToolCallOutput,\n} from \"./outputModels.js\";\nimport { isError } from \"@azure/core-util\";\nimport type { PipelineRequest, PipelineResponse } from \"@azure/core-rest-pipeline\";\n\nconst INFERENCE_GEN_AI_SYSTEM_NAME = \"az.ai.inference\";\nconst isContentRecordingEnabled = (): boolean =>\n envVarToBoolean(\"AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED\");\n\nenum TracingAttributesEnum {\n Operation_Name = \"gen_ai.operation.name\",\n Request_Model = \"gen_ai.request.model\",\n System = \"gen_ai.system\",\n Error_Type = \"error.type\",\n Server_Port = \"server.port\",\n Request_Frequency_Penalty = \"gen_ai.request.frequency_penalty\",\n Request_Max_Tokens = \"gen_ai.request.max_tokens\",\n Request_Presence_Penalty = \"gen_ai.request.presence_penalty\",\n Request_Stop_Sequences = \"gen_ai.request.stop_sequences\",\n Request_Temperature = \"gen_ai.request.temperature\",\n Request_Top_P = \"gen_ai.request.top_p\",\n Response_Finish_Reasons = \"gen_ai.response.finish_reasons\",\n Response_Id = \"gen_ai.response.id\",\n Response_Model = \"gen_ai.response.model\",\n Usage_Input_Tokens = \"gen_ai.usage.input_tokens\",\n Usage_Output_Tokens = \"gen_ai.usage.output_tokens\",\n Server_Address = \"server.address\",\n}\n\nexport function getRequestBody(request: PipelineRequest): GetChatCompletionsBodyParam {\n return { body: JSON.parse(request.body as string) };\n}\n\nexport function getSpanName(request: PipelineRequest): string {\n const { body } = getRequestBody(request);\n return `chat ${body?.model ?? \"\"}`.trim();\n}\n\nexport function onStartTracing(span: TracingSpan, request: PipelineRequest, url: string): void {\n if (!span.isRecording()) {\n return;\n }\n\n const urlObj = new URL(url);\n const port = Number(urlObj.port) || (urlObj.protocol === \"https:\" ? undefined : 80);\n\n if (port) {\n span.setAttribute(TracingAttributesEnum.Server_Port, port);\n }\n span.setAttribute(TracingAttributesEnum.Server_Address, urlObj.hostname);\n span.setAttribute(TracingAttributesEnum.Operation_Name, \"chat\");\n span.setAttribute(TracingAttributesEnum.System, \"az.ai.inference\");\n\n const { body } = getRequestBody(request);\n if (!body) return;\n\n span.setAttribute(TracingAttributesEnum.Request_Model, body.model);\n span.setAttribute(TracingAttributesEnum.Request_Frequency_Penalty, body.frequency_penalty);\n span.setAttribute(TracingAttributesEnum.Request_Max_Tokens, body.max_tokens);\n span.setAttribute(TracingAttributesEnum.Request_Presence_Penalty, body.presence_penalty);\n span.setAttribute(TracingAttributesEnum.Request_Stop_Sequences, body.stop);\n span.setAttribute(TracingAttributesEnum.Request_Temperature, body.temperature);\n span.setAttribute(TracingAttributesEnum.Request_Top_P, body.top_p);\n\n if (body.messages) {\n addRequestChatMessageEvent(span, body.messages);\n }\n}\n\nexport function tryProcessResponse(span: TracingSpan, response?: PipelineResponse): void {\n if (!span.isRecording()) {\n return;\n }\n\n if (response?.bodyAsText) {\n const body: any = JSON.parse(response.bodyAsText);\n if (body.error ?? body.message) {\n span.setAttribute(TracingAttributesEnum.Error_Type, `${body.status ?? body.statusCode}`);\n span.setStatus({\n status: \"error\",\n error: body.error ?? body.message, // message is not in the schema of the response, but it can present if there is crediential error\n });\n }\n span.setAttribute(TracingAttributesEnum.Response_Id, body.id);\n span.setAttribute(TracingAttributesEnum.Response_Model, body.model);\n if (body.choices) {\n span.setAttribute(\n TracingAttributesEnum.Response_Finish_Reasons,\n body.choices.map((choice: ChatChoiceOutput) => choice.finish_reason).join(\",\"),\n );\n }\n if (body.usage) {\n span.setAttribute(TracingAttributesEnum.Usage_Input_Tokens, body.usage.prompt_tokens);\n span.setAttribute(TracingAttributesEnum.Usage_Output_Tokens, body.usage.completion_tokens);\n }\n addResponseChatMessageEvent(span, body);\n }\n}\n\nexport function tryProcessError(span: TracingSpan, error: unknown): void {\n span.setStatus({\n status: \"error\",\n error: isError(error) ? error : undefined,\n });\n}\n\n/*\n* Add event to span. Sample:\n {\n name: 'gen_ai.user.message',\n attributes: {\n 'gen_ai.system': 'INFERENCE_GEN_AI_SYSTEM_NAME',\n 'gen_ai.event.content': `{\"role\":\"user\",\"content\":\"What's the weather like in Boston?\"}` \n },\n time: [ 1725666879, 622695900 ],\n droppedAttributesCount: 0\n },\n*/\nfunction addRequestChatMessageEvent(span: TracingSpan, messages: Array<ChatRequestMessage>): void {\n messages.forEach((message: any) => {\n if (message.role) {\n const content: {\n content?: string;\n tool_calls?: Array<ChatCompletionsToolCallOutput>;\n id?: string;\n } = {};\n\n const chatMsg = message as ChatRequestSystemMessage;\n if (chatMsg.content) {\n content.content = chatMsg.content;\n }\n if (!isContentRecordingEnabled()) {\n content.content = \"\";\n }\n\n const assistantMsg = message as ChatRequestAssistantMessage;\n if (assistantMsg.tool_calls) {\n content.tool_calls = assistantMsg.tool_calls;\n if (!isContentRecordingEnabled()) {\n const toolCalls: Array<ChatCompletionsToolCallOutput> = JSON.parse(\n JSON.stringify(content.tool_calls),\n );\n toolCalls.forEach((toolCall) => {\n if (toolCall.function.arguments) {\n toolCall.function.arguments = \"\";\n }\n toolCall.function.name = \"\";\n });\n content.tool_calls = toolCalls;\n }\n }\n\n const toolMsg: ChatRequestToolMessage = message;\n if (toolMsg.tool_call_id) {\n content.id = toolMsg.tool_call_id;\n }\n\n span.addEvent?.(`gen_ai.${message.role}.message`, {\n attributes: {\n \"gen_ai.system\": INFERENCE_GEN_AI_SYSTEM_NAME,\n \"gen_ai.event.content\": JSON.stringify(content),\n },\n });\n }\n });\n}\n\n/*\n* Add event to span. Sample:\n{\n name: 'gen_ai.choice',\n attributes: {\n 'gen_ai.system': 'INFERENCE_GEN_AI_SYSTEM_NAME',\n 'gen_ai.event.content': '{\"finish_reason\":\"tool_calls\",\"index\":0,\"message\":{\"content\":\"\"}}'\n },\n time: [ 1725666881, 780608000 ],\n droppedAttributesCount: 0\n} \n*/\nfunction addResponseChatMessageEvent(span: TracingSpan, body: ChatCompletionsOutput): void {\n if (!span.addEvent) {\n return;\n }\n\n body?.choices?.forEach((choice: ChatChoiceOutput) => {\n let message: { content?: string; toolCalls?: Array<ChatCompletionsToolCallOutput> } = {};\n\n if (choice.message.content) {\n message.content = choice.message.content;\n }\n if (choice.message.tool_calls) {\n message.toolCalls = choice.message.tool_calls;\n }\n\n if (!isContentRecordingEnabled()) {\n message = JSON.parse(JSON.stringify(message));\n message.content = \"\";\n if (message.toolCalls) {\n message.toolCalls.forEach((toolCall) => {\n if (toolCall.function.arguments) {\n toolCall.function.arguments = \"\";\n }\n toolCall.function.name = \"\";\n });\n }\n }\n\n const response = {\n finish_reason: choice.finish_reason,\n index: choice.index,\n message,\n };\n const attributes = {\n \"gen_ai.system\": INFERENCE_GEN_AI_SYSTEM_NAME,\n \"gen_ai.event.content\": JSON.stringify(response),\n };\n\n span.addEvent?.(\"gen_ai.choice\", { attributes });\n });\n}\n\nfunction envVarToBoolean(key: string): boolean {\n const value = process.env[key] ?? process.env[key.toLowerCase()];\n return value !== \"false\" && value !== \"0\" && Boolean(value);\n}\n"]}
1
+ {"version":3,"file":"tracingHelper.js","sourceRoot":"","sources":["../../src/tracingHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport type { PipelineRequest, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport type { TracingSpan } from \"@azure/core-tracing\";\nimport { isError } from \"@azure/core-util\";\nimport type {\n ChatRequestAssistantMessage,\n ChatRequestMessage,\n ChatRequestSystemMessage,\n ChatRequestToolMessage,\n} from \"./models.js\";\nimport type {\n ChatChoiceOutput,\n ChatCompletionsOutput,\n ChatCompletionsToolCallOutput,\n} from \"./outputModels.js\";\nimport type { GetChatCompletionsBodyParam } from \"./parameters.js\";\n/*\n* Add event to span. Sample:\n {\n name: 'gen_ai.user.message',\n attributes: {\n 'gen_ai.system': 'INFERENCE_GEN_AI_SYSTEM_NAME',\n 'gen_ai.event.content': `{\"role\":\"user\",\"content\":\"What's the weather like in Boston?\"}` \n },\n time: [ 1725666879, 622695900 ],\n droppedAttributesCount: 0\n },\n*/\n/*\n* Add event to span. Sample:\n{\n name: 'gen_ai.choice',\n attributes: {\n 'gen_ai.system': 'INFERENCE_GEN_AI_SYSTEM_NAME',\n 'gen_ai.event.content': '{\"finish_reason\":\"tool_calls\",\"index\":0,\"message\":{\"content\":\"\"}}'\n },\n time: [ 1725666881, 780608000 ],\n droppedAttributesCount: 0\n} \n*/\n\nenum TracingAttributesEnum {\n Operation_Name = \"gen_ai.operation.name\",\n Request_Model = \"gen_ai.request.model\",\n System = \"gen_ai.system\",\n Error_Type = \"error.type\",\n Server_Port = \"server.port\",\n Request_Frequency_Penalty = \"gen_ai.request.frequency_penalty\",\n Request_Max_Tokens = \"gen_ai.request.max_tokens\",\n Request_Presence_Penalty = \"gen_ai.request.presence_penalty\",\n Request_Stop_Sequences = \"gen_ai.request.stop_sequences\",\n Request_Temperature = \"gen_ai.request.temperature\",\n Request_Top_P = \"gen_ai.request.top_p\",\n Response_Finish_Reasons = \"gen_ai.response.finish_reasons\",\n Response_Id = \"gen_ai.response.id\",\n Response_Model = \"gen_ai.response.model\",\n Usage_Input_Tokens = \"gen_ai.usage.input_tokens\",\n Usage_Output_Tokens = \"gen_ai.usage.output_tokens\",\n Server_Address = \"server.address\",\n}\n\nconst INFERENCE_GEN_AI_SYSTEM_NAME = \"az.ai.inference\";\n\nconst isContentRecordingEnabled = (): boolean =>\n envVarToBoolean(\"AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED\");\n\nexport function getRequestBody(request: PipelineRequest): GetChatCompletionsBodyParam {\n return { body: JSON.parse(request.body as string) };\n}\n\nexport function getSpanName(request: PipelineRequest): string {\n const { body } = getRequestBody(request);\n return `chat ${body?.model ?? \"\"}`.trim();\n}\n\nexport function onStartTracing(span: TracingSpan, request: PipelineRequest, url: string): void {\n if (!span.isRecording()) {\n return;\n }\n\n const urlObj = new URL(url);\n const port = Number(urlObj.port) || (urlObj.protocol === \"https:\" ? undefined : 80);\n if (port) {\n span.setAttribute(TracingAttributesEnum.Server_Port, port);\n }\n\n span.setAttribute(TracingAttributesEnum.Server_Address, urlObj.hostname);\n span.setAttribute(TracingAttributesEnum.Operation_Name, \"chat\");\n span.setAttribute(TracingAttributesEnum.System, \"az.ai.inference\");\n const { body } = getRequestBody(request);\n if (!body) return;\n span.setAttribute(TracingAttributesEnum.Request_Model, body.model);\n span.setAttribute(TracingAttributesEnum.Request_Frequency_Penalty, body.frequency_penalty);\n span.setAttribute(TracingAttributesEnum.Request_Max_Tokens, body.max_tokens);\n span.setAttribute(TracingAttributesEnum.Request_Presence_Penalty, body.presence_penalty);\n span.setAttribute(TracingAttributesEnum.Request_Stop_Sequences, body.stop);\n span.setAttribute(TracingAttributesEnum.Request_Temperature, body.temperature);\n span.setAttribute(TracingAttributesEnum.Request_Top_P, body.top_p);\n if (body.messages) {\n addRequestChatMessageEvent(span, body.messages);\n }\n}\n\nexport function tryProcessResponse(span: TracingSpan, response?: PipelineResponse): void {\n if (!span.isRecording()) {\n return;\n }\n\n if (response?.bodyAsText) {\n const body: any = JSON.parse(response.bodyAsText);\n if (body.error ?? body.message) {\n span.setAttribute(TracingAttributesEnum.Error_Type, `${body.status ?? body.statusCode}`);\n span.setStatus({\n status: \"error\",\n error: body.error ?? body.message, // message is not in the schema of the response, but it can present if there is crediential error\n });\n }\n span.setAttribute(TracingAttributesEnum.Response_Id, body.id);\n span.setAttribute(TracingAttributesEnum.Response_Model, body.model);\n if (body.choices) {\n span.setAttribute(\n TracingAttributesEnum.Response_Finish_Reasons,\n body.choices.map((choice: ChatChoiceOutput) => choice.finish_reason).join(\",\"),\n );\n }\n if (body.usage) {\n span.setAttribute(TracingAttributesEnum.Usage_Input_Tokens, body.usage.prompt_tokens);\n span.setAttribute(TracingAttributesEnum.Usage_Output_Tokens, body.usage.completion_tokens);\n }\n addResponseChatMessageEvent(span, body);\n }\n}\n\nexport function tryProcessError(span: TracingSpan, error: unknown): void {\n span.setStatus({\n status: \"error\",\n error: isError(error) ? error : undefined,\n });\n}\n\nfunction addRequestChatMessageEvent(span: TracingSpan, messages: Array<ChatRequestMessage>): void {\n messages.forEach((message: any) => {\n if (message.role) {\n const content: {\n content?: string;\n tool_calls?: Array<ChatCompletionsToolCallOutput>;\n id?: string;\n } = {};\n\n const chatMsg = message as ChatRequestSystemMessage;\n if (chatMsg.content) {\n content.content = chatMsg.content;\n }\n if (!isContentRecordingEnabled()) {\n content.content = \"\";\n }\n\n const assistantMsg = message as ChatRequestAssistantMessage;\n if (assistantMsg.tool_calls) {\n content.tool_calls = assistantMsg.tool_calls;\n if (!isContentRecordingEnabled()) {\n const toolCalls: Array<ChatCompletionsToolCallOutput> = JSON.parse(\n JSON.stringify(content.tool_calls),\n );\n toolCalls.forEach((toolCall) => {\n if (toolCall.function.arguments) {\n toolCall.function.arguments = \"\";\n }\n toolCall.function.name = \"\";\n });\n content.tool_calls = toolCalls;\n }\n }\n\n const toolMsg: ChatRequestToolMessage = message;\n if (toolMsg.tool_call_id) {\n content.id = toolMsg.tool_call_id;\n }\n\n span.addEvent?.(`gen_ai.${message.role}.message`, {\n attributes: {\n \"gen_ai.system\": INFERENCE_GEN_AI_SYSTEM_NAME,\n \"gen_ai.event.content\": JSON.stringify(content),\n },\n });\n }\n });\n}\n\nfunction addResponseChatMessageEvent(span: TracingSpan, body: ChatCompletionsOutput): void {\n if (!span.addEvent) {\n return;\n }\n\n body?.choices?.forEach((choice: ChatChoiceOutput) => {\n let message: { content?: string; toolCalls?: Array<ChatCompletionsToolCallOutput> } = {};\n\n if (choice.message.content) {\n message.content = choice.message.content;\n }\n if (choice.message.tool_calls) {\n message.toolCalls = choice.message.tool_calls;\n }\n\n if (!isContentRecordingEnabled()) {\n message = JSON.parse(JSON.stringify(message));\n message.content = \"\";\n if (message.toolCalls) {\n message.toolCalls.forEach((toolCall) => {\n if (toolCall.function.arguments) {\n toolCall.function.arguments = \"\";\n }\n toolCall.function.name = \"\";\n });\n }\n }\n\n const response = {\n finish_reason: choice.finish_reason,\n index: choice.index,\n message,\n };\n const attributes = {\n \"gen_ai.system\": INFERENCE_GEN_AI_SYSTEM_NAME,\n \"gen_ai.event.content\": JSON.stringify(response),\n };\n\n span.addEvent?.(\"gen_ai.choice\", { attributes });\n });\n}\n\nfunction envVarToBoolean(key: string): boolean {\n const value = process.env[key] ?? process.env[key.toLowerCase()];\n return value !== \"false\" && value !== \"0\" && Boolean(value);\n}\n"]}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
1
8
  import type { PipelinePolicy } from "@azure/core-rest-pipeline";
2
9
  /**
3
10
  * The programmatic identifier of the tracingPolicy.
@@ -1 +1 @@
1
- {"version":3,"file":"tracingPolicy.d.ts","sourceRoot":"","sources":["../../src/tracingPolicy.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,2BAA2B,CAAC;AAGnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,cAAc,CAyC9C"}
1
+ {"version":3,"file":"tracingPolicy.d.ts","sourceRoot":"","sources":["../../src/tracingPolicy.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,2BAA2B,CAAC;AAkBnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,cAAc,CAwC9C"}
@@ -1,10 +1,10 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import { createTracingClient, } from "@azure/core-tracing";
4
- import { logger } from "./logger.js";
5
4
  import { getErrorMessage } from "@azure/core-util";
6
- import { tryProcessResponse, onStartTracing, tryProcessError, getSpanName, getRequestBody, } from "./tracingHelper.js";
7
5
  import { SDK_VERSION } from "./constants.js";
6
+ import { logger } from "./logger.js";
7
+ import { getRequestBody, getSpanName, onStartTracing, tryProcessError, tryProcessResponse, } from "./tracingHelper.js";
8
8
  /**
9
9
  * The programmatic identifier of the tracingPolicy.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tracingPolicy.js","sourceRoot":"","sources":["../../src/tracingPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAIL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,SAAS,EAAE,6BAA6B;QACxC,WAAW,EAAE,0BAA0B;QACvC,cAAc,EAAE,WAAW;KAC5B,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;;YAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IACE,CAAC,aAAa;gBACd,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;iBACvC,MAAA,MAAA,cAAc,CAAC,OAAO,CAAC,0CAAE,IAAI,0CAAE,MAAM,CAAA,EACrC,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAA,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,mCAAI,EAAE,CAAC;YAE7E,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC;gBACH,MAAA,OAAO,CAAC,cAAc,oCAAtB,OAAO,CAAC,cAAc,GAAK,EAAE,EAAC;gBAC9B,OAAO,CAAC,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC;gBAEvD,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChF,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,aAA4B,EAC5B,OAAwB;IAExB,IAAI,CAAC;QACH,oFAAoF;QACpF,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CACtD,WAAW,CAAC,OAAO,CAAC,EACpB,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,EAC1C;YACE,QAAQ,EAAE,QAAQ;SACnB,CACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC,qDAAqD,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n type TracingClient,\n type TracingContext,\n type TracingSpan,\n createTracingClient,\n} from \"@azure/core-tracing\";\nimport { logger } from \"./logger.js\";\nimport { getErrorMessage } from \"@azure/core-util\";\nimport {\n tryProcessResponse,\n onStartTracing,\n tryProcessError,\n getSpanName,\n getRequestBody,\n} from \"./tracingHelper.js\";\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { SDK_VERSION } from \"./constants.js\";\n\n/**\n * The programmatic identifier of the tracingPolicy.\n */\nexport const tracingPolicyName = \"inferenceTracingPolicy\";\n\n/**\n * A simple policy to create OpenTelemetry Spans for each request made by the pipeline\n * that has SpanOptions with a parent.\n * Requests made without a parent Span will not be recorded.\n */\nexport function tracingPolicy(): PipelinePolicy {\n const tracingClient = createTracingClient({\n namespace: \"Microsoft.CognitiveServices\",\n packageName: \"@azure/ai-inference-rest\",\n packageVersion: SDK_VERSION,\n });\n\n return {\n name: tracingPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const url = new URL(request.url);\n if (\n !tracingClient ||\n !url.href.endsWith(\"/chat/completions\") ||\n getRequestBody(request)?.body?.stream\n ) {\n return next(request);\n }\n\n const { span, tracingContext } = tryCreateSpan(tracingClient, request) ?? {};\n\n if (!span || !tracingContext) {\n return next(request);\n }\n\n try {\n request.tracingOptions ??= {};\n request.tracingOptions.tracingContext = tracingContext;\n\n onStartTracing(span, request, request.url);\n const response = await tracingClient.withContext(tracingContext, next, request);\n tryProcessResponse(span, response);\n return response;\n } catch (err: any) {\n tryProcessError(span, err);\n throw err;\n } finally {\n span.end();\n }\n },\n };\n}\n\nfunction tryCreateSpan(\n tracingClient: TracingClient,\n request: PipelineRequest,\n): { span: TracingSpan; tracingContext: TracingContext } | undefined {\n try {\n // As per spec, we do not need to differentiate between HTTP and HTTPS in span name.\n const { span, updatedOptions } = tracingClient.startSpan(\n getSpanName(request),\n { tracingOptions: request.tracingOptions },\n {\n spanKind: \"client\",\n },\n );\n\n return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };\n } catch (e: any) {\n logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"tracingPolicy.js","sourceRoot":"","sources":["../../src/tracingPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAgBlC,OAAO,EAIL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,SAAS,EAAE,6BAA6B;QACxC,WAAW,EAAE,0BAA0B;QACvC,cAAc,EAAE,WAAW;KAC5B,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;;YAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IACE,CAAC,aAAa;gBACd,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;iBACvC,MAAA,MAAA,cAAc,CAAC,OAAO,CAAC,0CAAE,IAAI,0CAAE,MAAM,CAAA,EACrC,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAA,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,mCAAI,EAAE,CAAC;YAE7E,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC;gBACH,MAAA,OAAO,CAAC,cAAc,oCAAtB,OAAO,CAAC,cAAc,GAAK,EAAE,EAAC;gBAC9B,OAAO,CAAC,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC;gBAEvD,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChF,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,aAA4B,EAC5B,OAAwB;IAExB,IAAI,CAAC;QACH,oFAAoF;QACpF,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CACtD,WAAW,CAAC,OAAO,CAAC,EACpB,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,EAC1C;YACE,QAAQ,EAAE,QAAQ;SACnB,CACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC,qDAAqD,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport {\n type TracingClient,\n type TracingContext,\n type TracingSpan,\n createTracingClient,\n} from \"@azure/core-tracing\";\nimport { getErrorMessage } from \"@azure/core-util\";\nimport { SDK_VERSION } from \"./constants.js\";\nimport { logger } from \"./logger.js\";\nimport {\n getRequestBody,\n getSpanName,\n onStartTracing,\n tryProcessError,\n tryProcessResponse,\n} from \"./tracingHelper.js\";\n\n/**\n * The programmatic identifier of the tracingPolicy.\n */\nexport const tracingPolicyName = \"inferenceTracingPolicy\";\n\n/**\n * A simple policy to create OpenTelemetry Spans for each request made by the pipeline\n * that has SpanOptions with a parent.\n * Requests made without a parent Span will not be recorded.\n */\nexport function tracingPolicy(): PipelinePolicy {\n const tracingClient = createTracingClient({\n namespace: \"Microsoft.CognitiveServices\",\n packageName: \"@azure/ai-inference-rest\",\n packageVersion: SDK_VERSION,\n });\n return {\n name: tracingPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const url = new URL(request.url);\n if (\n !tracingClient ||\n !url.href.endsWith(\"/chat/completions\") ||\n getRequestBody(request)?.body?.stream\n ) {\n return next(request);\n }\n\n const { span, tracingContext } = tryCreateSpan(tracingClient, request) ?? {};\n\n if (!span || !tracingContext) {\n return next(request);\n }\n\n try {\n request.tracingOptions ??= {};\n request.tracingOptions.tracingContext = tracingContext;\n\n onStartTracing(span, request, request.url);\n const response = await tracingClient.withContext(tracingContext, next, request);\n tryProcessResponse(span, response);\n return response;\n } catch (err: any) {\n tryProcessError(span, err);\n throw err;\n } finally {\n span.end();\n }\n },\n };\n}\n\nfunction tryCreateSpan(\n tracingClient: TracingClient,\n request: PipelineRequest,\n): { span: TracingSpan; tracingContext: TracingContext } | undefined {\n try {\n // As per spec, we do not need to differentiate between HTTP and HTTPS in span name.\n const { span, updatedOptions } = tracingClient.startSpan(\n getSpanName(request),\n { tracingOptions: request.tracingOptions },\n {\n spanKind: \"client\",\n },\n );\n\n return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };\n } catch (e: any) {\n logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\n\n"]}
@@ -1,6 +1,13 @@
1
- import type { GetChatCompletionsParameters, GetModelInfoParameters, GetEmbeddingsParameters, GetImageEmbeddingsParameters } from "./parameters.js";
2
- import type { GetChatCompletions200Response, GetChatCompletionsDefaultResponse, GetModelInfo200Response, GetModelInfoDefaultResponse, GetEmbeddings200Response, GetEmbeddingsDefaultResponse, GetImageEmbeddings200Response, GetImageEmbeddingsDefaultResponse } from "./responses.js";
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
3
8
  import type { Client, StreamableMethod } from "@azure-rest/core-client";
9
+ import type { GetChatCompletionsParameters, GetEmbeddingsParameters, GetImageEmbeddingsParameters, GetModelInfoParameters } from "./parameters.js";
10
+ import type { GetChatCompletions200Response, GetChatCompletionsDefaultResponse, GetEmbeddings200Response, GetEmbeddingsDefaultResponse, GetImageEmbeddings200Response, GetImageEmbeddingsDefaultResponse, GetModelInfo200Response, GetModelInfoDefaultResponse } from "./responses.js";
4
11
  export interface GetChatCompletions {
5
12
  /**
6
13
  * Gets chat completions for the provided chat messages.
@@ -24,7 +31,7 @@ export interface GetEmbeddings {
24
31
  * Return the embedding vectors for given text prompts.
25
32
  * The method makes a REST API call to the `/embeddings` route on the given endpoint.
26
33
  */
27
- post(options?: GetEmbeddingsParameters): StreamableMethod<GetEmbeddings200Response | GetEmbeddingsDefaultResponse>;
34
+ post(options: GetEmbeddingsParameters): StreamableMethod<GetEmbeddings200Response | GetEmbeddingsDefaultResponse>;
28
35
  }
29
36
  export interface GetImageEmbeddings {
30
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"clientDefinitions.d.ts","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CACF,OAAO,EAAE,4BAA4B,GACpC,gBAAgB,CACjB,6BAA6B,GAAG,iCAAiC,CAClE,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,CACD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gBAAgB,CAAC,uBAAuB,GAAG,2BAA2B,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CACF,OAAO,CAAC,EAAE,uBAAuB,GAChC,gBAAgB,CAAC,wBAAwB,GAAG,4BAA4B,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CACF,OAAO,EAAE,4BAA4B,GACpC,gBAAgB,CACjB,6BAA6B,GAAG,iCAAiC,CAClE,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,iFAAiF;IACjF,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,oEAAoE;IACpE,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,2EAA2E;IAC3E,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IACrC,kFAAkF;IAClF,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAAC;CAClD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"clientDefinitions.d.ts","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CACF,OAAO,EAAE,4BAA4B,GACpC,gBAAgB,CAAC,6BAA6B,GAAG,iCAAiC,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,CACD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gBAAgB,CAAC,uBAAuB,GAAG,2BAA2B,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CACF,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAAC,wBAAwB,GAAG,4BAA4B,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CACF,OAAO,EAAE,4BAA4B,GACpC,gBAAgB,CAAC,6BAA6B,GAAG,iCAAiC,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,MAAM;IACrB,iFAAiF;IACjF,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,oEAAoE;IACpE,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,2EAA2E;IAC3E,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IACrC,kFAAkF;IAClF,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAAC;CAClD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n GetChatCompletionsParameters,\n GetModelInfoParameters,\n GetEmbeddingsParameters,\n GetImageEmbeddingsParameters,\n} from \"./parameters.js\";\nimport type {\n GetChatCompletions200Response,\n GetChatCompletionsDefaultResponse,\n GetModelInfo200Response,\n GetModelInfoDefaultResponse,\n GetEmbeddings200Response,\n GetEmbeddingsDefaultResponse,\n GetImageEmbeddings200Response,\n GetImageEmbeddingsDefaultResponse,\n} from \"./responses.js\";\nimport type { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface GetChatCompletions {\n /**\n * Gets chat completions for the provided chat messages.\n * Completions support a wide variety of tasks and generate text that continues from or \"completes\"\n * provided prompt data. The method makes a REST API call to the `/chat/completions` route\n * on the given endpoint.\n */\n post(\n options: GetChatCompletionsParameters,\n ): StreamableMethod<\n GetChatCompletions200Response | GetChatCompletionsDefaultResponse\n >;\n}\n\nexport interface GetModelInfo {\n /**\n * Returns information about the AI model.\n * The method makes a REST API call to the `/info` route on the given endpoint.\n * This method will only work when using Serverless API or Managed Compute endpoint.\n * It will not work for GitHub Models endpoint or Azure OpenAI endpoint.\n */\n get(\n options?: GetModelInfoParameters,\n ): StreamableMethod<GetModelInfo200Response | GetModelInfoDefaultResponse>;\n}\n\nexport interface GetEmbeddings {\n /**\n * Return the embedding vectors for given text prompts.\n * The method makes a REST API call to the `/embeddings` route on the given endpoint.\n */\n post(\n options?: GetEmbeddingsParameters,\n ): StreamableMethod<GetEmbeddings200Response | GetEmbeddingsDefaultResponse>;\n}\n\nexport interface GetImageEmbeddings {\n /**\n * Return the embedding vectors for given images.\n * The method makes a REST API call to the `/images/embeddings` route on the given endpoint.\n */\n post(\n options: GetImageEmbeddingsParameters,\n ): StreamableMethod<\n GetImageEmbeddings200Response | GetImageEmbeddingsDefaultResponse\n >;\n}\n\nexport interface Routes {\n /** Resource for '/chat/completions' has methods for the following verbs: post */\n (path: \"/chat/completions\"): GetChatCompletions;\n /** Resource for '/info' has methods for the following verbs: get */\n (path: \"/info\"): GetModelInfo;\n /** Resource for '/embeddings' has methods for the following verbs: post */\n (path: \"/embeddings\"): GetEmbeddings;\n /** Resource for '/images/embeddings' has methods for the following verbs: post */\n (path: \"/images/embeddings\"): GetImageEmbeddings;\n}\n\nexport type ModelClient = Client & {\n path: Routes;\n};\n"]}
1
+ {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport type { Client, StreamableMethod } from \"@azure-rest/core-client\";\nimport type {\n GetChatCompletionsParameters,\n GetEmbeddingsParameters,\n GetImageEmbeddingsParameters,\n GetModelInfoParameters,\n} from \"./parameters.js\";\nimport type {\n GetChatCompletions200Response,\n GetChatCompletionsDefaultResponse,\n GetEmbeddings200Response,\n GetEmbeddingsDefaultResponse,\n GetImageEmbeddings200Response,\n GetImageEmbeddingsDefaultResponse,\n GetModelInfo200Response,\n GetModelInfoDefaultResponse,\n} from \"./responses.js\";\n\nexport interface GetChatCompletions {\n /**\n * Gets chat completions for the provided chat messages.\n * Completions support a wide variety of tasks and generate text that continues from or \"completes\"\n * provided prompt data. The method makes a REST API call to the `/chat/completions` route\n * on the given endpoint.\n */\n post(\n options: GetChatCompletionsParameters,\n ): StreamableMethod<GetChatCompletions200Response | GetChatCompletionsDefaultResponse>;\n}\n\nexport interface GetModelInfo {\n /**\n * Returns information about the AI model.\n * The method makes a REST API call to the `/info` route on the given endpoint.\n * This method will only work when using Serverless API or Managed Compute endpoint.\n * It will not work for GitHub Models endpoint or Azure OpenAI endpoint.\n */\n get(\n options?: GetModelInfoParameters,\n ): StreamableMethod<GetModelInfo200Response | GetModelInfoDefaultResponse>;\n}\n\nexport interface GetEmbeddings {\n /**\n * Return the embedding vectors for given text prompts.\n * The method makes a REST API call to the `/embeddings` route on the given endpoint.\n */\n post(\n options: GetEmbeddingsParameters,\n ): StreamableMethod<GetEmbeddings200Response | GetEmbeddingsDefaultResponse>;\n}\n\nexport interface GetImageEmbeddings {\n /**\n * Return the embedding vectors for given images.\n * The method makes a REST API call to the `/images/embeddings` route on the given endpoint.\n */\n post(\n options: GetImageEmbeddingsParameters,\n ): StreamableMethod<GetImageEmbeddings200Response | GetImageEmbeddingsDefaultResponse>;\n}\n\nexport interface Routes {\n /** Resource for '/chat/completions' has methods for the following verbs: post */\n (path: \"/chat/completions\"): GetChatCompletions;\n /** Resource for '/info' has methods for the following verbs: get */\n (path: \"/info\"): GetModelInfo;\n /** Resource for '/embeddings' has methods for the following verbs: post */\n (path: \"/embeddings\"): GetEmbeddings;\n /** Resource for '/images/embeddings' has methods for the following verbs: post */\n (path: \"/images/embeddings\"): GetImageEmbeddings;\n}\n\nexport type ModelClient = Client & {\n path: Routes;\n};\n"]}
@@ -1,2 +1,9 @@
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
1
8
  export declare const SDK_VERSION: string;
2
9
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAuB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,MAAuB,CAAC"}
@@ -1,4 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ /**
4
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
5
+ *
6
+ * Any changes you make here may be lost.
7
+ *
8
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
9
+ */
3
10
  export const SDK_VERSION = "1.0.0-beta.4";
4
11
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"1.0.0-beta.4\";\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAW,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\nexport const SDK_VERSION: string = \"1.0.0-beta.4\";\n"]}
@@ -1,10 +1,18 @@
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
1
8
  import ModelClient from "./modelClient.js";
2
- export * from "./modelClient.js";
3
- export * from "./parameters.js";
4
- export * from "./responses.js";
5
9
  export * from "./clientDefinitions.js";
6
10
  export * from "./isUnexpected.js";
11
+ export * from "./modelClient.js";
7
12
  export * from "./models.js";
8
13
  export * from "./outputModels.js";
14
+ export * from "./parameters.js";
15
+ export * from "./responses.js";
16
+ export type { ErrorModel } from "@azure-rest/core-client";
9
17
  export default ModelClient;
10
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAe,WAAW,CAAC"}
@@ -1,12 +1,19 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ /**
4
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
5
+ *
6
+ * Any changes you make here may be lost.
7
+ *
8
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
9
+ */
3
10
  import ModelClient from "./modelClient.js";
4
- export * from "./modelClient.js";
5
- export * from "./parameters.js";
6
- export * from "./responses.js";
7
11
  export * from "./clientDefinitions.js";
8
12
  export * from "./isUnexpected.js";
13
+ export * from "./modelClient.js";
9
14
  export * from "./models.js";
10
15
  export * from "./outputModels.js";
16
+ export * from "./parameters.js";
17
+ export * from "./responses.js";
11
18
  export default ModelClient;
12
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,eAAe,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport ModelClient from \"./modelClient.js\";\n\nexport * from \"./modelClient.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\n\nexport default ModelClient;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;GAMG;AAEH,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,eAAe,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport ModelClient from \"./modelClient.js\";\n\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./modelClient.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport type { ErrorModel } from \"@azure-rest/core-client\";\n\nexport default ModelClient;\n"]}
@@ -1,4 +1,11 @@
1
- import type { GetChatCompletions200Response, GetChatCompletionsDefaultResponse, GetModelInfo200Response, GetModelInfoDefaultResponse, GetEmbeddings200Response, GetEmbeddingsDefaultResponse, GetImageEmbeddings200Response, GetImageEmbeddingsDefaultResponse } from "./responses.js";
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
8
+ import type { GetChatCompletions200Response, GetChatCompletionsDefaultResponse, GetEmbeddings200Response, GetEmbeddingsDefaultResponse, GetImageEmbeddings200Response, GetImageEmbeddingsDefaultResponse, GetModelInfo200Response, GetModelInfoDefaultResponse } from "./responses.js";
2
9
  export declare function isUnexpected(response: GetChatCompletions200Response | GetChatCompletionsDefaultResponse): response is GetChatCompletionsDefaultResponse;
3
10
  export declare function isUnexpected(response: GetModelInfo200Response | GetModelInfoDefaultResponse): response is GetModelInfoDefaultResponse;
4
11
  export declare function isUnexpected(response: GetEmbeddings200Response | GetEmbeddingsDefaultResponse): response is GetEmbeddingsDefaultResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AASxB,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,6BAA6B,GAAG,iCAAiC,GAC1E,QAAQ,IAAI,iCAAiC,CAAC;AACjD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,uBAAuB,GAAG,2BAA2B,GAC9D,QAAQ,IAAI,2BAA2B,CAAC;AAC3C,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,wBAAwB,GAAG,4BAA4B,GAChE,QAAQ,IAAI,4BAA4B,CAAC;AAC5C,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,6BAA6B,GAAG,iCAAiC,GAC1E,QAAQ,IAAI,iCAAiC,CAAC"}
1
+ {"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AASxB,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,6BAA6B,GAAG,iCAAiC,GAC1E,QAAQ,IAAI,iCAAiC,CAAC;AACjD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,uBAAuB,GAAG,2BAA2B,GAC9D,QAAQ,IAAI,2BAA2B,CAAC;AAC3C,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,wBAAwB,GAAG,4BAA4B,GAChE,QAAQ,IAAI,4BAA4B,CAAC;AAC5C,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,6BAA6B,GAAG,iCAAiC,GAC1E,QAAQ,IAAI,iCAAiC,CAAC"}
@@ -19,11 +19,7 @@ export function isUnexpected(response) {
19
19
  function getParametrizedPathSuccess(method, path) {
20
20
  var _a, _b, _c, _d;
21
21
  const pathParts = path.split("/");
22
- // Traverse list to match the longest candidate
23
- // matchedLen: the length of candidate path
24
- // matchedValue: the matched status code array
25
22
  let matchedLen = -1, matchedValue = [];
26
- // Iterate the responseMap to find a match
27
23
  for (const [key, value] of Object.entries(responseMap)) {
28
24
  // Extracting the path from the map key which is in format
29
25
  // GET /path/foo
@@ -36,8 +32,7 @@ function getParametrizedPathSuccess(method, path) {
36
32
  // track if we have found a match to return the values found.
37
33
  let found = true;
38
34
  for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
39
- if (((_a = candidateParts[i]) === null || _a === void 0 ? void 0 : _a.startsWith("{")) &&
40
- ((_b = candidateParts[i]) === null || _b === void 0 ? void 0 : _b.indexOf("}")) !== -1) {
35
+ if (((_a = candidateParts[i]) === null || _a === void 0 ? void 0 : _a.startsWith("{")) && ((_b = candidateParts[i]) === null || _b === void 0 ? void 0 : _b.indexOf("}")) !== -1) {
41
36
  const start = candidateParts[i].indexOf("}") + 1, end = (_c = candidateParts[i]) === null || _c === void 0 ? void 0 : _c.length;
42
37
  // If the current part of the candidate is a "template" part
43
38
  // Try to use the suffix of pattern to match the path
@@ -1 +1 @@
1
- {"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n GetChatCompletions200Response,\n GetChatCompletionsDefaultResponse,\n GetModelInfo200Response,\n GetModelInfoDefaultResponse,\n GetEmbeddings200Response,\n GetEmbeddingsDefaultResponse,\n GetImageEmbeddings200Response,\n GetImageEmbeddingsDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /chat/completions\": [\"200\"],\n \"GET /info\": [\"200\"],\n \"POST /embeddings\": [\"200\"],\n \"POST /images/embeddings\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: GetChatCompletions200Response | GetChatCompletionsDefaultResponse,\n): response is GetChatCompletionsDefaultResponse;\nexport function isUnexpected(\n response: GetModelInfo200Response | GetModelInfoDefaultResponse,\n): response is GetModelInfoDefaultResponse;\nexport function isUnexpected(\n response: GetEmbeddings200Response | GetEmbeddingsDefaultResponse,\n): response is GetEmbeddingsDefaultResponse;\nexport function isUnexpected(\n response: GetImageEmbeddings200Response | GetImageEmbeddingsDefaultResponse,\n): response is GetImageEmbeddingsDefaultResponse;\nexport function isUnexpected(\n response:\n | GetChatCompletions200Response\n | GetChatCompletionsDefaultResponse\n | GetModelInfo200Response\n | GetModelInfoDefaultResponse\n | GetEmbeddings200Response\n | GetEmbeddingsDefaultResponse\n | GetImageEmbeddings200Response\n | GetImageEmbeddingsDefaultResponse,\n): response is\n | GetChatCompletionsDefaultResponse\n | GetModelInfoDefaultResponse\n | GetEmbeddingsDefaultResponse\n | GetImageEmbeddingsDefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = getParametrizedPathSuccess(method, url.pathname);\n }\n return !pathDetails.includes(response.status);\n}\n\nfunction getParametrizedPathSuccess(method: string, path: string): string[] {\n const pathParts = path.split(\"/\");\n\n // Traverse list to match the longest candidate\n // matchedLen: the length of candidate path\n // matchedValue: the matched status code array\n let matchedLen = -1,\n matchedValue: string[] = [];\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (\n let i = candidateParts.length - 1, j = pathParts.length - 1;\n i >= 1 && j >= 1;\n i--, j--\n ) {\n if (\n candidateParts[i]?.startsWith(\"{\") &&\n candidateParts[i]?.indexOf(\"}\") !== -1\n ) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(\n `${candidateParts[i]?.slice(start, end)}`,\n ).test(pathParts[j] || \"\");\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
1
+ {"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport type {\n GetChatCompletions200Response,\n GetChatCompletionsDefaultResponse,\n GetEmbeddings200Response,\n GetEmbeddingsDefaultResponse,\n GetImageEmbeddings200Response,\n GetImageEmbeddingsDefaultResponse,\n GetModelInfo200Response,\n GetModelInfoDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /chat/completions\": [\"200\"],\n \"GET /info\": [\"200\"],\n \"POST /embeddings\": [\"200\"],\n \"POST /images/embeddings\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: GetChatCompletions200Response | GetChatCompletionsDefaultResponse,\n): response is GetChatCompletionsDefaultResponse;\nexport function isUnexpected(\n response: GetModelInfo200Response | GetModelInfoDefaultResponse,\n): response is GetModelInfoDefaultResponse;\nexport function isUnexpected(\n response: GetEmbeddings200Response | GetEmbeddingsDefaultResponse,\n): response is GetEmbeddingsDefaultResponse;\nexport function isUnexpected(\n response: GetImageEmbeddings200Response | GetImageEmbeddingsDefaultResponse,\n): response is GetImageEmbeddingsDefaultResponse;\nexport function isUnexpected(\n response:\n | GetChatCompletions200Response\n | GetChatCompletionsDefaultResponse\n | GetModelInfo200Response\n | GetModelInfoDefaultResponse\n | GetEmbeddings200Response\n | GetEmbeddingsDefaultResponse\n | GetImageEmbeddings200Response\n | GetImageEmbeddingsDefaultResponse,\n): response is\n | GetChatCompletionsDefaultResponse\n | GetModelInfoDefaultResponse\n | GetEmbeddingsDefaultResponse\n | GetImageEmbeddingsDefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = getParametrizedPathSuccess(method, url.pathname);\n }\n\n return !pathDetails.includes(response.status);\n}\n\nfunction getParametrizedPathSuccess(method: string, path: string): string[] {\n const pathParts = path.split(\"/\");\n let matchedLen = -1,\n matchedValue: string[] = [];\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {\n if (candidateParts[i]?.startsWith(\"{\") && candidateParts[i]?.indexOf(\"}\") !== -1) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(\n pathParts[j] || \"\",\n );\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM,qCAAqC,CAAC"}
@@ -1,5 +1,12 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ /**
4
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
5
+ *
6
+ * Any changes you make here may be lost.
7
+ *
8
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
9
+ */
3
10
  import { createClientLogger } from "@azure/logger";
4
11
  export const logger = createClientLogger("ai-inference");
5
12
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"ai-inference\");\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport { createClientLogger } from \"@azure/logger\";\n\nexport const logger = createClientLogger(\"ai-inference\");\n"]}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
1
8
  import type { ClientOptions } from "@azure-rest/core-client";
2
9
  import type { TokenCredential, KeyCredential } from "@azure/core-auth";
3
10
  import type { ModelClient } from "./clientDefinitions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"modelClient.d.ts","sourceRoot":"","sources":["../../src/modelClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,6CAA6C;AAC7C,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,eAAe,GAAG,aAAa,EAC5C,EAAE,UAAiC,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GACzE,WAAW,CAwDb"}
1
+ {"version":3,"file":"modelClient.d.ts","sourceRoot":"","sources":["../../src/modelClient.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,6CAA6C;AAC7C,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,eAAe,GAAG,aAAa,EAC5C,EAAE,UAAiC,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GACzE,WAAW,CAwDb"}
@@ -15,7 +15,7 @@ export default function createClient(endpointParam, credentials, _a = {}) {
15
15
  var _b, _c, _d, _e, _f, _g, _h, _j;
16
16
  var { apiVersion = "2024-05-01-preview" } = _a, options = __rest(_a, ["apiVersion"]);
17
17
  const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}`;
18
- const userAgentInfo = `azsdk-js-ai-inference/1.0.0-beta.3`;
18
+ const userAgentInfo = `azsdk-js-ai-inference-rest/1.0.0-beta.6`;
19
19
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
20
20
  ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
21
21
  : `${userAgentInfo}`;
@@ -1 +1 @@
1
- {"version":3,"file":"modelClient.js","sourceRoot":"","sources":["../../src/modelClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger.js\";\nimport type { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport { isKeyCredential } from \"@azure/core-auth\";\nimport type { ModelClient } from \"./clientDefinitions.js\";\nimport { tracingPolicy } from \"./tracingPolicy.js\";\n\n/** The optional parameters for the client */\nexport interface ModelClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `ModelClient`\n * @param endpointParam - The parameter endpointParam\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n { apiVersion = \"2024-05-01-preview\", ...options }: ModelClientOptions = {},\n): ModelClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}`;\n const userAgentInfo = `azsdk-js-ai-inference/1.0.0-beta.3`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://ml.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"api-key\",\n },\n };\n\n const client = getClient(endpointUrl, credentials, options) as ModelClient;\n\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"InferenceTracingPolicy\",\n sendRequest: (req, next) => {\n return tracingPolicy().sendRequest(req, next);\n },\n });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n if (isKeyCredential(credentials)) {\n client.pipeline.addPolicy({\n name: \"customKeyCredentialPolicy\",\n async sendRequest(request, next) {\n request.headers.set(\"Authorization\", \"Bearer \" + credentials.key);\n return next(request);\n },\n });\n }\n\n return client;\n}\n"]}
1
+ {"version":3,"file":"modelClient.js","sourceRoot":"","sources":["../../src/modelClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!\n *\n * Any changes you make here may be lost.\n *\n * If you need to make changes, please do so in the original source file, \\{project-root\\}/sources/custom\n */\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger.js\";\nimport type { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport { isKeyCredential } from \"@azure/core-auth\";\nimport type { ModelClient } from \"./clientDefinitions.js\";\nimport { tracingPolicy } from \"./tracingPolicy.js\";\n\n/** The optional parameters for the client */\nexport interface ModelClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `ModelClient`\n * @param endpointParam - The parameter endpointParam\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n { apiVersion = \"2024-05-01-preview\", ...options }: ModelClientOptions = {},\n): ModelClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}`;\n const userAgentInfo = `azsdk-js-ai-inference-rest/1.0.0-beta.6`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://ml.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"api-key\",\n },\n };\n\n const client = getClient(endpointUrl, credentials, options) as ModelClient;\n\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"InferenceTracingPolicy\",\n sendRequest: (req, next) => {\n return tracingPolicy().sendRequest(req, next);\n },\n });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n if (isKeyCredential(credentials)) {\n client.pipeline.addPolicy({\n name: \"customKeyCredentialPolicy\",\n async sendRequest(request, next) {\n request.headers.set(\"Authorization\", \"Bearer \" + credentials.key);\n return next(request);\n },\n });\n }\n\n return client;\n}\n"]}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
3
+ *
4
+ * Any changes you make here may be lost.
5
+ *
6
+ * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
7
+ */
1
8
  /** An abstract representation of a chat message as provided in a request. */
2
9
  export interface ChatRequestMessageParent {
3
10
  role: ChatRole;
@@ -12,6 +19,16 @@ export interface ChatRequestSystemMessage extends ChatRequestMessageParent {
12
19
  /** The contents of the system message. */
13
20
  content: string;
14
21
  }
22
+ /**
23
+ * A request chat message containing developer instructions that influence how the model will generate a chat completions
24
+ * response. Some AI models support a developer message instead of a system message.
25
+ */
26
+ export interface ChatRequestDeveloperMessage extends ChatRequestMessageParent {
27
+ /** The chat role associated with this message, which is always 'developer' for developer messages. */
28
+ role: "developer";
29
+ /** The contents of the developer message. */
30
+ content: string;
31
+ }
15
32
  /** A request chat message representing user input to the assistant. */
16
33
  export interface ChatRequestUserMessage extends ChatRequestMessageParent {
17
34
  /** The chat role associated with this message, which is always 'user' for user messages. */
@@ -49,6 +66,36 @@ export interface ChatMessageImageUrl {
49
66
  */
50
67
  detail?: ChatMessageImageDetailLevel;
51
68
  }
69
+ /** A structured chat content item for audio content passed as a url. */
70
+ export interface ChatMessageAudioUrlContentItem extends ChatMessageContentItemParent {
71
+ /** The discriminated object type: always 'audio_url' for this type. */
72
+ type: "audio_url";
73
+ /** The details of the audio url. */
74
+ audio_url: ChatMessageInputAudioUrl;
75
+ }
76
+ /** The details of the audio url. */
77
+ export interface ChatMessageInputAudioUrl {
78
+ /** The URL of the audio content. */
79
+ url: string;
80
+ }
81
+ /** A structured chat content item for audio content passed as base64 encoded data. */
82
+ export interface ChatMessageAudioDataContentItem extends ChatMessageContentItemParent {
83
+ /** The discriminated object type: always 'input_audio' for this type. */
84
+ type: "input_audio";
85
+ /** The details of the input audio data. */
86
+ input_audio: ChatMessageInputAudio;
87
+ }
88
+ /** The details of the input audio data. */
89
+ export interface ChatMessageInputAudio {
90
+ /** Base64 encoded audio data */
91
+ data: string;
92
+ /**
93
+ * The audio format of the audio content.
94
+ *
95
+ * Possible values: "wav", "mp3"
96
+ */
97
+ format: AudioContentFormat;
98
+ }
52
99
  /** A request chat message representing response or action from the assistant. */
53
100
  export interface ChatRequestAssistantMessage extends ChatRequestMessageParent {
54
101
  /** The chat role associated with this message, which is always 'assistant' for assistant messages. */
@@ -124,16 +171,16 @@ export interface ChatCompletionsResponseFormatJsonSchema extends ChatCompletions
124
171
  json_schema: ChatCompletionsResponseFormatJsonSchemaDefinition;
125
172
  }
126
173
  /**
127
- * Defines the response format for chat completions as JSON with a given schema. The AI model
128
- * will need to adhere to this schema when generating completions.
174
+ * Defines the response format for chat completions as JSON with a given schema.
175
+ * The AI model will need to adhere to this schema when generating completions.
129
176
  */
130
177
  export interface ChatCompletionsResponseFormatJsonSchemaDefinition {
131
178
  /** A name that labels this JSON schema. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64. */
132
179
  name: string;
133
180
  /**
134
181
  * The definition of the JSON schema. See https://json-schema.org/overview/what-is-jsonschema.
135
- * Note that AI models usually only support a subset of the keywords defined by JSON schema. Consult your AI model documentation
136
- * to determine what is supported.
182
+ * Note that AI models usually only support a subset of the keywords defined by JSON schema.
183
+ * Consult your AI model documentation to determine what is supported.
137
184
  */
138
185
  schema: Record<string, unknown>;
139
186
  /** A description of the response format, used by the AI model to determine how to generate responses in this format. */
@@ -141,8 +188,8 @@ export interface ChatCompletionsResponseFormatJsonSchemaDefinition {
141
188
  /**
142
189
  * If set to true, the service will error out if the provided JSON schema contains keywords
143
190
  * not supported by the AI model. An example of such keyword may be `maxLength` for JSON type `string`.
144
- * If false, and the provided JSON schema contains keywords not supported
145
- * by the AI model, the AI model will not error out. Instead it will ignore the unsupported keywords.
191
+ * If false, and the provided JSON schema contains keywords not supported by the AI model,
192
+ * the AI model will not error out. Instead it will ignore the unsupported keywords.
146
193
  */
147
194
  strict?: boolean;
148
195
  }
@@ -188,9 +235,9 @@ export interface ImageEmbeddingInput {
188
235
  text?: string;
189
236
  }
190
237
  /** An abstract representation of a chat message as provided in a request. */
191
- export type ChatRequestMessage = ChatRequestMessageParent | ChatRequestSystemMessage | ChatRequestUserMessage | ChatRequestAssistantMessage | ChatRequestToolMessage;
238
+ export type ChatRequestMessage = ChatRequestMessageParent | ChatRequestSystemMessage | ChatRequestDeveloperMessage | ChatRequestUserMessage | ChatRequestAssistantMessage | ChatRequestToolMessage;
192
239
  /** An abstract representation of a structured content item within a chat message. */
193
- export type ChatMessageContentItem = ChatMessageContentItemParent | ChatMessageTextContentItem | ChatMessageImageContentItem;
240
+ export type ChatMessageContentItem = ChatMessageContentItemParent | ChatMessageTextContentItem | ChatMessageImageContentItem | ChatMessageAudioUrlContentItem | ChatMessageAudioDataContentItem;
194
241
  /**
195
242
  * Represents the format that the model must output. Use this to enable JSON mode instead of the default text mode.
196
243
  * Note that to enable JSON mode, some AI models may also require you to instruct the model to produce JSON
@@ -203,6 +250,8 @@ export type ExtraParameters = string;
203
250
  export type ChatRole = string;
204
251
  /** Alias for ChatMessageImageDetailLevel */
205
252
  export type ChatMessageImageDetailLevel = string;
253
+ /** Alias for AudioContentFormat */
254
+ export type AudioContentFormat = string;
206
255
  /** Alias for ChatCompletionsToolChoicePreset */
207
256
  export type ChatCompletionsToolChoicePreset = string;
208
257
  /** Alias for EmbeddingEncodingFormat */
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}