@cjhyy/code-shell 0.1.6 → 0.1.7

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 (154) hide show
  1. package/dist/anthropic-UBSB5AQH.js +1 -0
  2. package/dist/arena/index.js +1 -104
  3. package/dist/arena-OW55ZCHT.js +3 -0
  4. package/dist/bwrap-PVZMLHZR.js +2 -0
  5. package/dist/chunk-2NS3JMNK.js +1 -0
  6. package/dist/chunk-3QP5BQ3L.js +1 -0
  7. package/dist/chunk-B7K2OWKC.js +2 -0
  8. package/dist/chunk-EWWK56K6.js +2 -0
  9. package/dist/chunk-FU7AHZNN.js +1 -0
  10. package/dist/chunk-HIJ2XXGX.js +1 -0
  11. package/dist/chunk-KCXSARAA.js +1 -0
  12. package/dist/chunk-NFH3UQ3E.js +2 -0
  13. package/dist/chunk-NMBYBGC7.js +250 -0
  14. package/dist/chunk-NVAZJ5XS.js +2 -0
  15. package/dist/chunk-O5HFCH2U.js +1 -0
  16. package/dist/chunk-P6JSTIFM.js +1 -0
  17. package/dist/chunk-PGANL6F2.js +3 -0
  18. package/dist/chunk-Q4O2HGWS.js +251 -0
  19. package/dist/chunk-QTWU7UNA.js +5 -0
  20. package/dist/chunk-RP26WO4R.js +1 -0
  21. package/dist/chunk-SNFAPSLA.js +1 -0
  22. package/dist/chunk-T222K6IV.js +18 -0
  23. package/dist/chunk-TKJA6W36.js +3 -0
  24. package/dist/chunk-UDPUTFQT.js +2 -0
  25. package/dist/chunk-W47Z7MGS.js +33 -0
  26. package/dist/chunk-WI6FSWGU.js +1 -0
  27. package/dist/chunk-WOP6MJKW.js +1 -0
  28. package/dist/chunk-XDOWC7EG.js +4 -0
  29. package/dist/chunk-Y2NS6HPO.js +641 -0
  30. package/dist/cli/main.js +303 -22060
  31. package/dist/client-base-6ZZJJYDY.js +1 -0
  32. package/dist/compaction-ECVQVOCT.js +1 -0
  33. package/dist/devtools-SGDUOOM4.js +1 -0
  34. package/dist/engine/engine.d.ts +8 -0
  35. package/dist/export-md-U72T7NW7.js +22 -0
  36. package/dist/file-history-7FQFEQOL.js +1 -0
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +1 -347
  39. package/dist/llm/token-counter.d.ts +17 -0
  40. package/dist/manager-C3TDN6MS.js +1 -0
  41. package/dist/mcp-manager-OP4XYV53.js +1 -0
  42. package/dist/memory-BNI4WEWL.js +1 -0
  43. package/dist/model-cache-HEDXI7UJ.js +1 -0
  44. package/dist/model-fetcher-BJ64META.js +1 -0
  45. package/dist/off-7SDVMMXW.js +1 -0
  46. package/dist/openai-KEWQ54TM.js +1 -0
  47. package/dist/openrouter-models-AM6M52D6.js +1 -0
  48. package/dist/openrouter-sync-5JNBL3Z6.js +1 -0
  49. package/dist/product/index.js +1 -21
  50. package/dist/run/index.js +1 -48
  51. package/dist/seatbelt-WBYROQT6.js +37 -0
  52. package/dist/session/session-manager.d.ts +2 -0
  53. package/dist/session-manager-AGWS5SMJ.js +1 -0
  54. package/dist/settings/schema.d.ts +72 -6
  55. package/dist/tool-summary-5UE62VU4.js +2 -0
  56. package/dist/tool-system/builtin/bash.d.ts +7 -1
  57. package/dist/tool-system/context.d.ts +7 -0
  58. package/dist/tool-system/sandbox/bwrap.d.ts +13 -0
  59. package/dist/tool-system/sandbox/index.d.ts +71 -0
  60. package/dist/tool-system/sandbox/off.d.ts +2 -0
  61. package/dist/tool-system/sandbox/seatbelt.d.ts +18 -0
  62. package/dist/types.d.ts +4 -0
  63. package/dist/ui/components/SessionPicker.d.ts +2 -0
  64. package/dist/ui/components/SpinnerWithVerb.d.ts +2 -2
  65. package/dist/ui/components/StatusLine.d.ts +2 -2
  66. package/dist/updater-OCNU2K2Z.js +1 -0
  67. package/package.json +7 -10
  68. package/dist/anthropic-IBTI4WL2.cjs +0 -10
  69. package/dist/anthropic-PRZZKHEZ.js +0 -10
  70. package/dist/arena/index.cjs +0 -104
  71. package/dist/arena-2LTLIXOL.js +0 -261
  72. package/dist/arena-ADB7DRFI.cjs +0 -261
  73. package/dist/chunk-2YW4FPFG.cjs +0 -101
  74. package/dist/chunk-3OA5G4TM.js +0 -47
  75. package/dist/chunk-3QO25N6E.js +0 -4711
  76. package/dist/chunk-3SBSUOWZ.js +0 -447
  77. package/dist/chunk-52LGZKT3.cjs +0 -47
  78. package/dist/chunk-55XGPMAP.cjs +0 -146
  79. package/dist/chunk-6QVAYW7C.cjs +0 -438
  80. package/dist/chunk-6S4BJ65N.js +0 -113
  81. package/dist/chunk-76HYEPDM.js +0 -307
  82. package/dist/chunk-7BI3V74Y.cjs +0 -447
  83. package/dist/chunk-7EG3V4JY.cjs +0 -113
  84. package/dist/chunk-7JVTYEEC.js +0 -340
  85. package/dist/chunk-7QIM3BKD.js +0 -44
  86. package/dist/chunk-7Y6S3OCX.js +0 -438
  87. package/dist/chunk-ABRRONJ7.js +0 -107
  88. package/dist/chunk-BSW22MPA.js +0 -146
  89. package/dist/chunk-BXCY2FSE.js +0 -203
  90. package/dist/chunk-BZ5TNE7L.js +0 -5128
  91. package/dist/chunk-DDB6QOKJ.cjs +0 -1252
  92. package/dist/chunk-HEKQCI7B.cjs +0 -224
  93. package/dist/chunk-IK4EWJBP.cjs +0 -203
  94. package/dist/chunk-ILHE7XLT.cjs +0 -107
  95. package/dist/chunk-JMR33QVF.cjs +0 -169
  96. package/dist/chunk-KAQHULYN.js +0 -54
  97. package/dist/chunk-KE4EQOWA.js +0 -294
  98. package/dist/chunk-KOVYSDHZ.cjs +0 -340
  99. package/dist/chunk-KS3RYAYL.cjs +0 -45
  100. package/dist/chunk-MD32R22I.js +0 -50
  101. package/dist/chunk-MV7YI4WO.cjs +0 -293
  102. package/dist/chunk-MY5XHADU.cjs +0 -216
  103. package/dist/chunk-NUNC3VFB.cjs +0 -307
  104. package/dist/chunk-PKGRTCCY.js +0 -9092
  105. package/dist/chunk-QARL3IDQ.js +0 -1252
  106. package/dist/chunk-S754JHLR.cjs +0 -54
  107. package/dist/chunk-SFXHZSRF.js +0 -101
  108. package/dist/chunk-SIHHIQLO.js +0 -224
  109. package/dist/chunk-T6VYG46N.js +0 -105
  110. package/dist/chunk-TNLGBJYS.cjs +0 -44
  111. package/dist/chunk-TUY2T5KP.cjs +0 -105
  112. package/dist/chunk-UXOCVJJ6.cjs +0 -9092
  113. package/dist/chunk-VIAGTYYW.js +0 -169
  114. package/dist/chunk-WASS5YWB.js +0 -215
  115. package/dist/chunk-WZJV6DJC.cjs +0 -5128
  116. package/dist/chunk-YIQBXAYU.cjs +0 -264
  117. package/dist/chunk-YKIAELDZ.cjs +0 -4711
  118. package/dist/chunk-ZBPSQCPU.js +0 -264
  119. package/dist/cli/main.cjs +0 -22156
  120. package/dist/client-base-HTF236ZD.cjs +0 -9
  121. package/dist/client-base-QKRKCOWB.js +0 -9
  122. package/dist/compaction-6VU2T643.js +0 -33
  123. package/dist/compaction-OKUNTCA7.cjs +0 -33
  124. package/dist/devtools-T2NIZBJK.cjs +0 -6
  125. package/dist/devtools-YXWHOVKR.js +0 -6
  126. package/dist/export-md-RXDW6F5W.cjs +0 -135
  127. package/dist/export-md-XXKZANW5.js +0 -135
  128. package/dist/file-history-KYPE3ECT.cjs +0 -7
  129. package/dist/file-history-LF4F7X26.js +0 -7
  130. package/dist/index.cjs +0 -347
  131. package/dist/manager-D65VFAPX.js +0 -7
  132. package/dist/manager-TTF5VHJC.cjs +0 -7
  133. package/dist/mcp-manager-QMKWPBZ4.js +0 -8
  134. package/dist/mcp-manager-Z3OKI74O.cjs +0 -8
  135. package/dist/memory-5LWZ6FI2.cjs +0 -9
  136. package/dist/memory-VIJLBAMQ.js +0 -9
  137. package/dist/model-cache-5KIYL5SL.js +0 -13
  138. package/dist/model-cache-OED3IM4R.cjs +0 -13
  139. package/dist/model-fetcher-HKGICACL.js +0 -8
  140. package/dist/model-fetcher-UR6WJOQP.cjs +0 -8
  141. package/dist/openai-JR2WEKOF.js +0 -10
  142. package/dist/openai-YBTOET4O.cjs +0 -10
  143. package/dist/openrouter-models-H56GHBHN.js +0 -15
  144. package/dist/openrouter-models-TWUFWZ5T.cjs +0 -15
  145. package/dist/openrouter-sync-5VMGN6C2.cjs +0 -11
  146. package/dist/openrouter-sync-ALEMF5IU.js +0 -11
  147. package/dist/product/index.cjs +0 -21
  148. package/dist/run/index.cjs +0 -48
  149. package/dist/session-manager-Q22BBMD3.js +0 -8
  150. package/dist/session-manager-XODQVL3C.cjs +0 -8
  151. package/dist/tool-summary-63DPIS7G.cjs +0 -31
  152. package/dist/tool-summary-NP5CDBKG.js +0 -31
  153. package/dist/updater-I7QBW4DP.cjs +0 -17
  154. package/dist/updater-NVME5S3Z.js +0 -17
@@ -1,264 +0,0 @@
1
- import {
2
- LLMClientBase
3
- } from "./chunk-6S4BJ65N.js";
4
- import {
5
- ContextLimitError,
6
- LLMError,
7
- LLMRateLimitError
8
- } from "./chunk-SFXHZSRF.js";
9
- import {
10
- logger
11
- } from "./chunk-BXCY2FSE.js";
12
- import {
13
- init_esm_shims
14
- } from "./chunk-MD32R22I.js";
15
-
16
- // src/llm/providers/anthropic.ts
17
- init_esm_shims();
18
- import Anthropic from "@anthropic-ai/sdk";
19
- var AnthropicClient = class extends LLMClientBase {
20
- _client = null;
21
- constructor(config) {
22
- super(config);
23
- }
24
- initClient() {
25
- }
26
- get client() {
27
- if (!this._client) {
28
- this._client = new Anthropic({
29
- apiKey: this.config.apiKey ?? process.env.ANTHROPIC_API_KEY,
30
- ...this.config.baseUrl ? { baseURL: this.config.baseUrl } : {},
31
- timeout: this.timeout
32
- });
33
- }
34
- return this._client;
35
- }
36
- async createMessage(options) {
37
- return this.withRetry(async () => {
38
- const messages = this.buildMessages(options.messages);
39
- const tools = options.tools ? this.convertTools(options.tools) : void 0;
40
- const span = logger.span("llm.request", {
41
- cat: "llm",
42
- provider: this.provider,
43
- model: this.model,
44
- stream: !!(options.stream && options.onChunk),
45
- messageCount: messages.length,
46
- toolCount: tools?.length ?? 0
47
- });
48
- try {
49
- const response = options.stream && options.onChunk ? await this.streamMessage(options, messages, tools) : await this.nonStreamMessage(options, messages, tools);
50
- span.end({
51
- stopReason: response.stopReason,
52
- promptTokens: response.usage?.promptTokens,
53
- completionTokens: response.usage?.completionTokens,
54
- cacheReadTokens: response.usage?.cacheReadTokens,
55
- cacheCreationTokens: response.usage?.cacheCreationTokens
56
- });
57
- return response;
58
- } catch (err) {
59
- span.fail(err);
60
- throw err;
61
- }
62
- });
63
- }
64
- async nonStreamMessage(options, messages, tools) {
65
- try {
66
- const response = await this.client.messages.create(
67
- {
68
- model: this.model,
69
- max_tokens: options.maxTokens ?? this.maxTokens,
70
- system: [
71
- {
72
- type: "text",
73
- text: options.systemPrompt,
74
- cache_control: { type: "ephemeral" }
75
- }
76
- ],
77
- messages,
78
- ...tools?.length ? { tools } : {},
79
- ...options.temperature !== void 0 ? { temperature: options.temperature } : { temperature: this.temperature }
80
- },
81
- { signal: options.signal }
82
- );
83
- const usage = {
84
- promptTokens: response.usage.input_tokens,
85
- completionTokens: response.usage.output_tokens,
86
- totalTokens: response.usage.input_tokens + response.usage.output_tokens,
87
- cacheReadTokens: response.usage.cache_read_input_tokens,
88
- cacheCreationTokens: response.usage.cache_creation_input_tokens
89
- };
90
- this.recordUsage(usage, options);
91
- return this.processResponse(response, usage);
92
- } catch (err) {
93
- this.handleApiError(err);
94
- throw err;
95
- }
96
- }
97
- async streamMessage(options, messages, tools) {
98
- try {
99
- const stream = this.client.messages.stream(
100
- {
101
- model: this.model,
102
- max_tokens: options.maxTokens ?? this.maxTokens,
103
- system: [
104
- {
105
- type: "text",
106
- text: options.systemPrompt,
107
- cache_control: { type: "ephemeral" }
108
- }
109
- ],
110
- messages,
111
- ...tools?.length ? { tools } : {},
112
- ...options.temperature !== void 0 ? { temperature: options.temperature } : { temperature: this.temperature }
113
- },
114
- { signal: options.signal }
115
- );
116
- let currentText = "";
117
- let currentToolName = "";
118
- let currentToolId = "";
119
- let currentToolInput = "";
120
- const streamStartedAt = Date.now();
121
- let firstByteLogged = false;
122
- stream.on("text", (text) => {
123
- if (!firstByteLogged) {
124
- firstByteLogged = true;
125
- logger.debug("llm.first_byte", {
126
- cat: "llm",
127
- provider: this.provider,
128
- model: this.model,
129
- ttft_ms: Date.now() - streamStartedAt
130
- });
131
- }
132
- currentText += text;
133
- options.onChunk?.({ type: "text", text });
134
- });
135
- stream.on("contentBlock", (block) => {
136
- if (block.type === "tool_use") {
137
- currentToolName = block.name;
138
- currentToolId = block.id;
139
- currentToolInput = "";
140
- options.onChunk?.({
141
- type: "tool_use_start",
142
- toolCall: { id: block.id, toolName: block.name, args: {} }
143
- });
144
- }
145
- });
146
- stream.on("inputJson", (_delta, snapshot) => {
147
- currentToolInput = JSON.stringify(snapshot);
148
- if (currentToolId) {
149
- options.onChunk?.({
150
- type: "tool_use_delta",
151
- toolCall: {
152
- id: currentToolId,
153
- toolName: currentToolName,
154
- args: snapshot ?? {}
155
- }
156
- });
157
- }
158
- });
159
- const finalMessage = await stream.finalMessage();
160
- const usage = {
161
- promptTokens: finalMessage.usage.input_tokens,
162
- completionTokens: finalMessage.usage.output_tokens,
163
- totalTokens: finalMessage.usage.input_tokens + finalMessage.usage.output_tokens,
164
- cacheReadTokens: finalMessage.usage.cache_read_input_tokens,
165
- cacheCreationTokens: finalMessage.usage.cache_creation_input_tokens
166
- };
167
- this.recordUsage(usage, options);
168
- options.onChunk?.({ type: "stop", stopReason: finalMessage.stop_reason ?? void 0 });
169
- return this.processResponse(finalMessage, usage);
170
- } catch (err) {
171
- this.handleApiError(err);
172
- throw err;
173
- }
174
- }
175
- processResponse(response, usage) {
176
- let text = "";
177
- const toolCalls = [];
178
- for (const block of response.content) {
179
- if (block.type === "text") {
180
- text += block.text;
181
- } else if (block.type === "tool_use") {
182
- toolCalls.push({
183
- id: block.id,
184
- toolName: block.name,
185
- args: block.input ?? {}
186
- });
187
- }
188
- }
189
- return {
190
- text,
191
- toolCalls,
192
- usage,
193
- stopReason: response.stop_reason ?? void 0
194
- };
195
- }
196
- buildMessages(messages) {
197
- const result = [];
198
- for (const msg of messages) {
199
- if (msg.role === "system") continue;
200
- const role = msg.role === "tool" ? "user" : msg.role;
201
- if (typeof msg.content === "string") {
202
- result.push({ role, content: msg.content });
203
- } else {
204
- const blocks = [];
205
- for (const block of msg.content) {
206
- if (block.type === "text" && block.text) {
207
- blocks.push({ type: "text", text: block.text });
208
- } else if (block.type === "tool_use" && block.id && block.name && block.input) {
209
- blocks.push({
210
- type: "tool_use",
211
- id: block.id,
212
- name: block.name,
213
- input: block.input
214
- });
215
- } else if (block.type === "tool_result" && block.tool_use_id) {
216
- blocks.push({
217
- type: "tool_result",
218
- tool_use_id: block.tool_use_id,
219
- content: typeof block.content === "string" ? block.content : ""
220
- });
221
- } else if (block.type === "image" && block.source) {
222
- blocks.push({
223
- type: "image",
224
- source: {
225
- type: "base64",
226
- media_type: block.source.media_type,
227
- data: block.source.data
228
- }
229
- });
230
- }
231
- }
232
- if (blocks.length > 0) {
233
- result.push({ role, content: blocks });
234
- }
235
- }
236
- }
237
- return result;
238
- }
239
- convertTools(tools) {
240
- return tools.map((t) => ({
241
- name: t.name,
242
- description: t.description,
243
- input_schema: t.inputSchema
244
- }));
245
- }
246
- handleApiError(err) {
247
- if (err instanceof Anthropic.APIError) {
248
- if (err.status === 429) {
249
- throw new LLMRateLimitError("anthropic");
250
- }
251
- if (err.message?.includes("prompt is too long") || err.message?.includes("context_length_exceeded")) {
252
- throw new ContextLimitError("anthropic");
253
- }
254
- throw new LLMError(`Anthropic API error: ${err.message}`, "anthropic", {
255
- status: err.status
256
- });
257
- }
258
- throw err;
259
- }
260
- };
261
-
262
- export {
263
- AnthropicClient
264
- };