@zhivex-ai/azure-openai 0.1.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.
@@ -0,0 +1,26 @@
1
+ import { type CallableProviderAdapter, type ProviderAdapter } from "@zhivex-ai/core";
2
+ export interface AzureOpenAIProviderOptions {
3
+ apiKey?: string;
4
+ endpoint?: string;
5
+ apiVersion?: string;
6
+ fetch?: typeof globalThis.fetch;
7
+ }
8
+ export interface AzureOpenAILanguageModelOptions {
9
+ top_p?: number;
10
+ frequency_penalty?: number;
11
+ presence_penalty?: number;
12
+ stop?: string | string[];
13
+ seed?: number;
14
+ user?: string;
15
+ tool_choice?: "none" | "auto" | "required" | {
16
+ type: "function";
17
+ function: {
18
+ name: string;
19
+ };
20
+ };
21
+ [key: string]: unknown;
22
+ }
23
+ export declare const createAzureOpenAI: (options?: AzureOpenAIProviderOptions) => CallableProviderAdapter & ProviderAdapter & {
24
+ rawFetch: typeof globalThis.fetch;
25
+ };
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,uBAAuB,EAS5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC9F,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmUD,eAAO,MAAM,iBAAiB,GAC5B,UAAS,0BAA+B,KACvC,uBAAuB,GAAG,eAAe,GAAG;IAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CA2LjF,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,445 @@
1
+ import { toJSONSchema } from "zod";
2
+ import { ConfigurationError, ProviderHTTPError, createProviderAdapter, normalizeFinishReason, streamSSE, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
3
+ const capabilities = {
4
+ streaming: true,
5
+ tools: true,
6
+ structuredOutput: true,
7
+ jsonMode: true,
8
+ toolChoice: true,
9
+ parallelToolCalls: true,
10
+ vision: true,
11
+ files: false,
12
+ audioInput: false,
13
+ audioOutput: false,
14
+ embeddings: true,
15
+ reasoning: true,
16
+ webSearch: false
17
+ };
18
+ const jsonHeaders = (apiKey) => ({
19
+ "content-type": "application/json",
20
+ "api-key": apiKey
21
+ });
22
+ const parseJson = async (response) => {
23
+ if (!response.ok) {
24
+ const body = await response.text();
25
+ throw new ProviderHTTPError(`Azure OpenAI request failed with status ${response.status}.`, response.status, {
26
+ responseBody: body
27
+ });
28
+ }
29
+ return response.json();
30
+ };
31
+ const mapContentParts = (message) => {
32
+ const textParts = message.parts.filter((part) => part.type === "text");
33
+ const imageParts = message.parts.filter((part) => part.type === "image");
34
+ if (!imageParts.length) {
35
+ return textParts.map((part) => part.text).join("");
36
+ }
37
+ return [
38
+ ...textParts.map((part) => ({
39
+ type: "text",
40
+ text: part.text
41
+ })),
42
+ ...imageParts.map((part) => ({
43
+ type: "image_url",
44
+ image_url: {
45
+ url: part.image
46
+ }
47
+ }))
48
+ ];
49
+ };
50
+ const mapMessages = (messages) => messages.map((message) => {
51
+ if (message.role === "tool") {
52
+ const toolResult = message.parts.find((part) => part.type === "tool-result");
53
+ return {
54
+ role: "tool",
55
+ tool_call_id: toolResult?.type === "tool-result" ? toolResult.toolResult.toolCallId : undefined,
56
+ content: toolResult?.type === "tool-result"
57
+ ? JSON.stringify(toolResult.toolResult.isError ? toolResult.toolResult.error : toolResult.toolResult.output)
58
+ : ""
59
+ };
60
+ }
61
+ const toolCalls = message.parts
62
+ .filter((part) => part.type === "tool-call")
63
+ .map((part) => ({
64
+ id: part.toolCall.id,
65
+ type: "function",
66
+ function: {
67
+ name: part.toolCall.name,
68
+ arguments: JSON.stringify(part.toolCall.input)
69
+ }
70
+ }));
71
+ const payload = {
72
+ role: message.role,
73
+ content: mapContentParts(message)
74
+ };
75
+ if (toolCalls.length) {
76
+ payload.tool_calls = toolCalls;
77
+ }
78
+ return payload;
79
+ });
80
+ const mapTools = (input) => input
81
+ ? Object.values(input).map((tool) => ({
82
+ type: "function",
83
+ function: {
84
+ name: tool.name,
85
+ description: tool.description,
86
+ parameters: toJSONSchema(tool.schema)
87
+ }
88
+ }))
89
+ : undefined;
90
+ const mapStructuredOutput = (input) => {
91
+ if (!input.structuredOutput || input.structuredOutput.mode !== "native") {
92
+ return undefined;
93
+ }
94
+ return {
95
+ type: "json_schema",
96
+ json_schema: {
97
+ name: input.structuredOutput.name ?? "response",
98
+ strict: true,
99
+ schema: toJSONSchema(input.structuredOutput.schema)
100
+ }
101
+ };
102
+ };
103
+ const parseAssistantMessage = (message) => ({
104
+ role: "assistant",
105
+ parts: [
106
+ ...(typeof message.content === "string" && message.content
107
+ ? [{ type: "text", text: message.content }]
108
+ : []),
109
+ ...((message.tool_calls ?? []).map((call) => ({
110
+ type: "tool-call",
111
+ toolCall: {
112
+ id: call.id,
113
+ name: call.function.name,
114
+ input: JSON.parse(call.function.arguments ?? "{}")
115
+ }
116
+ })) ?? [])
117
+ ]
118
+ });
119
+ class AzureOpenAILanguageModel {
120
+ modelId;
121
+ apiKey;
122
+ baseURL;
123
+ fetcher;
124
+ provider = "azure-openai";
125
+ capabilities = capabilities;
126
+ constructor(modelId, apiKey, baseURL, fetcher) {
127
+ this.modelId = modelId;
128
+ this.apiKey = apiKey;
129
+ this.baseURL = baseURL;
130
+ this.fetcher = fetcher;
131
+ }
132
+ async generate(input) {
133
+ const { signal, cleanup } = withTimeoutSignal(input);
134
+ try {
135
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
136
+ method: "POST",
137
+ headers: jsonHeaders(this.apiKey),
138
+ signal,
139
+ body: JSON.stringify({
140
+ model: this.modelId,
141
+ messages: mapMessages(input.messages),
142
+ tools: mapTools(input.tools),
143
+ response_format: mapStructuredOutput(input),
144
+ temperature: input.temperature,
145
+ max_tokens: input.maxTokens,
146
+ stream: false,
147
+ ...input.providerOptions
148
+ })
149
+ }), input);
150
+ const json = await parseJson(response);
151
+ const choice = json.choices?.[0];
152
+ const message = choice?.message ?? {};
153
+ const assistantMessage = parseAssistantMessage(message);
154
+ return {
155
+ messages: [assistantMessage],
156
+ text: assistantMessage.parts
157
+ .filter((part) => part.type === "text")
158
+ .map((part) => part.text)
159
+ .join(""),
160
+ finishReason: normalizeFinishReason(choice?.finish_reason),
161
+ providerFinishReason: choice?.finish_reason,
162
+ usage: {
163
+ inputTokens: json.usage?.prompt_tokens,
164
+ outputTokens: json.usage?.completion_tokens,
165
+ totalTokens: json.usage?.total_tokens
166
+ },
167
+ rawResponse: json
168
+ };
169
+ }
170
+ finally {
171
+ cleanup();
172
+ }
173
+ }
174
+ async stream(input) {
175
+ const { signal, cleanup } = withTimeoutSignal(input);
176
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
177
+ method: "POST",
178
+ headers: jsonHeaders(this.apiKey),
179
+ signal,
180
+ body: JSON.stringify({
181
+ model: this.modelId,
182
+ messages: mapMessages(input.messages),
183
+ tools: mapTools(input.tools),
184
+ response_format: mapStructuredOutput(input),
185
+ temperature: input.temperature,
186
+ max_tokens: input.maxTokens,
187
+ stream: true,
188
+ stream_options: { include_usage: true },
189
+ ...input.providerOptions
190
+ })
191
+ }), input);
192
+ return (async function* () {
193
+ try {
194
+ const toolBuffers = new Map();
195
+ for await (const event of streamSSE(response)) {
196
+ if (event.data === "[DONE]") {
197
+ return;
198
+ }
199
+ const json = JSON.parse(event.data);
200
+ const choice = json.choices?.[0];
201
+ const delta = choice?.delta;
202
+ if (delta?.content) {
203
+ yield { type: "text-delta", textDelta: delta.content };
204
+ }
205
+ for (const toolCall of delta?.tool_calls ?? []) {
206
+ const id = toolCall.id ?? `${toolCall.index}`;
207
+ const existing = toolBuffers.get(id) ?? { name: "", args: "" };
208
+ existing.name ||= toolCall.function?.name ?? "";
209
+ existing.args += toolCall.function?.arguments ?? "";
210
+ toolBuffers.set(id, existing);
211
+ if (choice?.finish_reason === "tool_calls") {
212
+ yield {
213
+ type: "tool-call",
214
+ toolCall: {
215
+ id,
216
+ name: existing.name,
217
+ input: JSON.parse(existing.args || "{}")
218
+ }
219
+ };
220
+ }
221
+ }
222
+ if (choice?.finish_reason) {
223
+ yield {
224
+ type: "finish",
225
+ finishReason: normalizeFinishReason(choice.finish_reason),
226
+ providerFinishReason: choice.finish_reason,
227
+ usage: json.usage
228
+ ? {
229
+ inputTokens: json.usage.prompt_tokens,
230
+ outputTokens: json.usage.completion_tokens,
231
+ totalTokens: json.usage.total_tokens
232
+ }
233
+ : undefined
234
+ };
235
+ }
236
+ }
237
+ }
238
+ finally {
239
+ cleanup();
240
+ }
241
+ })();
242
+ }
243
+ }
244
+ class AzureOpenAIEmbeddingModel {
245
+ modelId;
246
+ apiKey;
247
+ baseURL;
248
+ fetcher;
249
+ provider = "azure-openai";
250
+ capabilities = capabilities;
251
+ constructor(modelId, apiKey, baseURL, fetcher) {
252
+ this.modelId = modelId;
253
+ this.apiKey = apiKey;
254
+ this.baseURL = baseURL;
255
+ this.fetcher = fetcher;
256
+ }
257
+ async embed(input) {
258
+ const { signal, cleanup } = withTimeoutSignal(input);
259
+ try {
260
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/embeddings`, {
261
+ method: "POST",
262
+ headers: jsonHeaders(this.apiKey),
263
+ signal,
264
+ body: JSON.stringify({
265
+ model: this.modelId,
266
+ input: input.values
267
+ })
268
+ }), input);
269
+ const json = await parseJson(response);
270
+ return {
271
+ embeddings: json.data.map((entry) => entry.embedding),
272
+ usage: {
273
+ inputTokens: json.usage?.prompt_tokens,
274
+ totalTokens: json.usage?.total_tokens
275
+ },
276
+ rawResponse: json
277
+ };
278
+ }
279
+ finally {
280
+ cleanup();
281
+ }
282
+ }
283
+ }
284
+ const normalizeEndpoint = (endpoint) => endpoint.replace(/\/+$/, "");
285
+ export const createAzureOpenAI = (options = {}) => {
286
+ const apiKey = options.apiKey ?? process.env.AZURE_OPENAI_API_KEY;
287
+ if (!apiKey) {
288
+ throw new ConfigurationError("Missing Azure OpenAI API key.");
289
+ }
290
+ const endpoint = options.endpoint ?? process.env.AZURE_OPENAI_ENDPOINT;
291
+ if (!endpoint) {
292
+ throw new ConfigurationError("Missing Azure OpenAI endpoint.");
293
+ }
294
+ const apiVersion = options.apiVersion ?? process.env.AZURE_OPENAI_API_VERSION;
295
+ const baseURL = apiVersion
296
+ ? `${normalizeEndpoint(endpoint)}/openai/deployments/{deployment}?api-version=${apiVersion}`
297
+ : `${normalizeEndpoint(endpoint)}/openai/v1`;
298
+ const fetcher = options.fetch ?? globalThis.fetch;
299
+ const resolveURL = (modelId, path) => baseURL.includes("{deployment}")
300
+ ? baseURL.replace("{deployment}", modelId).replace(/\?api-version=.*$/, `/${path}?api-version=${apiVersion}`)
301
+ : `${baseURL}/${path}`;
302
+ return createProviderAdapter({
303
+ name: "azure-openai",
304
+ languageModel: (modelId) => new (class extends AzureOpenAILanguageModel {
305
+ async generate(input) {
306
+ const { signal, cleanup } = withTimeoutSignal(input);
307
+ try {
308
+ const response = await withRetry(() => fetcher(resolveURL(modelId, "chat/completions"), {
309
+ method: "POST",
310
+ headers: jsonHeaders(apiKey),
311
+ signal,
312
+ body: JSON.stringify({
313
+ model: baseURL.endsWith("/openai/v1") ? modelId : undefined,
314
+ messages: mapMessages(input.messages),
315
+ tools: mapTools(input.tools),
316
+ response_format: mapStructuredOutput(input),
317
+ temperature: input.temperature,
318
+ max_tokens: input.maxTokens,
319
+ stream: false,
320
+ ...input.providerOptions
321
+ })
322
+ }), input);
323
+ const json = await parseJson(response);
324
+ const choice = json.choices?.[0];
325
+ const message = choice?.message ?? {};
326
+ const assistantMessage = parseAssistantMessage(message);
327
+ return {
328
+ messages: [assistantMessage],
329
+ text: assistantMessage.parts.filter((part) => part.type === "text").map((part) => part.text).join(""),
330
+ finishReason: normalizeFinishReason(choice?.finish_reason),
331
+ providerFinishReason: choice?.finish_reason,
332
+ usage: {
333
+ inputTokens: json.usage?.prompt_tokens,
334
+ outputTokens: json.usage?.completion_tokens,
335
+ totalTokens: json.usage?.total_tokens
336
+ },
337
+ rawResponse: json
338
+ };
339
+ }
340
+ finally {
341
+ cleanup();
342
+ }
343
+ }
344
+ async stream(input) {
345
+ const { signal, cleanup } = withTimeoutSignal(input);
346
+ const response = await withRetry(() => fetcher(resolveURL(modelId, "chat/completions"), {
347
+ method: "POST",
348
+ headers: jsonHeaders(apiKey),
349
+ signal,
350
+ body: JSON.stringify({
351
+ model: baseURL.endsWith("/openai/v1") ? modelId : undefined,
352
+ messages: mapMessages(input.messages),
353
+ tools: mapTools(input.tools),
354
+ response_format: mapStructuredOutput(input),
355
+ temperature: input.temperature,
356
+ max_tokens: input.maxTokens,
357
+ stream: true,
358
+ stream_options: { include_usage: true },
359
+ ...input.providerOptions
360
+ })
361
+ }), input);
362
+ return (async function* () {
363
+ try {
364
+ const toolBuffers = new Map();
365
+ for await (const event of streamSSE(response)) {
366
+ if (event.data === "[DONE]") {
367
+ return;
368
+ }
369
+ const json = JSON.parse(event.data);
370
+ const choice = json.choices?.[0];
371
+ const delta = choice?.delta;
372
+ if (delta?.content) {
373
+ yield { type: "text-delta", textDelta: delta.content };
374
+ }
375
+ for (const toolCall of delta?.tool_calls ?? []) {
376
+ const id = toolCall.id ?? `${toolCall.index}`;
377
+ const existing = toolBuffers.get(id) ?? { name: "", args: "" };
378
+ existing.name ||= toolCall.function?.name ?? "";
379
+ existing.args += toolCall.function?.arguments ?? "";
380
+ toolBuffers.set(id, existing);
381
+ if (choice?.finish_reason === "tool_calls") {
382
+ yield {
383
+ type: "tool-call",
384
+ toolCall: {
385
+ id,
386
+ name: existing.name,
387
+ input: JSON.parse(existing.args || "{}")
388
+ }
389
+ };
390
+ }
391
+ }
392
+ if (choice?.finish_reason) {
393
+ yield {
394
+ type: "finish",
395
+ finishReason: normalizeFinishReason(choice.finish_reason),
396
+ providerFinishReason: choice.finish_reason,
397
+ usage: json.usage
398
+ ? {
399
+ inputTokens: json.usage.prompt_tokens,
400
+ outputTokens: json.usage.completion_tokens,
401
+ totalTokens: json.usage.total_tokens
402
+ }
403
+ : undefined
404
+ };
405
+ }
406
+ }
407
+ }
408
+ finally {
409
+ cleanup();
410
+ }
411
+ })();
412
+ }
413
+ })(modelId, apiKey, baseURL, fetcher),
414
+ embeddingModel: (modelId) => new (class extends AzureOpenAIEmbeddingModel {
415
+ async embed(input) {
416
+ const { signal, cleanup } = withTimeoutSignal(input);
417
+ try {
418
+ const response = await withRetry(() => fetcher(resolveURL(modelId, "embeddings"), {
419
+ method: "POST",
420
+ headers: jsonHeaders(apiKey),
421
+ signal,
422
+ body: JSON.stringify({
423
+ model: baseURL.endsWith("/openai/v1") ? modelId : undefined,
424
+ input: input.values
425
+ })
426
+ }), input);
427
+ const json = await parseJson(response);
428
+ return {
429
+ embeddings: json.data.map((entry) => entry.embedding),
430
+ usage: {
431
+ inputTokens: json.usage?.prompt_tokens,
432
+ totalTokens: json.usage?.total_tokens
433
+ },
434
+ rawResponse: json
435
+ };
436
+ }
437
+ finally {
438
+ cleanup();
439
+ }
440
+ }
441
+ })(modelId, apiKey, baseURL, fetcher),
442
+ rawFetch: fetcher
443
+ });
444
+ };
445
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@zhivex-ai/azure-openai",
3
+ "version": "0.1.0",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": ["dist"],
15
+ "sideEffects": false,
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/Zhivex/zhivex-ai-sdk.git",
19
+ "directory": "packages/azure-openai"
20
+ },
21
+ "homepage": "https://github.com/Zhivex/zhivex-ai-sdk#readme",
22
+ "bugs": {
23
+ "url": "https://github.com/Zhivex/zhivex-ai-sdk/issues"
24
+ },
25
+ "keywords": ["ai", "sdk", "azure-openai", "llm", "typescript"],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "dependencies": {
30
+ "@zhivex-ai/core": "^0.1.0",
31
+ "zod": "^4.3.6"
32
+ }
33
+ }