@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.
Files changed (50) 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 +13 -2
  6. package/dist/api/openai-completions.js.map +1 -1
  7. package/dist/endpoint-reasoning-efforts.d.ts +26 -0
  8. package/dist/endpoint-reasoning-efforts.d.ts.map +1 -0
  9. package/dist/endpoint-reasoning-efforts.js +58 -0
  10. package/dist/endpoint-reasoning-efforts.js.map +1 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/model.d.ts +5 -0
  16. package/dist/model.d.ts.map +1 -1
  17. package/dist/model.js.map +1 -1
  18. package/dist/provider-diagnostic.d.ts +33 -0
  19. package/dist/provider-diagnostic.d.ts.map +1 -0
  20. package/dist/provider-diagnostic.js +56 -0
  21. package/dist/provider-diagnostic.js.map +1 -0
  22. package/dist/providers/data/.manifest.json +1 -1
  23. package/dist/providers/data/openrouter.json +1 -1
  24. package/dist/types.d.ts +3 -0
  25. package/dist/types.d.ts.map +1 -1
  26. package/dist/types.js.map +1 -1
  27. package/dist/utils/error-body.d.ts +6 -0
  28. package/dist/utils/error-body.d.ts.map +1 -1
  29. package/dist/utils/error-body.js +36 -0
  30. package/dist/utils/error-body.js.map +1 -1
  31. package/dist/utils/provider-diagnostic-carrier.d.ts +5 -0
  32. package/dist/utils/provider-diagnostic-carrier.d.ts.map +1 -0
  33. package/dist/utils/provider-diagnostic-carrier.js +18 -0
  34. package/dist/utils/provider-diagnostic-carrier.js.map +1 -0
  35. package/dist/utils/provider-diagnostic-sources.d.ts +26 -0
  36. package/dist/utils/provider-diagnostic-sources.d.ts.map +1 -0
  37. package/dist/utils/provider-diagnostic-sources.js +103 -0
  38. package/dist/utils/provider-diagnostic-sources.js.map +1 -0
  39. package/dist/utils/provider-diagnostic-vocabulary.d.ts +36 -0
  40. package/dist/utils/provider-diagnostic-vocabulary.d.ts.map +1 -0
  41. package/dist/utils/provider-diagnostic-vocabulary.js +129 -0
  42. package/dist/utils/provider-diagnostic-vocabulary.js.map +1 -0
  43. package/dist/utils/provider-retry.d.ts.map +1 -1
  44. package/dist/utils/provider-retry.js +5 -4
  45. package/dist/utils/provider-retry.js.map +1 -1
  46. package/dist/utils/retry.d.ts +1 -0
  47. package/dist/utils/retry.d.ts.map +1 -1
  48. package/dist/utils/retry.js +14 -1
  49. package/dist/utils/retry.js.map +1 -1
  50. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAMX,+BAA+B,EAK/B,MAAM,uDAAuD,CAAC;AAG/D,OAAO,KAAK,EACX,wBAAwB,EAKxB,OAAO,EAGP,KAAK,EAGL,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAGb,IAAI,EAIJ,MAAM,aAAa,CAAC;AAsCrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA0ElE,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAC2B,CAAC;AACzE,eAAO,MAAM,kBAAkB,SAAU,MAAM,UAAU,IAAI,EAAE,WAS9D,CAAC;AA4EF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,SAAS,CAAC;AA+FhE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAmvBD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAudzE,CAAC;AAyFF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CA+ClF,CAAC;AAmJF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACxB,+BAA+B,CAkBjC"}
1
+ {"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAMX,+BAA+B,EAK/B,MAAM,uDAAuD,CAAC;AAI/D,OAAO,KAAK,EACX,wBAAwB,EAKxB,OAAO,EAGP,KAAK,EAGL,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAGb,IAAI,EAIJ,MAAM,aAAa,CAAC;AA4CrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA0ElE,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAC2B,CAAC;AACzE,eAAO,MAAM,kBAAkB,SAAU,MAAM,UAAU,IAAI,EAAE,WAS9D,CAAC;AA4EF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,SAAS,CAAC;AA+FhE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAmvBD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CA0dzE,CAAC;AAyFF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CA+ClF,CAAC;AAmJF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACxB,+BAA+B,CAkBjC"}
@@ -1,5 +1,6 @@
1
1
  import Anthropic from "@anthropic-ai/sdk";
2
2
  import { calculateCost } from "../models.js";
3
+ import { readProviderDiagnostic } from "../provider-diagnostic.js";
3
4
  import { registerSessionResourceCleanup } from "../session-resources.js";
4
5
  import { isVideoMimeType } from "../types.js";
5
6
  import { combineAbortSignals } from "../utils/abort-signals.js";
@@ -10,6 +11,8 @@ import { headersToRecord, providerHeadersToRecord } from "../utils/headers.js";
10
11
  import { parseJsonWithRepair, parseStreamingJson } from "../utils/json-parse.js";
11
12
  import { getPiUserAgent } from "../utils/pi-user-agent.js";
12
13
  import { getAnthropicCompat, isAnthropicApiBaseUrl } from "../utils/prompt-cache-ttl.js";
14
+ import { attachProviderDiagnostic } from "../utils/provider-diagnostic-carrier.js";
15
+ import { anthropicProviderDiagnosticFromError, anthropicProviderDiagnosticFromSseData, awaitProviderTransport, } from "../utils/provider-diagnostic-sources.js";
13
16
  import { getProviderEnvValue } from "../utils/provider-env.js";
14
17
  import { retryProviderRequest } from "../utils/provider-retry.js";
15
18
  import { appendRetryAfterMsMarker, extract429RetryAfterMs } from "../utils/retry-hint.js";
@@ -790,7 +793,7 @@ async function* iterateAnthropicEvents(response, signal) {
790
793
  if (hintMs !== undefined) {
791
794
  errorText = appendRetryAfterMsMarker(errorText, hintMs);
792
795
  }
793
- throw new Error(errorText);
796
+ throw attachProviderDiagnostic(new Error(errorText), anthropicProviderDiagnosticFromSseData(sse.data));
794
797
  }
795
798
  if (!ANTHROPIC_MESSAGE_EVENTS.has(sse.event ?? "")) {
796
799
  continue;
@@ -888,18 +891,15 @@ export const stream = (model, context, options) => {
888
891
  maxRetries: 0,
889
892
  ...(payloadRequestMetadata.headers ? { headers: payloadRequestMetadata.headers } : {}),
890
893
  };
894
+ const send = (body) => awaitProviderTransport(() => client.beta.messages.create({ ...body, stream: true }, requestOptions).asResponse(), anthropicProviderDiagnosticFromError);
891
895
  try {
892
- const response = await client.beta.messages
893
- .create({ ...params, stream: true }, requestOptions)
894
- .asResponse();
896
+ const response = await send(params);
895
897
  return { params, response };
896
898
  }
897
899
  catch (error) {
898
900
  if (isForcedToolChoiceUnsupportedError(error, isForcedAnthropicToolChoice(params.tool_choice))) {
899
901
  params = omitToolChoiceParam(params);
900
- const response = await client.beta.messages
901
- .create({ ...params, stream: true }, requestOptions)
902
- .asResponse();
902
+ const response = await send(params);
903
903
  return { params, response };
904
904
  }
905
905
  throw error;
@@ -1254,6 +1254,9 @@ export const stream = (model, context, options) => {
1254
1254
  ...(failure.shouldRetry !== undefined ? { shouldRetry: failure.shouldRetry } : {}),
1255
1255
  },
1256
1256
  });
1257
+ const providerDiagnostic = output.stopReason === "error" ? readProviderDiagnostic(error) : undefined;
1258
+ if (providerDiagnostic !== undefined)
1259
+ output.providerDiagnostic = providerDiagnostic;
1257
1260
  output.errorMessage = errorMessage;
1258
1261
  stream.push({ type: "error", reason: output.stopReason, error: output });
1259
1262
  stream.end();