@cjhyy/code-shell 0.1.6 → 0.2.0

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 (171) hide show
  1. package/dist/anthropic-OVRWAZRD.js +1 -0
  2. package/dist/arena/index.js +1 -104
  3. package/dist/arena-64T2EQD4.js +3 -0
  4. package/dist/bwrap-PVZMLHZR.js +2 -0
  5. package/dist/chunk-2EUIMKJA.js +1 -0
  6. package/dist/chunk-2GJ7H5NC.js +641 -0
  7. package/dist/chunk-2OD6VR4N.js +2 -0
  8. package/dist/chunk-3QP5BQ3L.js +1 -0
  9. package/dist/chunk-A4M2Y42L.js +2 -0
  10. package/dist/chunk-DEYFK6FP.js +1 -0
  11. package/dist/chunk-DTPABBSV.js +2 -0
  12. package/dist/chunk-EU3J7TBP.js +1 -0
  13. package/dist/chunk-FU7AHZNN.js +1 -0
  14. package/dist/chunk-L7B2ORID.js +4 -0
  15. package/dist/chunk-M7VU4YVY.js +49 -0
  16. package/dist/chunk-MGP35GKD.js +254 -0
  17. package/dist/chunk-MLCTC53I.js +1 -0
  18. package/dist/chunk-O5HFCH2U.js +1 -0
  19. package/dist/chunk-P6JSTIFM.js +1 -0
  20. package/dist/chunk-Q3RSX66I.js +1 -0
  21. package/dist/chunk-QTWU7UNA.js +5 -0
  22. package/dist/chunk-RERBX75D.js +251 -0
  23. package/dist/chunk-SNFAPSLA.js +1 -0
  24. package/dist/chunk-T222K6IV.js +18 -0
  25. package/dist/chunk-TKJA6W36.js +3 -0
  26. package/dist/chunk-VKKU4LOM.js +3 -0
  27. package/dist/chunk-WI6FSWGU.js +1 -0
  28. package/dist/chunk-XXCZE2U2.js +2 -0
  29. package/dist/chunk-ZSAONDT6.js +2 -0
  30. package/dist/cli/main.js +303 -22060
  31. package/dist/cli/onboarding.d.ts +7 -2
  32. package/dist/client-base-F5FCRSB3.js +1 -0
  33. package/dist/compaction-L3Y6NG4N.js +1 -0
  34. package/dist/context/compaction.d.ts +2 -1
  35. package/dist/data/static-catalogs.d.ts +25 -0
  36. package/dist/devtools-SGDUOOM4.js +1 -0
  37. package/dist/engine/engine.d.ts +24 -0
  38. package/dist/engine/turn-loop.d.ts +20 -0
  39. package/dist/export-md-U72T7NW7.js +22 -0
  40. package/dist/file-history-7FQFEQOL.js +1 -0
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +1 -347
  43. package/dist/llm/capabilities/index.d.ts +20 -0
  44. package/dist/llm/capabilities/rules.d.ts +26 -0
  45. package/dist/llm/capabilities/types.d.ts +108 -0
  46. package/dist/llm/model-pool.d.ts +7 -0
  47. package/dist/llm/provider-catalog.d.ts +2 -0
  48. package/dist/llm/provider-kinds.d.ts +1 -1
  49. package/dist/llm/providers/openai.d.ts +22 -0
  50. package/dist/llm/token-counter.d.ts +17 -0
  51. package/dist/llm/types.d.ts +8 -0
  52. package/dist/logging/logger.d.ts +10 -2
  53. package/dist/logging/session-recorder.d.ts +16 -3
  54. package/dist/manager-J6FXEUEK.js +1 -0
  55. package/dist/mcp-manager-27EVBKRT.js +1 -0
  56. package/dist/memory-BNI4WEWL.js +1 -0
  57. package/dist/model-cache-HEDXI7UJ.js +1 -0
  58. package/dist/model-fetcher-X5W5EASG.js +1 -0
  59. package/dist/off-7SDVMMXW.js +1 -0
  60. package/dist/openai-3QEADSYL.js +1 -0
  61. package/dist/openrouter-models-GZVCRWD2.js +1 -0
  62. package/dist/openrouter-sync-WG4AG5NC.js +1 -0
  63. package/dist/product/index.js +1 -21
  64. package/dist/protocol/client.d.ts +1 -1
  65. package/dist/run/index.js +1 -48
  66. package/dist/seatbelt-L54CNI2Y.js +37 -0
  67. package/dist/session/session-manager.d.ts +2 -0
  68. package/dist/session-manager-AGWS5SMJ.js +1 -0
  69. package/dist/settings/schema.d.ts +147 -21
  70. package/dist/tool-summary-V2B3MD5N.js +2 -0
  71. package/dist/tool-system/builtin/bash.d.ts +7 -1
  72. package/dist/tool-system/context.d.ts +7 -0
  73. package/dist/tool-system/executor.d.ts +4 -0
  74. package/dist/tool-system/sandbox/bwrap.d.ts +13 -0
  75. package/dist/tool-system/sandbox/index.d.ts +78 -0
  76. package/dist/tool-system/sandbox/off.d.ts +2 -0
  77. package/dist/tool-system/sandbox/seatbelt.d.ts +18 -0
  78. package/dist/tool-system/task-guard.d.ts +30 -0
  79. package/dist/types.d.ts +17 -0
  80. package/dist/ui/components/SessionPicker.d.ts +2 -0
  81. package/dist/ui/components/SpinnerWithVerb.d.ts +7 -2
  82. package/dist/ui/components/StatusLine.d.ts +7 -3
  83. package/dist/updater-OCNU2K2Z.js +1 -0
  84. package/package.json +7 -10
  85. package/dist/anthropic-IBTI4WL2.cjs +0 -10
  86. package/dist/anthropic-PRZZKHEZ.js +0 -10
  87. package/dist/arena/index.cjs +0 -104
  88. package/dist/arena-2LTLIXOL.js +0 -261
  89. package/dist/arena-ADB7DRFI.cjs +0 -261
  90. package/dist/chunk-2YW4FPFG.cjs +0 -101
  91. package/dist/chunk-3OA5G4TM.js +0 -47
  92. package/dist/chunk-3QO25N6E.js +0 -4711
  93. package/dist/chunk-3SBSUOWZ.js +0 -447
  94. package/dist/chunk-52LGZKT3.cjs +0 -47
  95. package/dist/chunk-55XGPMAP.cjs +0 -146
  96. package/dist/chunk-6QVAYW7C.cjs +0 -438
  97. package/dist/chunk-6S4BJ65N.js +0 -113
  98. package/dist/chunk-76HYEPDM.js +0 -307
  99. package/dist/chunk-7BI3V74Y.cjs +0 -447
  100. package/dist/chunk-7EG3V4JY.cjs +0 -113
  101. package/dist/chunk-7JVTYEEC.js +0 -340
  102. package/dist/chunk-7QIM3BKD.js +0 -44
  103. package/dist/chunk-7Y6S3OCX.js +0 -438
  104. package/dist/chunk-ABRRONJ7.js +0 -107
  105. package/dist/chunk-BSW22MPA.js +0 -146
  106. package/dist/chunk-BXCY2FSE.js +0 -203
  107. package/dist/chunk-BZ5TNE7L.js +0 -5128
  108. package/dist/chunk-DDB6QOKJ.cjs +0 -1252
  109. package/dist/chunk-HEKQCI7B.cjs +0 -224
  110. package/dist/chunk-IK4EWJBP.cjs +0 -203
  111. package/dist/chunk-ILHE7XLT.cjs +0 -107
  112. package/dist/chunk-JMR33QVF.cjs +0 -169
  113. package/dist/chunk-KAQHULYN.js +0 -54
  114. package/dist/chunk-KE4EQOWA.js +0 -294
  115. package/dist/chunk-KOVYSDHZ.cjs +0 -340
  116. package/dist/chunk-KS3RYAYL.cjs +0 -45
  117. package/dist/chunk-MD32R22I.js +0 -50
  118. package/dist/chunk-MV7YI4WO.cjs +0 -293
  119. package/dist/chunk-MY5XHADU.cjs +0 -216
  120. package/dist/chunk-NUNC3VFB.cjs +0 -307
  121. package/dist/chunk-PKGRTCCY.js +0 -9092
  122. package/dist/chunk-QARL3IDQ.js +0 -1252
  123. package/dist/chunk-S754JHLR.cjs +0 -54
  124. package/dist/chunk-SFXHZSRF.js +0 -101
  125. package/dist/chunk-SIHHIQLO.js +0 -224
  126. package/dist/chunk-T6VYG46N.js +0 -105
  127. package/dist/chunk-TNLGBJYS.cjs +0 -44
  128. package/dist/chunk-TUY2T5KP.cjs +0 -105
  129. package/dist/chunk-UXOCVJJ6.cjs +0 -9092
  130. package/dist/chunk-VIAGTYYW.js +0 -169
  131. package/dist/chunk-WASS5YWB.js +0 -215
  132. package/dist/chunk-WZJV6DJC.cjs +0 -5128
  133. package/dist/chunk-YIQBXAYU.cjs +0 -264
  134. package/dist/chunk-YKIAELDZ.cjs +0 -4711
  135. package/dist/chunk-ZBPSQCPU.js +0 -264
  136. package/dist/cli/main.cjs +0 -22156
  137. package/dist/client-base-HTF236ZD.cjs +0 -9
  138. package/dist/client-base-QKRKCOWB.js +0 -9
  139. package/dist/compaction-6VU2T643.js +0 -33
  140. package/dist/compaction-OKUNTCA7.cjs +0 -33
  141. package/dist/devtools-T2NIZBJK.cjs +0 -6
  142. package/dist/devtools-YXWHOVKR.js +0 -6
  143. package/dist/export-md-RXDW6F5W.cjs +0 -135
  144. package/dist/export-md-XXKZANW5.js +0 -135
  145. package/dist/file-history-KYPE3ECT.cjs +0 -7
  146. package/dist/file-history-LF4F7X26.js +0 -7
  147. package/dist/index.cjs +0 -347
  148. package/dist/manager-D65VFAPX.js +0 -7
  149. package/dist/manager-TTF5VHJC.cjs +0 -7
  150. package/dist/mcp-manager-QMKWPBZ4.js +0 -8
  151. package/dist/mcp-manager-Z3OKI74O.cjs +0 -8
  152. package/dist/memory-5LWZ6FI2.cjs +0 -9
  153. package/dist/memory-VIJLBAMQ.js +0 -9
  154. package/dist/model-cache-5KIYL5SL.js +0 -13
  155. package/dist/model-cache-OED3IM4R.cjs +0 -13
  156. package/dist/model-fetcher-HKGICACL.js +0 -8
  157. package/dist/model-fetcher-UR6WJOQP.cjs +0 -8
  158. package/dist/openai-JR2WEKOF.js +0 -10
  159. package/dist/openai-YBTOET4O.cjs +0 -10
  160. package/dist/openrouter-models-H56GHBHN.js +0 -15
  161. package/dist/openrouter-models-TWUFWZ5T.cjs +0 -15
  162. package/dist/openrouter-sync-5VMGN6C2.cjs +0 -11
  163. package/dist/openrouter-sync-ALEMF5IU.js +0 -11
  164. package/dist/product/index.cjs +0 -21
  165. package/dist/run/index.cjs +0 -48
  166. package/dist/session-manager-Q22BBMD3.js +0 -8
  167. package/dist/session-manager-XODQVL3C.cjs +0 -8
  168. package/dist/tool-summary-63DPIS7G.cjs +0 -31
  169. package/dist/tool-summary-NP5CDBKG.js +0 -31
  170. package/dist/updater-I7QBW4DP.cjs +0 -17
  171. 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
- };