@code-yeongyu/senpi-ai 2026.9.9 → 2026.9.10

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 (133) hide show
  1. package/README.md +1 -0
  2. package/dist/api/anthropic-messages.d.ts +3 -1
  3. package/dist/api/anthropic-messages.d.ts.map +1 -1
  4. package/dist/api/anthropic-messages.js +6 -2
  5. package/dist/api/anthropic-messages.js.map +1 -1
  6. package/dist/api/azure-openai-responses.js.map +1 -1
  7. package/dist/api/bedrock-converse-stream.js.map +1 -1
  8. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -1
  9. package/dist/api/context-room.d.ts.map +1 -1
  10. package/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -1
  11. package/dist/api/cursor-agent/measure.js.map +1 -1
  12. package/dist/api/cursor-agent/stream-retry.d.ts.map +1 -1
  13. package/dist/api/cursor-agent.js.map +1 -1
  14. package/dist/api/cursor-agent.lazy.js.map +1 -1
  15. package/dist/api/cursor-conversation-rotation.js.map +1 -1
  16. package/dist/api/google-generative-ai.js.map +1 -1
  17. package/dist/api/google-shared.js.map +1 -1
  18. package/dist/api/google-vertex.js.map +1 -1
  19. package/dist/api/openai-codex-responses.js.map +1 -1
  20. package/dist/api/openai-completions.d.ts.map +1 -1
  21. package/dist/api/openai-completions.js +5 -0
  22. package/dist/api/openai-completions.js.map +1 -1
  23. package/dist/api/openai-images-edit.d.ts +4 -0
  24. package/dist/api/openai-images-edit.d.ts.map +1 -0
  25. package/dist/api/openai-images-edit.js +15 -0
  26. package/dist/api/openai-images-edit.js.map +1 -0
  27. package/dist/api/openai-images-params.d.ts +60 -0
  28. package/dist/api/openai-images-params.d.ts.map +1 -0
  29. package/dist/api/openai-images-params.js +93 -0
  30. package/dist/api/openai-images-params.js.map +1 -0
  31. package/dist/api/openai-images-result.d.ts +12 -0
  32. package/dist/api/openai-images-result.d.ts.map +1 -0
  33. package/dist/api/openai-images-result.js +96 -0
  34. package/dist/api/openai-images-result.js.map +1 -0
  35. package/dist/api/openai-images.d.ts +3 -6
  36. package/dist/api/openai-images.d.ts.map +1 -1
  37. package/dist/api/openai-images.js +26 -119
  38. package/dist/api/openai-images.js.map +1 -1
  39. package/dist/api/openai-responses-shared.js.map +1 -1
  40. package/dist/api/openai-responses.js.map +1 -1
  41. package/dist/api/pi-messages.d.ts.map +1 -1
  42. package/dist/api/pi-messages.js.map +1 -1
  43. package/dist/api/transform-messages.js.map +1 -1
  44. package/dist/api/warm-prompt-cache.js.map +1 -1
  45. package/dist/auth/credential-store.d.ts.map +1 -1
  46. package/dist/auth/oauth/load.d.ts.map +1 -1
  47. package/dist/auth/oauth/load.js.map +1 -1
  48. package/dist/auth/oauth/openai-codex.js.map +1 -1
  49. package/dist/auth/oauth-refresh.d.ts +47 -0
  50. package/dist/auth/oauth-refresh.d.ts.map +1 -0
  51. package/dist/auth/oauth-refresh.js +126 -0
  52. package/dist/auth/oauth-refresh.js.map +1 -0
  53. package/dist/auth/pool/failover.d.ts.map +1 -1
  54. package/dist/auth/pool/select.d.ts.map +1 -1
  55. package/dist/auth/refresh-credential.d.ts +12 -0
  56. package/dist/auth/refresh-credential.d.ts.map +1 -0
  57. package/dist/auth/refresh-credential.js +44 -0
  58. package/dist/auth/refresh-credential.js.map +1 -0
  59. package/dist/auth/resolve.d.ts +2 -0
  60. package/dist/auth/resolve.d.ts.map +1 -1
  61. package/dist/auth/resolve.js +26 -35
  62. package/dist/auth/resolve.js.map +1 -1
  63. package/dist/compat.js.map +1 -1
  64. package/dist/cursor/model-capabilities.js.map +1 -1
  65. package/dist/cursor/selection-descriptor.js.map +1 -1
  66. package/dist/env-api-keys.d.ts.map +1 -1
  67. package/dist/env-api-keys.js +1 -0
  68. package/dist/env-api-keys.js.map +1 -1
  69. package/dist/image-models.generated.d.ts +99 -66
  70. package/dist/image-models.generated.d.ts.map +1 -1
  71. package/dist/image-models.generated.js +34 -1
  72. package/dist/image-models.generated.js.map +1 -1
  73. package/dist/images.d.ts +1 -0
  74. package/dist/images.d.ts.map +1 -1
  75. package/dist/images.js +1 -0
  76. package/dist/images.js.map +1 -1
  77. package/dist/models-store.d.ts.map +1 -1
  78. package/dist/models.d.ts.map +1 -1
  79. package/dist/models.generated.d.ts +2 -0
  80. package/dist/models.generated.d.ts.map +1 -1
  81. package/dist/models.generated.js +2 -0
  82. package/dist/models.generated.js.map +1 -1
  83. package/dist/models.js +3 -28
  84. package/dist/models.js.map +1 -1
  85. package/dist/node/provider-scope.d.ts.map +1 -1
  86. package/dist/providers/all.d.ts.map +1 -1
  87. package/dist/providers/all.js +2 -0
  88. package/dist/providers/all.js.map +1 -1
  89. package/dist/providers/data/.manifest.json +1 -1
  90. package/dist/providers/data/amazon-bedrock.json +1 -1
  91. package/dist/providers/data/nvidia.json +1 -1
  92. package/dist/providers/data/opencode-go.json +1 -1
  93. package/dist/providers/data/openrouter.json +1 -1
  94. package/dist/providers/data/venice.json +1 -0
  95. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  96. package/dist/providers/faux.js.map +1 -1
  97. package/dist/providers/ollama.js.map +1 -1
  98. package/dist/providers/radius.js.map +1 -1
  99. package/dist/providers/venice.d.ts +3 -0
  100. package/dist/providers/venice.d.ts.map +1 -0
  101. package/dist/providers/venice.js +15 -0
  102. package/dist/providers/venice.js.map +1 -0
  103. package/dist/providers/venice.models.d.ts +4 -0
  104. package/dist/providers/venice.models.d.ts.map +1 -0
  105. package/dist/providers/venice.models.js +6 -0
  106. package/dist/providers/venice.models.js.map +1 -0
  107. package/dist/tool-call-middleware/context-transformer.js.map +1 -1
  108. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.d.ts.map +1 -1
  109. package/dist/tool-call-middleware/protocols/kimi-xtml/parse.js.map +1 -1
  110. package/dist/tool-call-middleware/recovery-content-lifecycle.d.ts.map +1 -1
  111. package/dist/tool-call-middleware/recovery-event-stream.d.ts.map +1 -1
  112. package/dist/tool-call-middleware/recovery-native-projection.d.ts.map +1 -1
  113. package/dist/tool-call-middleware/recovery-native-projection.js.map +1 -1
  114. package/dist/tool-call-middleware/recovery-stream-terminal.d.ts.map +1 -1
  115. package/dist/tool-call-middleware/recovery-stream-wrapper.js.map +1 -1
  116. package/dist/tool-call-middleware/recovery-text-projection.d.ts.map +1 -1
  117. package/dist/tool-call-middleware/recovery-text-projection.js.map +1 -1
  118. package/dist/tool-call-middleware/stream-thinking-projection.d.ts.map +1 -1
  119. package/dist/tool-call-middleware/stream-wrapper-shared.d.ts.map +1 -1
  120. package/dist/tool-call-middleware/stream-wrapper-shared.js.map +1 -1
  121. package/dist/tool-call-middleware/stream-wrapper.js.map +1 -1
  122. package/dist/types.d.ts +20 -3
  123. package/dist/types.d.ts.map +1 -1
  124. package/dist/types.js.map +1 -1
  125. package/dist/utils/deferred-tools.js.map +1 -1
  126. package/dist/utils/event-stream.d.ts.map +1 -1
  127. package/dist/utils/prompt-cache-ttl.d.ts +3 -1
  128. package/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  129. package/dist/utils/prompt-cache-ttl.js.map +1 -1
  130. package/dist/utils/provider-retry.js.map +1 -1
  131. package/dist/utils/retry.js.map +1 -1
  132. package/dist/utils/validation.js.map +1 -1
  133. package/package.json +3 -3
package/README.md CHANGED
@@ -437,6 +437,7 @@ Built-in providers resolve these env vars (Node.js; in browsers pass `apiKey` ex
437
437
  | Fireworks | `FIREWORKS_API_KEY` |
438
438
  | Together AI | `TOGETHER_API_KEY` |
439
439
  | Baseten | `BASETEN_API_KEY` |
440
+ | Venice AI | `VENICE_API_KEY` |
440
441
  | OpenRouter | `OPENROUTER_API_KEY` |
441
442
  | Vercel AI Gateway | `AI_GATEWAY_API_KEY` |
442
443
  | OpenGateway | `OPENGATEWAY_API_KEY` |
@@ -1,7 +1,9 @@
1
1
  import Anthropic from "@anthropic-ai/sdk";
2
2
  import type { MessageCreateParamsNonStreaming } from "@anthropic-ai/sdk/resources/beta/messages/messages.js";
3
- import type { AnthropicRefusalFallback, Context, Model, SimpleStreamOptions, StreamFunction, StreamOptions } from "../types.ts";
3
+ import type { AnthropicRefusalFallback, Context, Model, SimpleStreamOptions, StreamFunction, StreamOptions, Tool } from "../types.ts";
4
4
  export { getAnthropicCompat } from "../utils/prompt-cache-ttl.ts";
5
+ export declare const toClaudeCodeName: (name: string) => string;
6
+ export declare const fromClaudeCodeName: (name: string, tools?: Tool[]) => string;
5
7
  export type AnthropicEffort = "low" | "medium" | "high" | "xhigh" | "max";
6
8
  export type AnthropicThinkingDisplay = "summarized" | "omitted";
7
9
  export interface AnthropicOptions extends StreamOptions {
@@ -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,EAOb,MAAM,aAAa,CAAC;AAsCrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA6JlE,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;AA6IF,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;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;AA6IF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACxB,+BAA+B,CAkBjC"}
@@ -83,10 +83,14 @@ const claudeCodeTools = [
83
83
  "WebSearch",
84
84
  ];
85
85
  const ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));
86
+ const ccToolAliases = new Map([["ask_user_question", "AskUserQuestion"]]);
86
87
  // Convert tool name to CC canonical casing if it matches (case-insensitive)
87
- const toClaudeCodeName = (name) => ccToolLookup.get(name.toLowerCase()) ?? name;
88
- const fromClaudeCodeName = (name, tools) => {
88
+ export const toClaudeCodeName = (name) => ccToolAliases.get(name) ?? ccToolLookup.get(name.toLowerCase()) ?? name;
89
+ export const fromClaudeCodeName = (name, tools) => {
89
90
  if (tools && tools.length > 0) {
91
+ const alias = [...ccToolAliases].find(([, wireName]) => wireName === name);
92
+ if (alias && tools.some((tool) => tool.name === alias[0]))
93
+ return alias[0];
90
94
  const lowerName = name.toLowerCase();
91
95
  const matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);
92
96
  if (matchedTool)