llm-stream-assemble 1.2.0 → 1.3.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.
- package/README.md +262 -24
- package/dist/adapters/openai-compatible.cjs +79 -19
- package/dist/adapters/openai-compatible.cjs.map +1 -1
- package/dist/adapters/openai-compatible.d.cts +36 -2
- package/dist/adapters/openai-compatible.d.ts +36 -2
- package/dist/adapters/openai-compatible.js +68 -20
- package/dist/adapters/openai-compatible.js.map +1 -1
- package/dist/index.cjs +78 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +68 -20
- package/dist/index.js.map +1 -1
- package/package.json +12 -4
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { c as StreamEvent, C as CollectedStream, T as ToSSEOptions, d as StreamE
|
|
|
2
2
|
export { A as AssembleFromFileOptions, a as AssembleOptions, F as FinishReason, P as PartialJSONResult, R as RawChunk, b as ReasoningVariant, S as StreamAdapter, e as StreamEventType } from './types-CskRfrmD.cjs';
|
|
3
3
|
export { assembleFromFile, assembleFromPayloads, assembleResponse, assembleStream, createAssemblyTransform, parsePartialJSON, parseSSE } from './core/index.cjs';
|
|
4
4
|
export { OpenAIChatAdapterOptions, openaiChatAdapter } from './adapters/openai-chat.cjs';
|
|
5
|
-
export { OpenAICompatibleAdapterOptions, OpenAICompatibleProvider, openaiCompatibleAdapter } from './adapters/openai-compatible.cjs';
|
|
5
|
+
export { HOST_COMPATIBLE_PRESETS, LOOSE_HOST_PRESETS, OPENAI_COMPATIBLE_PROVIDERS, OpenAICompatibleAdapterOptions, OpenAICompatibleProvider, PRESET_OVERRIDES, PRESET_OVERRIDE_KEYS, ResolvedCompatibleAdapterConfig, STRICT_COMPATIBLE_PRESETS, compatibleProviderLabel, hasPresetOverride, isStrictCompatiblePreset, openaiCompatibleAdapter, providerPreset, resolveCompatibleAdapterConfig } from './adapters/openai-compatible.cjs';
|
|
6
6
|
export { anthropicAdapter } from './adapters/anthropic.cjs';
|
|
7
7
|
export { OpenAIResponsesAdapterOptions, openaiResponsesAdapter } from './adapters/openai-responses.cjs';
|
|
8
8
|
export { GeminiAdapterOptions, geminiAdapter } from './adapters/gemini.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { c as StreamEvent, C as CollectedStream, T as ToSSEOptions, d as StreamE
|
|
|
2
2
|
export { A as AssembleFromFileOptions, a as AssembleOptions, F as FinishReason, P as PartialJSONResult, R as RawChunk, b as ReasoningVariant, S as StreamAdapter, e as StreamEventType } from './types-CskRfrmD.js';
|
|
3
3
|
export { assembleFromFile, assembleFromPayloads, assembleResponse, assembleStream, createAssemblyTransform, parsePartialJSON, parseSSE } from './core/index.js';
|
|
4
4
|
export { OpenAIChatAdapterOptions, openaiChatAdapter } from './adapters/openai-chat.js';
|
|
5
|
-
export { OpenAICompatibleAdapterOptions, OpenAICompatibleProvider, openaiCompatibleAdapter } from './adapters/openai-compatible.js';
|
|
5
|
+
export { HOST_COMPATIBLE_PRESETS, LOOSE_HOST_PRESETS, OPENAI_COMPATIBLE_PROVIDERS, OpenAICompatibleAdapterOptions, OpenAICompatibleProvider, PRESET_OVERRIDES, PRESET_OVERRIDE_KEYS, ResolvedCompatibleAdapterConfig, STRICT_COMPATIBLE_PRESETS, compatibleProviderLabel, hasPresetOverride, isStrictCompatiblePreset, openaiCompatibleAdapter, providerPreset, resolveCompatibleAdapterConfig } from './adapters/openai-compatible.js';
|
|
6
6
|
export { anthropicAdapter } from './adapters/anthropic.js';
|
|
7
7
|
export { OpenAIResponsesAdapterOptions, openaiResponsesAdapter } from './adapters/openai-responses.js';
|
|
8
8
|
export { GeminiAdapterOptions, geminiAdapter } from './adapters/gemini.js';
|
package/dist/index.js
CHANGED
|
@@ -1306,7 +1306,34 @@ function openaiChatAdapter(options = {}) {
|
|
|
1306
1306
|
});
|
|
1307
1307
|
}
|
|
1308
1308
|
|
|
1309
|
-
// src/adapters/openai-compatible.ts
|
|
1309
|
+
// src/adapters/openai-compatible-presets.ts
|
|
1310
|
+
var OPENAI_COMPATIBLE_PROVIDERS = [
|
|
1311
|
+
"generic",
|
|
1312
|
+
"openrouter",
|
|
1313
|
+
"groq",
|
|
1314
|
+
"deepseek",
|
|
1315
|
+
"mistral",
|
|
1316
|
+
"ollama",
|
|
1317
|
+
"lmstudio",
|
|
1318
|
+
"together",
|
|
1319
|
+
"fireworks",
|
|
1320
|
+
"perplexity",
|
|
1321
|
+
"xai",
|
|
1322
|
+
"azure",
|
|
1323
|
+
"cloudflare"
|
|
1324
|
+
];
|
|
1325
|
+
var HOST_COMPATIBLE_PRESETS = OPENAI_COMPATIBLE_PROVIDERS.filter(
|
|
1326
|
+
(p) => p !== "generic"
|
|
1327
|
+
);
|
|
1328
|
+
var STRICT_COMPATIBLE_PRESETS = [
|
|
1329
|
+
"azure"
|
|
1330
|
+
];
|
|
1331
|
+
function isStrictCompatiblePreset(provider) {
|
|
1332
|
+
return STRICT_COMPATIBLE_PRESETS.includes(provider);
|
|
1333
|
+
}
|
|
1334
|
+
var LOOSE_HOST_PRESETS = HOST_COMPATIBLE_PRESETS.filter(
|
|
1335
|
+
(p) => !isStrictCompatiblePreset(p)
|
|
1336
|
+
);
|
|
1310
1337
|
var DEFAULT_PRESET = {
|
|
1311
1338
|
looseErrorShape: true,
|
|
1312
1339
|
allowMissingMetadata: true,
|
|
@@ -1324,32 +1351,53 @@ var PRESET_OVERRIDES = {
|
|
|
1324
1351
|
reasoningFieldAliases: []
|
|
1325
1352
|
}
|
|
1326
1353
|
};
|
|
1327
|
-
|
|
1354
|
+
var PRESET_OVERRIDE_KEYS = Object.keys(PRESET_OVERRIDES);
|
|
1355
|
+
function hasPresetOverride(provider) {
|
|
1356
|
+
return provider in PRESET_OVERRIDES;
|
|
1357
|
+
}
|
|
1358
|
+
function providerPreset(provider) {
|
|
1359
|
+
return {
|
|
1360
|
+
...DEFAULT_PRESET,
|
|
1361
|
+
...PRESET_OVERRIDES[provider]
|
|
1362
|
+
};
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
// src/adapters/openai-compatible-resolve.ts
|
|
1366
|
+
function resolveCompatibleAdapterConfig(options = {}) {
|
|
1328
1367
|
const preset = providerPreset(options.provider ?? "generic");
|
|
1329
|
-
const
|
|
1330
|
-
const
|
|
1331
|
-
const
|
|
1368
|
+
const allowMissingMetadata = options.allowMissingMetadata ?? preset.allowMissingMetadata ?? DEFAULT_PRESET.allowMissingMetadata;
|
|
1369
|
+
const looseErrorShape = options.looseErrorShape ?? preset.looseErrorShape ?? DEFAULT_PRESET.looseErrorShape;
|
|
1370
|
+
const useChoicePositionFallback = options.useChoicePositionFallback ?? preset.useChoicePositionFallback ?? DEFAULT_PRESET.useChoicePositionFallback;
|
|
1371
|
+
return {
|
|
1372
|
+
looseErrorShape,
|
|
1373
|
+
allowMissingMetadata,
|
|
1374
|
+
useChoicePositionFallback,
|
|
1375
|
+
rejectUnrecognizedPayloads: allowMissingMetadata === false,
|
|
1376
|
+
reasoningFieldAliases: [
|
|
1377
|
+
...preset.reasoningFieldAliases ?? [],
|
|
1378
|
+
...options.reasoningFieldAliases ?? []
|
|
1379
|
+
]
|
|
1380
|
+
};
|
|
1381
|
+
}
|
|
1382
|
+
function compatibleProviderLabel(provider) {
|
|
1383
|
+
return provider ?? "generic";
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
// src/adapters/openai-compatible.ts
|
|
1387
|
+
function openaiCompatibleAdapter(options = {}) {
|
|
1388
|
+
const resolved = resolveCompatibleAdapterConfig(options);
|
|
1332
1389
|
return createOpenAIChatLikeAdapter({
|
|
1333
1390
|
...options,
|
|
1334
|
-
looseErrorShape:
|
|
1335
|
-
allowMissingMetadata:
|
|
1336
|
-
useChoicePositionFallback:
|
|
1391
|
+
looseErrorShape: resolved.looseErrorShape,
|
|
1392
|
+
allowMissingMetadata: resolved.allowMissingMetadata,
|
|
1393
|
+
useChoicePositionFallback: resolved.useChoicePositionFallback,
|
|
1337
1394
|
errorPrefix: "openaiCompatibleAdapter",
|
|
1338
1395
|
usageInputTokenFields: ["prompt_tokens", "input_tokens"],
|
|
1339
1396
|
usageOutputTokenFields: ["completion_tokens", "output_tokens"],
|
|
1340
|
-
rejectUnrecognizedPayloads:
|
|
1341
|
-
reasoningFieldAliases:
|
|
1342
|
-
...preset.reasoningFieldAliases ?? [],
|
|
1343
|
-
...options.reasoningFieldAliases ?? []
|
|
1344
|
-
]
|
|
1397
|
+
rejectUnrecognizedPayloads: resolved.rejectUnrecognizedPayloads,
|
|
1398
|
+
reasoningFieldAliases: resolved.reasoningFieldAliases
|
|
1345
1399
|
});
|
|
1346
1400
|
}
|
|
1347
|
-
function providerPreset(provider) {
|
|
1348
|
-
return {
|
|
1349
|
-
...DEFAULT_PRESET,
|
|
1350
|
-
...PRESET_OVERRIDES[provider]
|
|
1351
|
-
};
|
|
1352
|
-
}
|
|
1353
1401
|
|
|
1354
1402
|
// src/adapters/anthropic.ts
|
|
1355
1403
|
function anthropicAdapter(options = {}) {
|
|
@@ -2522,6 +2570,6 @@ function isError(event) {
|
|
|
2522
2570
|
return event.type === "error";
|
|
2523
2571
|
}
|
|
2524
2572
|
|
|
2525
|
-
export { anthropicAdapter, assembleFromFile, assembleFromPayloads, assembleResponse, assembleStream, collectStream, createAssemblyTransform, geminiAdapter, isError, isFinish, isJsonDelta, isJsonDone, isMessageStart, isMetadata, isReasoningDelta, isReasoningDone, isRefusalDelta, isRefusalDone, isTextDelta, isTextDone, isToolCallArgsDelta, isToolCallDone, isToolCallStart, isUsage, matchEvent, openaiChatAdapter, openaiCompatibleAdapter, openaiResponsesAdapter, parsePartialJSON, parseSSE, tapEvents, toSSE };
|
|
2573
|
+
export { HOST_COMPATIBLE_PRESETS, LOOSE_HOST_PRESETS, OPENAI_COMPATIBLE_PROVIDERS, PRESET_OVERRIDES, PRESET_OVERRIDE_KEYS, STRICT_COMPATIBLE_PRESETS, anthropicAdapter, assembleFromFile, assembleFromPayloads, assembleResponse, assembleStream, collectStream, compatibleProviderLabel, createAssemblyTransform, geminiAdapter, hasPresetOverride, isError, isFinish, isJsonDelta, isJsonDone, isMessageStart, isMetadata, isReasoningDelta, isReasoningDone, isRefusalDelta, isRefusalDone, isStrictCompatiblePreset, isTextDelta, isTextDone, isToolCallArgsDelta, isToolCallDone, isToolCallStart, isUsage, matchEvent, openaiChatAdapter, openaiCompatibleAdapter, openaiResponsesAdapter, parsePartialJSON, parseSSE, providerPreset, resolveCompatibleAdapterConfig, tapEvents, toSSE };
|
|
2526
2574
|
//# sourceMappingURL=index.js.map
|
|
2527
2575
|
//# sourceMappingURL=index.js.map
|