@code-yeongyu/senpi-ai 2026.9.26 → 2026.9.27-3

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 (39) hide show
  1. package/dist/api/anthropic-messages.d.ts.map +1 -1
  2. package/dist/api/anthropic-messages.js +10 -7
  3. package/dist/api/anthropic-messages.js.map +1 -1
  4. package/dist/api/openai-completions.d.ts.map +1 -1
  5. package/dist/api/openai-completions.js +9 -1
  6. package/dist/api/openai-completions.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/provider-diagnostic.d.ts +33 -0
  12. package/dist/provider-diagnostic.d.ts.map +1 -0
  13. package/dist/provider-diagnostic.js +56 -0
  14. package/dist/provider-diagnostic.js.map +1 -0
  15. package/dist/providers/data/.manifest.json +1 -1
  16. package/dist/providers/data/fireworks.json +1 -1
  17. package/dist/providers/data/opencode-go.json +1 -1
  18. package/dist/providers/data/opencode.json +1 -1
  19. package/dist/providers/data/openrouter.json +1 -1
  20. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  21. package/dist/types.d.ts +3 -0
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/types.js.map +1 -1
  24. package/dist/utils/provider-diagnostic-carrier.d.ts +5 -0
  25. package/dist/utils/provider-diagnostic-carrier.d.ts.map +1 -0
  26. package/dist/utils/provider-diagnostic-carrier.js +18 -0
  27. package/dist/utils/provider-diagnostic-carrier.js.map +1 -0
  28. package/dist/utils/provider-diagnostic-sources.d.ts +26 -0
  29. package/dist/utils/provider-diagnostic-sources.d.ts.map +1 -0
  30. package/dist/utils/provider-diagnostic-sources.js +103 -0
  31. package/dist/utils/provider-diagnostic-sources.js.map +1 -0
  32. package/dist/utils/provider-diagnostic-vocabulary.d.ts +36 -0
  33. package/dist/utils/provider-diagnostic-vocabulary.d.ts.map +1 -0
  34. package/dist/utils/provider-diagnostic-vocabulary.js +129 -0
  35. package/dist/utils/provider-diagnostic-vocabulary.js.map +1 -0
  36. package/dist/utils/provider-retry.d.ts.map +1 -1
  37. package/dist/utils/provider-retry.js +5 -4
  38. package/dist/utils/provider-retry.js.map +1 -1
  39. 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;AAS9C,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;AA+BtC,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,CAogBjF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAkClF,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
+ {"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,CAkClF,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) => createChatCompletion(body, requestOptions).withResponse();
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)