@code-yeongyu/senpi-ai 2026.9.27 → 2026.9.28
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/dist/api/anthropic-messages.d.ts.map +1 -1
- package/dist/api/anthropic-messages.js +10 -7
- package/dist/api/anthropic-messages.js.map +1 -1
- package/dist/api/openai-completions.d.ts.map +1 -1
- package/dist/api/openai-completions.js +13 -2
- package/dist/api/openai-completions.js.map +1 -1
- package/dist/endpoint-reasoning-efforts.d.ts +26 -0
- package/dist/endpoint-reasoning-efforts.d.ts.map +1 -0
- package/dist/endpoint-reasoning-efforts.js +58 -0
- package/dist/endpoint-reasoning-efforts.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +5 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js.map +1 -1
- package/dist/provider-diagnostic.d.ts +33 -0
- package/dist/provider-diagnostic.d.ts.map +1 -0
- package/dist/provider-diagnostic.js +56 -0
- package/dist/provider-diagnostic.js.map +1 -0
- package/dist/providers/data/.manifest.json +1 -1
- package/dist/providers/data/openrouter.json +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/error-body.d.ts +6 -0
- package/dist/utils/error-body.d.ts.map +1 -1
- package/dist/utils/error-body.js +36 -0
- package/dist/utils/error-body.js.map +1 -1
- package/dist/utils/provider-diagnostic-carrier.d.ts +5 -0
- package/dist/utils/provider-diagnostic-carrier.d.ts.map +1 -0
- package/dist/utils/provider-diagnostic-carrier.js +18 -0
- package/dist/utils/provider-diagnostic-carrier.js.map +1 -0
- package/dist/utils/provider-diagnostic-sources.d.ts +26 -0
- package/dist/utils/provider-diagnostic-sources.d.ts.map +1 -0
- package/dist/utils/provider-diagnostic-sources.js +103 -0
- package/dist/utils/provider-diagnostic-sources.js.map +1 -0
- package/dist/utils/provider-diagnostic-vocabulary.d.ts +36 -0
- package/dist/utils/provider-diagnostic-vocabulary.d.ts.map +1 -0
- package/dist/utils/provider-diagnostic-vocabulary.js +129 -0
- package/dist/utils/provider-diagnostic-vocabulary.js.map +1 -0
- package/dist/utils/provider-retry.d.ts.map +1 -1
- package/dist/utils/provider-retry.js +5 -4
- package/dist/utils/provider-retry.js.map +1 -1
- package/dist/utils/retry.d.ts +1 -0
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +14 -1
- package/dist/utils/retry.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-completions.d.ts","sourceRoot":"","sources":["../../src/api/openai-completions.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAOX,0BAA0B,EAI1B,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-completions.d.ts","sourceRoot":"","sources":["../../src/api/openai-completions.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAOX,0BAA0B,EAI1B,MAAM,sCAAsC,CAAC;AAU9C,OAAO,KAAK,EAIX,OAAO,EAIP,KAAK,EAIL,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAEb,eAAe,EAMf,MAAM,aAAa,CAAC;AAOrB,OAAO,EAEN,KAAK,+BAA+B,EACpC,MAAM,8BAA8B,CAAC;AAoCtC,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,KAAK,+BAA+B,GACpC,MAAM,8BAA8B,CAAC;AA8NtC,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC;IACpE,eAAe,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1E,2KAA2K;IAC3K,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,iCAAiC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzD;AAwKD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,wBAAwB,CA2gBjF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAqClF,CAAC;AAkeF,wBAAgB,eAAe,CAC9B,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,+BAA+B,EACvC,OAAO,GAAE,iCAAsC,GAC7C,0BAA0B,EAAE,CAwS9B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import OpenAI from "openai";
|
|
2
2
|
import { calculateCost, clampThinkingLevel, inferOpenAIThinkingLevelMap, supportsMax, supportsXhigh, } from "../models.js";
|
|
3
|
+
import { readProviderDiagnostic } from "../provider-diagnostic.js";
|
|
3
4
|
import { formatProviderError, normalizeProviderError } from "../utils/error-body.js";
|
|
4
5
|
import { AssistantMessageEventStream } from "../utils/event-stream.js";
|
|
5
6
|
import { shortHash } from "../utils/hash.js";
|
|
@@ -7,6 +8,7 @@ import { headersToRecord } from "../utils/headers.js";
|
|
|
7
8
|
import { parseStreamingJson } from "../utils/json-parse.js";
|
|
8
9
|
import { getPiUserAgent } from "../utils/pi-user-agent.js";
|
|
9
10
|
import { getOpenAICompletionsCompat as getCompat, } from "../utils/prompt-cache-ttl.js";
|
|
11
|
+
import { awaitProviderTransport, iterateProviderTransport, openAICompatibleProviderDiagnosticFromError, } from "../utils/provider-diagnostic-sources.js";
|
|
10
12
|
import { getProviderEnvValue } from "../utils/provider-env.js";
|
|
11
13
|
import { retryProviderStreamRequest } from "../utils/provider-retry.js";
|
|
12
14
|
import { sanitizeSurrogates } from "../utils/sanitize-unicode.js";
|
|
@@ -338,7 +340,10 @@ export const stream = (model, context, options) => {
|
|
|
338
340
|
maxRetries: 0,
|
|
339
341
|
};
|
|
340
342
|
const createChatCompletion = client.chat.completions.create.bind(client.chat.completions);
|
|
341
|
-
const createStream = (body) =>
|
|
343
|
+
const createStream = async (body) => {
|
|
344
|
+
const { data, response } = await awaitProviderTransport(() => createChatCompletion(body, requestOptions).withResponse(), openAICompatibleProviderDiagnosticFromError);
|
|
345
|
+
return { data: iterateProviderTransport(data, openAICompatibleProviderDiagnosticFromError), response };
|
|
346
|
+
};
|
|
342
347
|
const createRequest = async () => {
|
|
343
348
|
try {
|
|
344
349
|
return await createStream(params);
|
|
@@ -739,6 +744,9 @@ export const stream = (model, context, options) => {
|
|
|
739
744
|
delete block.streamIndex;
|
|
740
745
|
}
|
|
741
746
|
output.stopReason = options?.signal?.aborted ? "aborted" : "error";
|
|
747
|
+
const providerDiagnostic = output.stopReason === "error" ? readProviderDiagnostic(error) : undefined;
|
|
748
|
+
if (providerDiagnostic !== undefined)
|
|
749
|
+
output.providerDiagnostic = providerDiagnostic;
|
|
742
750
|
output.errorMessage = formatProviderError(normalizeProviderError(error));
|
|
743
751
|
// Some providers via OpenRouter give additional information in this field.
|
|
744
752
|
// normalizeProviderError already stringifies the parsed body (error.error)
|
|
@@ -770,7 +778,10 @@ export const streamSimple = (model, context, options) => {
|
|
|
770
778
|
: model.id.includes("gpt-6-astra")
|
|
771
779
|
? "off"
|
|
772
780
|
: undefined;
|
|
773
|
-
|
|
781
|
+
// An explicitly mapped off value (for example an endpoint-advertised "none", senpi#2196) is how the
|
|
782
|
+
// model turns reasoning off, so only a map without one keeps the Astra off -> low fallback.
|
|
783
|
+
const hasMappedOff = typeof thinkingLevelMap?.off === "string";
|
|
784
|
+
const normalizedReasoning = clampedReasoning === "off" && model.id.includes("gpt-6-astra") && !hasMappedOff ? "low" : clampedReasoning;
|
|
774
785
|
const reasoningEffort = normalizedReasoning === "off"
|
|
775
786
|
? undefined
|
|
776
787
|
: normalizedReasoning === "max" && supportsMax(thinkingModel)
|