@aigne/openai 0.16.16 → 1.74.0-beta

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 (59) hide show
  1. package/README.md +11 -11
  2. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  3. package/dist/index.cjs +10 -0
  4. package/dist/index.d.cts +4 -0
  5. package/dist/index.d.mts +4 -0
  6. package/dist/index.mjs +5 -0
  7. package/dist/openai-chat-model.cjs +371 -0
  8. package/dist/openai-chat-model.d.cts +165 -0
  9. package/dist/openai-chat-model.d.cts.map +1 -0
  10. package/dist/openai-chat-model.d.mts +165 -0
  11. package/dist/openai-chat-model.d.mts.map +1 -0
  12. package/dist/openai-chat-model.mjs +368 -0
  13. package/dist/openai-chat-model.mjs.map +1 -0
  14. package/dist/openai-image-model.cjs +123 -0
  15. package/dist/openai-image-model.d.cts +57 -0
  16. package/dist/openai-image-model.d.cts.map +1 -0
  17. package/dist/openai-image-model.d.mts +57 -0
  18. package/dist/openai-image-model.d.mts.map +1 -0
  19. package/dist/openai-image-model.mjs +123 -0
  20. package/dist/openai-image-model.mjs.map +1 -0
  21. package/dist/openai-video-model.cjs +112 -0
  22. package/dist/openai-video-model.d.cts +95 -0
  23. package/dist/openai-video-model.d.cts.map +1 -0
  24. package/dist/openai-video-model.d.mts +95 -0
  25. package/dist/openai-video-model.d.mts.map +1 -0
  26. package/dist/openai-video-model.mjs +112 -0
  27. package/dist/openai-video-model.mjs.map +1 -0
  28. package/dist/openai.cjs +14 -0
  29. package/dist/openai.mjs +13 -0
  30. package/dist/openai.mjs.map +1 -0
  31. package/package.json +29 -30
  32. package/CHANGELOG.md +0 -2448
  33. package/lib/cjs/index.d.ts +0 -3
  34. package/lib/cjs/index.js +0 -19
  35. package/lib/cjs/openai-chat-model.d.ts +0 -160
  36. package/lib/cjs/openai-chat-model.js +0 -465
  37. package/lib/cjs/openai-image-model.d.ts +0 -55
  38. package/lib/cjs/openai-image-model.js +0 -110
  39. package/lib/cjs/openai-video-model.d.ts +0 -92
  40. package/lib/cjs/openai-video-model.js +0 -118
  41. package/lib/cjs/openai.d.ts +0 -4
  42. package/lib/cjs/openai.js +0 -17
  43. package/lib/cjs/package.json +0 -3
  44. package/lib/dts/index.d.ts +0 -3
  45. package/lib/dts/openai-chat-model.d.ts +0 -160
  46. package/lib/dts/openai-image-model.d.ts +0 -55
  47. package/lib/dts/openai-video-model.d.ts +0 -92
  48. package/lib/dts/openai.d.ts +0 -4
  49. package/lib/esm/index.d.ts +0 -3
  50. package/lib/esm/index.js +0 -3
  51. package/lib/esm/openai-chat-model.d.ts +0 -160
  52. package/lib/esm/openai-chat-model.js +0 -459
  53. package/lib/esm/openai-image-model.d.ts +0 -55
  54. package/lib/esm/openai-image-model.js +0 -106
  55. package/lib/esm/openai-video-model.d.ts +0 -92
  56. package/lib/esm/openai-video-model.js +0 -114
  57. package/lib/esm/openai.d.ts +0 -4
  58. package/lib/esm/openai.js +0 -10
  59. package/lib/esm/package.json +0 -3
@@ -1,92 +0,0 @@
1
- import { type AgentInvokeOptions, VideoModel, type VideoModelInput, type VideoModelOptions, type VideoModelOutput } from "@aigne/core";
2
- import type OpenAI from "openai";
3
- import type { ClientOptions } from "openai";
4
- /**
5
- * Input options for OpenAI Video Model
6
- */
7
- export interface OpenAIVideoModelInput extends VideoModelInput {
8
- /**
9
- * Sora model to use for video generation
10
- *
11
- * - `sora-2`: Standard version, lower cost
12
- * - `sora-2-pro`: Pro version, higher quality
13
- *
14
- * @default "sora-2"
15
- */
16
- model?: "sora-2" | "sora-2-pro";
17
- /**
18
- * Video resolution (width x height)
19
- *
20
- * - `720x1280`: Vertical video (9:16)
21
- * - `1280x720`: Horizontal video (16:9)
22
- * - `1024x1792`: Vertical video (9:16, higher resolution)
23
- * - `1792x1024`: Horizontal video (16:9, higher resolution)
24
- */
25
- size?: "720x1280" | "1280x720" | "1024x1792" | "1792x1024";
26
- /**
27
- * Video duration in seconds
28
- *
29
- * @default "4"
30
- */
31
- seconds?: "4" | "8" | "12";
32
- }
33
- /**
34
- * Output from OpenAI Video Model
35
- */
36
- export interface OpenAIVideoModelOutput extends VideoModelOutput {
37
- }
38
- /**
39
- * Configuration options for OpenAI Video Model
40
- */
41
- export interface OpenAIVideoModelOptions extends VideoModelOptions<OpenAIVideoModelInput, OpenAIVideoModelOutput> {
42
- /**
43
- * API key for OpenAI API
44
- *
45
- * If not provided, will look for OPENAI_API_KEY in environment variables
46
- */
47
- apiKey?: string;
48
- /**
49
- * Base URL for OpenAI API
50
- *
51
- * Useful for proxies or alternate endpoints
52
- */
53
- baseURL?: string;
54
- /**
55
- * OpenAI model to use
56
- *
57
- * Defaults to 'sora-2'
58
- */
59
- model?: string;
60
- /**
61
- * Additional model options to control behavior
62
- */
63
- modelOptions?: Omit<Partial<OpenAIVideoModelInput>, "model">;
64
- /**
65
- * Client options for OpenAI API
66
- */
67
- clientOptions?: Partial<ClientOptions>;
68
- /**
69
- * Polling interval in milliseconds for checking video generation status
70
- *
71
- * Defaults to 2000ms (2 seconds)
72
- */
73
- pollingInterval?: number;
74
- }
75
- export declare class OpenAIVideoModel extends VideoModel<OpenAIVideoModelInput, OpenAIVideoModelOutput> {
76
- options?: OpenAIVideoModelOptions | undefined;
77
- constructor(options?: OpenAIVideoModelOptions | undefined);
78
- /**
79
- * @hidden
80
- */
81
- protected _client?: OpenAI;
82
- protected apiKeyEnvName: string;
83
- get client(): OpenAI;
84
- get credential(): {
85
- url: string | undefined;
86
- apiKey: string | undefined;
87
- model: string;
88
- };
89
- get modelOptions(): Omit<Partial<OpenAIVideoModelInput>, "model"> | undefined;
90
- downloadToFile(videoId: string): Promise<string>;
91
- process(input: OpenAIVideoModelInput, _options: AgentInvokeOptions): Promise<OpenAIVideoModelOutput>;
92
- }
@@ -1,4 +0,0 @@
1
- import OpenAI, { type APIError } from "openai";
2
- export declare class CustomOpenAI extends OpenAI {
3
- protected makeStatusError(status: number, error: object, message: string | undefined, headers: Headers): APIError;
4
- }
@@ -1,3 +0,0 @@
1
- export * from "./openai-chat-model.js";
2
- export * from "./openai-image-model.js";
3
- export * from "./openai-video-model.js";
package/lib/esm/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from "./openai-chat-model.js";
2
- export * from "./openai-image-model.js";
3
- export * from "./openai-video-model.js";
@@ -1,160 +0,0 @@
1
- import { type AgentInvokeOptions, type AgentProcessResult, ChatModel, type ChatModelInput, type ChatModelInputMessage, type ChatModelInputTool, type ChatModelOptions, type ChatModelOutput } from "@aigne/core";
2
- import { type PromiseOrValue } from "@aigne/core/utils/type-utils.js";
3
- import type { ClientOptions, OpenAI } from "openai";
4
- import type { ChatCompletionMessageParam, ChatCompletionTool } from "openai/resources";
5
- import { z } from "zod";
6
- export interface OpenAIChatModelCapabilities {
7
- supportsNativeStructuredOutputs: boolean;
8
- supportsEndWithSystemMessage: boolean;
9
- supportsToolsUseWithJsonSchema: boolean;
10
- supportsParallelToolCalls: boolean;
11
- supportsToolsEmptyParameters: boolean;
12
- supportsToolStreaming: boolean;
13
- supportsTemperature: boolean;
14
- }
15
- /**
16
- * Configuration options for OpenAI Chat Model
17
- */
18
- export interface OpenAIChatModelOptions extends ChatModelOptions {
19
- /**
20
- * API key for OpenAI API
21
- *
22
- * If not provided, will look for OPENAI_API_KEY in environment variables
23
- */
24
- apiKey?: string;
25
- /**
26
- * Base URL for OpenAI API
27
- *
28
- * Useful for proxies or alternate endpoints
29
- */
30
- baseURL?: string;
31
- /**
32
- * Client options for OpenAI API
33
- */
34
- clientOptions?: Partial<ClientOptions>;
35
- }
36
- /**
37
- * @hidden
38
- */
39
- export declare const openAIChatModelOptionsSchema: z.ZodObject<{
40
- apiKey: z.ZodOptional<z.ZodString>;
41
- baseURL: z.ZodOptional<z.ZodString>;
42
- model: z.ZodOptional<z.ZodString>;
43
- modelOptions: z.ZodOptional<z.ZodObject<{
44
- model: z.ZodOptional<z.ZodString>;
45
- temperature: z.ZodOptional<z.ZodNumber>;
46
- topP: z.ZodOptional<z.ZodNumber>;
47
- frequencyPenalty: z.ZodOptional<z.ZodNumber>;
48
- presencePenalty: z.ZodOptional<z.ZodNumber>;
49
- parallelToolCalls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
50
- }, "strip", z.ZodTypeAny, {
51
- parallelToolCalls: boolean;
52
- model?: string | undefined;
53
- temperature?: number | undefined;
54
- topP?: number | undefined;
55
- frequencyPenalty?: number | undefined;
56
- presencePenalty?: number | undefined;
57
- }, {
58
- model?: string | undefined;
59
- temperature?: number | undefined;
60
- topP?: number | undefined;
61
- frequencyPenalty?: number | undefined;
62
- presencePenalty?: number | undefined;
63
- parallelToolCalls?: boolean | undefined;
64
- }>>;
65
- }, "strip", z.ZodTypeAny, {
66
- model?: string | undefined;
67
- apiKey?: string | undefined;
68
- baseURL?: string | undefined;
69
- modelOptions?: {
70
- parallelToolCalls: boolean;
71
- model?: string | undefined;
72
- temperature?: number | undefined;
73
- topP?: number | undefined;
74
- frequencyPenalty?: number | undefined;
75
- presencePenalty?: number | undefined;
76
- } | undefined;
77
- }, {
78
- model?: string | undefined;
79
- apiKey?: string | undefined;
80
- baseURL?: string | undefined;
81
- modelOptions?: {
82
- model?: string | undefined;
83
- temperature?: number | undefined;
84
- topP?: number | undefined;
85
- frequencyPenalty?: number | undefined;
86
- presencePenalty?: number | undefined;
87
- parallelToolCalls?: boolean | undefined;
88
- } | undefined;
89
- }>;
90
- /**
91
- * Implementation of the ChatModel interface for OpenAI's API
92
- *
93
- * This model provides access to OpenAI's capabilities including:
94
- * - Text generation
95
- * - Tool use with parallel tool calls
96
- * - JSON structured output
97
- * - Image understanding
98
- *
99
- * Default model: 'gpt-4o-mini'
100
- *
101
- * @example
102
- * Here's how to create and use an OpenAI chat model:
103
- * {@includeCode ../test/openai-chat-model.test.ts#example-openai-chat-model}
104
- *
105
- * @example
106
- * Here's an example with streaming response:
107
- * {@includeCode ../test/openai-chat-model.test.ts#example-openai-chat-model-stream}
108
- */
109
- export declare class OpenAIChatModel extends ChatModel {
110
- options?: OpenAIChatModelOptions | undefined;
111
- constructor(options?: OpenAIChatModelOptions | undefined);
112
- /**
113
- * @hidden
114
- */
115
- protected _client?: OpenAI;
116
- protected apiKeyEnvName: string;
117
- protected apiKeyDefault: string | undefined;
118
- protected supportsNativeStructuredOutputs: boolean;
119
- protected supportsToolsUseWithJsonSchema: boolean;
120
- protected supportsParallelToolCalls: boolean;
121
- protected supportsToolsEmptyParameters: boolean;
122
- protected supportsToolStreaming: boolean;
123
- protected supportsTemperature: boolean;
124
- get client(): OpenAI;
125
- get credential(): {
126
- url: string | undefined;
127
- apiKey: string | undefined;
128
- model: string;
129
- };
130
- /**
131
- * Process the input and generate a response
132
- * @param input The input to process
133
- * @returns The generated response
134
- */
135
- process(input: ChatModelInput, options: AgentInvokeOptions): PromiseOrValue<AgentProcessResult<ChatModelOutput>>;
136
- private getReasoningEffort;
137
- private _process;
138
- private getParallelToolCalls;
139
- protected getRunMessages(input: ChatModelInput): Promise<ChatCompletionMessageParam[]>;
140
- private getRunResponseFormat;
141
- private requestStructuredOutput;
142
- private extractResultFromStream;
143
- /**
144
- * Controls how optional fields are handled in JSON schema conversion
145
- * - "anyOf": All fields are required but can be null (default)
146
- * - "optional": Fields marked as optional in schema remain optional
147
- */
148
- protected optionalFieldMode?: "anyOf" | "optional";
149
- protected jsonSchemaToOpenAIJsonSchema(schema: Record<string, unknown>): Record<string, unknown>;
150
- }
151
- /**
152
- * @hidden
153
- */
154
- export declare function contentsFromInputMessages(messages: ChatModelInputMessage[]): Promise<ChatCompletionMessageParam[]>;
155
- /**
156
- * @hidden
157
- */
158
- export declare function toolsFromInputTools(tools?: ChatModelInputTool[], options?: {
159
- addTypeToEmptyParameters?: boolean;
160
- }): ChatCompletionTool[] | undefined;