@warlock.js/ai-openai 5.28.0 → 5.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/cjs/index.cjs +21 -21
- package/cjs/index.cjs.map +1 -1
- package/esm/config.type.d.mts +1 -1
- package/esm/config.type.d.mts.map +1 -1
- package/esm/embedder.d.mts +1 -1
- package/esm/embedder.d.mts.map +1 -1
- package/esm/embedder.mjs +1 -1
- package/esm/embedder.mjs.map +1 -1
- package/esm/image.d.mts +1 -1
- package/esm/image.d.mts.map +1 -1
- package/esm/image.mjs +1 -1
- package/esm/image.mjs.map +1 -1
- package/esm/known-reasoning-models.mjs +1 -1
- package/esm/known-reasoning-models.mjs.map +1 -1
- package/esm/known-vision-models.mjs +1 -1
- package/esm/known-vision-models.mjs.map +1 -1
- package/esm/model.mjs +1 -1
- package/esm/model.mjs.map +1 -1
- package/esm/responses-model.mjs +1 -1
- package/esm/responses-model.mjs.map +1 -1
- package/esm/sdk.d.mts +1 -1
- package/esm/sdk.d.mts.map +1 -1
- package/esm/sdk.mjs +1 -1
- package/esm/sdk.mjs.map +1 -1
- package/esm/speech.d.mts +1 -1
- package/esm/speech.d.mts.map +1 -1
- package/esm/speech.mjs +1 -1
- package/esm/speech.mjs.map +1 -1
- package/esm/transcription.d.mts +1 -1
- package/esm/transcription.d.mts.map +1 -1
- package/esm/transcription.mjs +1 -1
- package/esm/transcription.mjs.map +1 -1
- package/esm/utils/build-usage.mjs +1 -1
- package/esm/utils/build-usage.mjs.map +1 -1
- package/esm/utils/map-finish-reason.mjs +1 -1
- package/esm/utils/map-finish-reason.mjs.map +1 -1
- package/esm/utils/map-responses-status.mjs +1 -1
- package/esm/utils/map-responses-status.mjs.map +1 -1
- package/esm/utils/prompt-cache-params.mjs +1 -1
- package/esm/utils/prompt-cache-params.mjs.map +1 -1
- package/esm/utils/reasoning-effort.mjs +1 -1
- package/esm/utils/reasoning-effort.mjs.map +1 -1
- package/esm/utils/reasoning-replay.mjs +1 -1
- package/esm/utils/reasoning-replay.mjs.map +1 -1
- package/esm/utils/structured-output.mjs +1 -1
- package/esm/utils/structured-output.mjs.map +1 -1
- package/esm/utils/to-openai-messages.mjs +1 -1
- package/esm/utils/to-openai-messages.mjs.map +1 -1
- package/esm/utils/to-openai-tools.mjs +1 -1
- package/esm/utils/to-openai-tools.mjs.map +1 -1
- package/esm/utils/to-responses-input.mjs +1 -1
- package/esm/utils/to-responses-input.mjs.map +1 -1
- package/esm/utils/to-responses-tools.mjs +1 -1
- package/esm/utils/to-responses-tools.mjs.map +1 -1
- package/esm/utils/wrap-openai-error.mjs +1 -1
- package/esm/utils/wrap-openai-error.mjs.map +1 -1
- package/llms-full.txt +7 -7
- package/llms.txt +1 -1
- package/package.json +5 -4
- package/skills/README.md +2 -2
- package/skills/setup-openai/SKILL.md +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to `@warlock.js/ai-openai` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
|
|
6
6
|
|
|
7
|
+
## 5.30.0 - 2026-10-16
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Lockstep release; package APIs are unchanged.
|
|
12
|
+
|
|
13
|
+
## 5.29.0 - 2026-10-01
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Lockstep release; package APIs are unchanged. Skills refer to other topics by name instead of file paths, so cross-references keep working after `agent-kit` copies them into an app.
|
|
18
|
+
|
|
7
19
|
## 5.28.0 - 2026-10-01
|
|
8
20
|
|
|
9
21
|
### Changed
|
package/cjs/index.cjs
CHANGED
|
@@ -31,7 +31,7 @@ openai = __toESM(openai, 1);
|
|
|
31
31
|
let _warlock_js_ai = require("@warlock.js/ai");
|
|
32
32
|
let _warlock_js_logger = require("@warlock.js/logger");
|
|
33
33
|
|
|
34
|
-
//#region
|
|
34
|
+
//#region ../../packages/ai-openai/src/utils/build-usage.ts
|
|
35
35
|
/**
|
|
36
36
|
* Build the neutral `Usage` from extracted counts. The optional detail
|
|
37
37
|
* counters are emitted only when the provider reports a positive value, so
|
|
@@ -52,7 +52,7 @@ function buildUsage(counts) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
//#endregion
|
|
55
|
-
//#region
|
|
55
|
+
//#region ../../packages/ai-openai/src/utils/wrap-openai-error.ts
|
|
56
56
|
/**
|
|
57
57
|
* Wrap any thrown value caught inside the OpenAI adapter into the
|
|
58
58
|
* appropriate `@warlock.js/ai` `AIError` subclass.
|
|
@@ -199,7 +199,7 @@ function parseRetryAfter(headers) {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
//#endregion
|
|
202
|
-
//#region
|
|
202
|
+
//#region ../../packages/ai-openai/src/utils/map-responses-status.ts
|
|
203
203
|
/**
|
|
204
204
|
* Derive our `FinishReason` from a Responses terminal state. Responses has
|
|
205
205
|
* no `finish_reason`, so it comes from `status`, `incomplete_details` and the
|
|
@@ -249,7 +249,7 @@ function toResponseFailure(response, model) {
|
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
//#endregion
|
|
252
|
-
//#region
|
|
252
|
+
//#region ../../packages/ai-openai/src/utils/map-finish-reason.ts
|
|
253
253
|
const finishReasonMap = {
|
|
254
254
|
stop: "stop",
|
|
255
255
|
tool_calls: "tool_calls",
|
|
@@ -269,7 +269,7 @@ function mapFinishReason(raw) {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
//#endregion
|
|
272
|
-
//#region
|
|
272
|
+
//#region ../../packages/ai-openai/src/utils/prompt-cache-params.ts
|
|
273
273
|
/**
|
|
274
274
|
* Build the OpenAI-only prompt-cache request fields from the model config.
|
|
275
275
|
* Returns nothing for any provider label other than `"openai"`: wrapper
|
|
@@ -284,7 +284,7 @@ function buildPromptCacheParams(provider, config) {
|
|
|
284
284
|
}
|
|
285
285
|
|
|
286
286
|
//#endregion
|
|
287
|
-
//#region
|
|
287
|
+
//#region ../../packages/ai-openai/src/utils/reasoning-effort.ts
|
|
288
288
|
/**
|
|
289
289
|
* The installed OpenAI SDK 7.23.0 declares `reasoning_effort` as
|
|
290
290
|
* `none | minimal | low | medium | high | xhigh | max` in
|
|
@@ -317,7 +317,7 @@ function toOpenAIReasoningEffort(effort) {
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
//#endregion
|
|
320
|
-
//#region
|
|
320
|
+
//#region ../../packages/ai-openai/src/utils/structured-output.ts
|
|
321
321
|
/**
|
|
322
322
|
* Map an explicit `responseFormat` override to the default
|
|
323
323
|
* `structuredOutput` capability. Loose wire modes (`"json_object"`,
|
|
@@ -399,7 +399,7 @@ function isStrictSafeNode(node) {
|
|
|
399
399
|
}
|
|
400
400
|
|
|
401
401
|
//#endregion
|
|
402
|
-
//#region
|
|
402
|
+
//#region ../../packages/ai-openai/src/utils/reasoning-replay.ts
|
|
403
403
|
/**
|
|
404
404
|
* Key under `ModelToolCallRequest.providerMetadata` owned by the Responses
|
|
405
405
|
* adapter. This name and the shape below are PERSISTED in users' conversation
|
|
@@ -482,7 +482,7 @@ function isReplayMetadata(value) {
|
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
//#endregion
|
|
485
|
-
//#region
|
|
485
|
+
//#region ../../packages/ai-openai/src/utils/to-openai-messages.ts
|
|
486
486
|
/**
|
|
487
487
|
* Convert vendor-neutral Message[] to OpenAI's chat message shape.
|
|
488
488
|
* Handles the `tool` role (requires `tool_call_id`) and assistant messages
|
|
@@ -649,7 +649,7 @@ function toOpenAIAudioFormat(mediaType) {
|
|
|
649
649
|
}
|
|
650
650
|
|
|
651
651
|
//#endregion
|
|
652
|
-
//#region
|
|
652
|
+
//#region ../../packages/ai-openai/src/utils/to-openai-tools.ts
|
|
653
653
|
/**
|
|
654
654
|
* Convert vendor-neutral ToolConfig[] to OpenAI's tools array.
|
|
655
655
|
* Uses the shared `extractJsonSchema` helper; falls back to an empty-object
|
|
@@ -686,7 +686,7 @@ function toToolParameters(input) {
|
|
|
686
686
|
}
|
|
687
687
|
|
|
688
688
|
//#endregion
|
|
689
|
-
//#region
|
|
689
|
+
//#region ../../packages/ai-openai/src/utils/to-responses-input.ts
|
|
690
690
|
/**
|
|
691
691
|
* Convert vendor-neutral `Message[]` into the Responses request pieces.
|
|
692
692
|
*
|
|
@@ -792,7 +792,7 @@ function toResponsesContentPart(part) {
|
|
|
792
792
|
}
|
|
793
793
|
|
|
794
794
|
//#endregion
|
|
795
|
-
//#region
|
|
795
|
+
//#region ../../packages/ai-openai/src/utils/to-responses-tools.ts
|
|
796
796
|
/**
|
|
797
797
|
* Convert vendor-neutral `ToolConfig[]` to Responses function tools.
|
|
798
798
|
*
|
|
@@ -839,7 +839,7 @@ function toResponsesToolChoice(toolChoice) {
|
|
|
839
839
|
}
|
|
840
840
|
|
|
841
841
|
//#endregion
|
|
842
|
-
//#region
|
|
842
|
+
//#region ../../packages/ai-openai/src/embedder.ts
|
|
843
843
|
const LOG_MODULE$5 = "ai.openai";
|
|
844
844
|
/**
|
|
845
845
|
* OpenAI-backed implementation of `EmbedderContract`.
|
|
@@ -948,7 +948,7 @@ var OpenAIEmbedder = class {
|
|
|
948
948
|
};
|
|
949
949
|
|
|
950
950
|
//#endregion
|
|
951
|
-
//#region
|
|
951
|
+
//#region ../../packages/ai-openai/src/image.ts
|
|
952
952
|
const LOG_MODULE$4 = "ai.openai";
|
|
953
953
|
/** Map a neutral output container to its IANA media type. */
|
|
954
954
|
function mediaTypeFor(format) {
|
|
@@ -1066,7 +1066,7 @@ var OpenAIImageModel = class {
|
|
|
1066
1066
|
};
|
|
1067
1067
|
|
|
1068
1068
|
//#endregion
|
|
1069
|
-
//#region
|
|
1069
|
+
//#region ../../packages/ai-openai/src/known-reasoning-models.ts
|
|
1070
1070
|
/**
|
|
1071
1071
|
* Model-name prefixes for OpenAI families that expose internal
|
|
1072
1072
|
* reasoning / thinking tokens and accept the `reasoning_effort`
|
|
@@ -1108,7 +1108,7 @@ function inferReasoningCapability(modelName) {
|
|
|
1108
1108
|
}
|
|
1109
1109
|
|
|
1110
1110
|
//#endregion
|
|
1111
|
-
//#region
|
|
1111
|
+
//#region ../../packages/ai-openai/src/known-vision-models.ts
|
|
1112
1112
|
/**
|
|
1113
1113
|
* Model-name prefixes for OpenAI families that support vision input
|
|
1114
1114
|
* (image attachments) on the Chat Completions API.
|
|
@@ -1151,7 +1151,7 @@ function inferVisionCapability(modelName) {
|
|
|
1151
1151
|
}
|
|
1152
1152
|
|
|
1153
1153
|
//#endregion
|
|
1154
|
-
//#region
|
|
1154
|
+
//#region ../../packages/ai-openai/src/model.ts
|
|
1155
1155
|
const LOG_MODULE$3 = "ai.openai";
|
|
1156
1156
|
/**
|
|
1157
1157
|
* OpenAI-backed implementation of `ModelContract`.
|
|
@@ -1493,7 +1493,7 @@ var OpenAIModel = class {
|
|
|
1493
1493
|
};
|
|
1494
1494
|
|
|
1495
1495
|
//#endregion
|
|
1496
|
-
//#region
|
|
1496
|
+
//#region ../../packages/ai-openai/src/responses-model.ts
|
|
1497
1497
|
const LOG_MODULE$2 = "ai.openai";
|
|
1498
1498
|
/**
|
|
1499
1499
|
* OpenAI Responses API implementation of `ModelContract` (`api: "responses"`).
|
|
@@ -1805,7 +1805,7 @@ var OpenAIResponsesModel = class {
|
|
|
1805
1805
|
};
|
|
1806
1806
|
|
|
1807
1807
|
//#endregion
|
|
1808
|
-
//#region
|
|
1808
|
+
//#region ../../packages/ai-openai/src/speech.ts
|
|
1809
1809
|
const LOG_MODULE$1 = "ai.openai";
|
|
1810
1810
|
/** Map a neutral output container hint to its IANA audio media type. */
|
|
1811
1811
|
function audioMediaType(format) {
|
|
@@ -1883,7 +1883,7 @@ var OpenAISpeechModel = class {
|
|
|
1883
1883
|
};
|
|
1884
1884
|
|
|
1885
1885
|
//#endregion
|
|
1886
|
-
//#region
|
|
1886
|
+
//#region ../../packages/ai-openai/src/transcription.ts
|
|
1887
1887
|
const LOG_MODULE = "ai.openai";
|
|
1888
1888
|
/**
|
|
1889
1889
|
* OpenAI-backed implementation of `TranscriptionModelContract`
|
|
@@ -1963,7 +1963,7 @@ var OpenAITranscriptionModel = class {
|
|
|
1963
1963
|
};
|
|
1964
1964
|
|
|
1965
1965
|
//#endregion
|
|
1966
|
-
//#region
|
|
1966
|
+
//#region ../../packages/ai-openai/src/sdk.ts
|
|
1967
1967
|
/**
|
|
1968
1968
|
* OpenAI-backed implementation of `SDKAdapterContract`.
|
|
1969
1969
|
*
|