@cjhyy/code-shell 0.2.0 → 0.3.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 (118) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +35 -2
  3. package/dist/anthropic-DJXVKFMJ.js +1 -0
  4. package/dist/arena/index.js +1 -1
  5. package/dist/arena-MRBATZFD.js +3 -0
  6. package/dist/{chunk-EU3J7TBP.js → chunk-5QIVXFCT.js} +1 -1
  7. package/dist/{chunk-XXCZE2U2.js → chunk-AFMP73YP.js} +1 -1
  8. package/dist/{chunk-L7B2ORID.js → chunk-D3TVASD2.js} +2 -2
  9. package/dist/chunk-DI26OUIU.js +2 -0
  10. package/dist/chunk-FZXY554D.js +2 -0
  11. package/dist/chunk-GGVAOPI7.js +1 -0
  12. package/dist/chunk-GKAQH2DG.js +2 -0
  13. package/dist/chunk-GYNO4R7R.js +2 -0
  14. package/dist/{chunk-RERBX75D.js → chunk-K4HILJ6G.js} +3 -3
  15. package/dist/{chunk-2EUIMKJA.js → chunk-OWBYLMDD.js} +1 -1
  16. package/dist/chunk-SKIX2M5Z.js +4 -0
  17. package/dist/chunk-SV7H4FKT.js +3 -0
  18. package/dist/{chunk-2GJ7H5NC.js → chunk-WONQHE4P.js} +40 -40
  19. package/dist/{chunk-DEYFK6FP.js → chunk-X2S7ASQ2.js} +1 -1
  20. package/dist/chunk-Z5HKHAO7.js +336 -0
  21. package/dist/cli/commands/builtin/plugin-commands-registration.d.ts +12 -0
  22. package/dist/cli/commands/builtin/plugin-handler.d.ts +6 -0
  23. package/dist/cli/commands/registry.d.ts +9 -2
  24. package/dist/cli/main.js +138 -122
  25. package/dist/client-base-GSFXPP2Y.js +1 -0
  26. package/dist/devtools-FBX4HVVY.js +1 -0
  27. package/dist/engine/engine.d.ts +29 -0
  28. package/dist/engine/turn-loop.d.ts +25 -0
  29. package/dist/hooks/events.d.ts +84 -5
  30. package/dist/hooks/inject.d.ts +19 -0
  31. package/dist/hooks/shell-runner.d.ts +45 -0
  32. package/dist/index.d.ts +3 -2
  33. package/dist/index.js +1 -1
  34. package/dist/llm/api-key-sanitize.d.ts +22 -0
  35. package/dist/llm/providers/openai.d.ts +23 -0
  36. package/dist/llm/retry.d.ts +12 -0
  37. package/dist/llm/stream-watchdog.d.ts +42 -0
  38. package/dist/logging/logger.d.ts +14 -0
  39. package/dist/manager-4XKLZHKE.js +1 -0
  40. package/dist/mcp-manager-3JGHEJO3.js +1 -0
  41. package/dist/openai-OQ6LLN5J.js +1 -0
  42. package/dist/{openrouter-models-GZVCRWD2.js → openrouter-models-ZT4R2AE3.js} +1 -1
  43. package/dist/openrouter-sync-ARMVWY7S.js +1 -0
  44. package/dist/plugin-handler-GJISMH5Q.js +11 -0
  45. package/dist/plugins/gitOps.d.ts +23 -0
  46. package/dist/plugins/installedPlugins.d.ts +15 -0
  47. package/dist/plugins/knownMarketplaces.d.ts +10 -0
  48. package/dist/plugins/loadPluginHooks.d.ts +52 -0
  49. package/dist/plugins/marketplaceManager.d.ts +49 -0
  50. package/dist/plugins/parseMarketplaceInput.d.ts +16 -0
  51. package/dist/plugins/pluginCommandHook.d.ts +54 -0
  52. package/dist/plugins/pluginCommandsLoader.d.ts +25 -0
  53. package/dist/plugins/pluginInstaller.d.ts +36 -0
  54. package/dist/plugins/schemas.d.ts +9 -0
  55. package/dist/plugins/types.d.ts +73 -2
  56. package/dist/plugins/varRewrite.d.ts +42 -0
  57. package/dist/product/index.js +1 -1
  58. package/dist/protocol/helpers.d.ts +42 -0
  59. package/dist/render/clearTerminal.d.ts +9 -3
  60. package/dist/render/components/App.d.ts +1 -0
  61. package/dist/render/components/Static.d.ts +23 -0
  62. package/dist/render/devtools.d.ts +8 -4
  63. package/dist/render/dom.d.ts +2 -1
  64. package/dist/render/frame.d.ts +1 -0
  65. package/dist/render/index.d.ts +10 -0
  66. package/dist/render/ink.d.ts +24 -2
  67. package/dist/render/log-update.d.ts +12 -1
  68. package/dist/render/selection.d.ts +1 -1
  69. package/dist/run/index.js +1 -1
  70. package/dist/services/index.d.ts +1 -0
  71. package/dist/services/memory-orchestrator.d.ts +39 -0
  72. package/dist/settings/schema.d.ts +93 -6
  73. package/dist/skills/frontmatter.d.ts +13 -0
  74. package/dist/skills/index.d.ts +4 -4
  75. package/dist/skills/scanner.d.ts +11 -21
  76. package/dist/tool-summary-HJX6RHG4.js +2 -0
  77. package/dist/tool-system/builtin/agent-notifications.d.ts +55 -0
  78. package/dist/tool-system/builtin/agent-registry.d.ts +35 -4
  79. package/dist/tool-system/builtin/agent-transcript-translator.d.ts +22 -0
  80. package/dist/tool-system/builtin/skill-prompt.d.ts +7 -0
  81. package/dist/tool-system/builtin/skill.d.ts +3 -1
  82. package/dist/tool-system/context.d.ts +23 -0
  83. package/dist/tool-system/executor.d.ts +1 -1
  84. package/dist/tool-system/permission.d.ts +1 -1
  85. package/dist/types.d.ts +35 -0
  86. package/dist/ui/components/AgentBlock.d.ts +5 -2
  87. package/dist/ui/components/AgentDock.d.ts +36 -0
  88. package/dist/ui/components/CommandInput.d.ts +12 -1
  89. package/dist/ui/components/MessageRow.d.ts +54 -0
  90. package/dist/ui/components/SpinnerWithVerb.d.ts +2 -1
  91. package/dist/ui/components/TextInput.d.ts +9 -1
  92. package/dist/ui/components/VirtualMessageList.d.ts +30 -11
  93. package/dist/ui/dev-seed.d.ts +1 -0
  94. package/dist/ui/fullscreen-mode.d.ts +9 -0
  95. package/dist/ui/hooks/useVirtualScroll.d.ts +101 -0
  96. package/dist/ui/perf-probes.d.ts +22 -0
  97. package/dist/ui/query-guard.d.ts +35 -0
  98. package/dist/ui/slice-anchor.d.ts +44 -0
  99. package/dist/ui/store.d.ts +26 -1
  100. package/package.json +5 -3
  101. package/dist/anthropic-OVRWAZRD.js +0 -1
  102. package/dist/arena-64T2EQD4.js +0 -3
  103. package/dist/chunk-A4M2Y42L.js +0 -2
  104. package/dist/chunk-DTPABBSV.js +0 -2
  105. package/dist/chunk-MGP35GKD.js +0 -254
  106. package/dist/chunk-Q3RSX66I.js +0 -1
  107. package/dist/chunk-VKKU4LOM.js +0 -3
  108. package/dist/chunk-ZSAONDT6.js +0 -2
  109. package/dist/client-base-F5FCRSB3.js +0 -1
  110. package/dist/devtools-SGDUOOM4.js +0 -1
  111. package/dist/manager-J6FXEUEK.js +0 -1
  112. package/dist/mcp-manager-27EVBKRT.js +0 -1
  113. package/dist/openai-3QEADSYL.js +0 -1
  114. package/dist/openrouter-sync-WG4AG5NC.js +0 -1
  115. package/dist/plugins/loader.d.ts +0 -72
  116. package/dist/skills/matcher.d.ts +0 -21
  117. package/dist/tool-summary-V2B3MD5N.js +0 -2
  118. package/skills-builtin/codeshell-help.md +0 -135
@@ -1 +1 @@
1
- import {a as a$2}from'./chunk-O5HFCH2U.js';import {a}from'./chunk-2EUIMKJA.js';import {c,d,b as b$1}from'./chunk-FU7AHZNN.js';import {b}from'./chunk-ZSAONDT6.js';import {h,a as a$1}from'./chunk-3QP5BQ3L.js';import M from'@anthropic-ai/sdk';h();var C=class extends a{static{a$1(this,"AnthropicClient");}_client=null;constructor(e){super(e);}initClient(){}get client(){return this._client||(this._client=new M({apiKey:this.config.apiKey??process.env.ANTHROPIC_API_KEY,...this.config.baseUrl?{baseURL:this.config.baseUrl}:{},timeout:this.timeout})),this._client}async createMessage(e){return this.withRetry(async()=>{let a=this.buildMessages(e.messages),n=e.tools?this.convertTools(e.tools):void 0,s=b.span("llm.request",{cat:"llm",provider:this.provider,model:this.model,stream:!!(e.stream&&e.onChunk),messageCount:a.length,toolCount:n?.length??0});try{let t=e.stream&&e.onChunk?await this.streamMessage(e,a,n):await this.nonStreamMessage(e,a,n);return s.end({stopReason:t.stopReason,promptTokens:t.usage?.promptTokens,completionTokens:t.usage?.completionTokens,cacheReadTokens:t.usage?.cacheReadTokens,cacheCreationTokens:t.usage?.cacheCreationTokens}),t}catch(t){throw s.fail(t),t}})}async nonStreamMessage(e,a,n){try{let s=await this.client.messages.create({model:this.model,max_tokens:e.maxTokens??this.maxTokens,system:[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}],messages:a,...n?.length?{tools:n}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t={promptTokens:s.usage.input_tokens,completionTokens:s.usage.output_tokens,totalTokens:s.usage.input_tokens+s.usage.output_tokens,cacheReadTokens:s.usage.cache_read_input_tokens,cacheCreationTokens:s.usage.cache_creation_input_tokens};return this.recordUsage(t,e),this.processResponse(s,t)}catch(s){throw this.handleApiError(s),s}}async streamMessage(e,a,n){try{let s=this.client.messages.stream({model:this.model,max_tokens:e.maxTokens??this.maxTokens,system:[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}],messages:a,...n?.length?{tools:n}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t="",o="",c="",l="",x=Date.now(),u=!1;s.on("text",r=>{u||(u=!0,b.debug("llm.first_byte",{cat:"llm",provider:this.provider,model:this.model,ttft_ms:Date.now()-x})),t+=r,e.onChunk?.({type:"text",text:r,tokens:a$2(r)});}),s.on("contentBlock",r=>{r.type==="tool_use"&&(o=r.name,c=r.id,l="",e.onChunk?.({type:"tool_use_start",toolCall:{id:r.id,toolName:r.name,args:{}}}));}),s.on("inputJson",(r,h)=>{l=JSON.stringify(h),c&&e.onChunk?.({type:"tool_use_delta",toolCall:{id:c,toolName:o,args:h??{}}});});let i=await s.finalMessage(),m={promptTokens:i.usage.input_tokens,completionTokens:i.usage.output_tokens,totalTokens:i.usage.input_tokens+i.usage.output_tokens,cacheReadTokens:i.usage.cache_read_input_tokens,cacheCreationTokens:i.usage.cache_creation_input_tokens};return this.recordUsage(m,e),e.onChunk?.({type:"stop",stopReason:i.stop_reason??void 0}),this.processResponse(i,m)}catch(s){throw this.handleApiError(s),s}}processResponse(e,a){let n="",s=[];for(let t of e.content)t.type==="text"?n+=t.text:t.type==="tool_use"&&s.push({id:t.id,toolName:t.name,args:t.input??{}});return {text:n,toolCalls:s,usage:a,stopReason:e.stop_reason??void 0}}buildMessages(e){let a=[];for(let n of e){if(n.role==="system")continue;let s=n.role==="tool"?"user":n.role;if(typeof n.content=="string")a.push({role:s,content:n.content});else {let t=[];for(let o of n.content)o.type==="text"&&o.text?t.push({type:"text",text:o.text}):o.type==="tool_use"&&o.id&&o.name&&o.input?t.push({type:"tool_use",id:o.id,name:o.name,input:o.input}):o.type==="tool_result"&&o.tool_use_id?t.push({type:"tool_result",tool_use_id:o.tool_use_id,content:typeof o.content=="string"?o.content:""}):o.type==="image"&&o.source&&t.push({type:"image",source:{type:"base64",media_type:o.source.media_type,data:o.source.data}});t.length>0&&a.push({role:s,content:t});}}return a}convertTools(e){return e.map(a=>({name:a.name,description:a.description,input_schema:a.inputSchema}))}handleApiError(e){throw e instanceof M.APIError?e.status===429?new c("anthropic"):e.message?.includes("prompt is too long")||e.message?.includes("context_length_exceeded")?new d("anthropic"):new b$1(`Anthropic API error: ${e.message}`,"anthropic",{status:e.status}):e}};export{C as a};
1
+ import {a as a$2}from'./chunk-O5HFCH2U.js';import {a}from'./chunk-OWBYLMDD.js';import {c,d as d$1,b}from'./chunk-FU7AHZNN.js';import {d}from'./chunk-DI26OUIU.js';import {h,a as a$1}from'./chunk-3QP5BQ3L.js';import M from'@anthropic-ai/sdk';h();var C=class extends a{static{a$1(this,"AnthropicClient");}_client=null;constructor(e){super(e);}initClient(){}get client(){return this._client||(this._client=new M({apiKey:this.config.apiKey??process.env.ANTHROPIC_API_KEY,...this.config.baseUrl?{baseURL:this.config.baseUrl}:{},timeout:this.timeout})),this._client}async createMessage(e){return this.withRetry(async()=>{let a=this.buildMessages(e.messages),n=e.tools?this.convertTools(e.tools):void 0,s=d.span("llm.request",{cat:"llm",provider:this.provider,model:this.model,stream:!!(e.stream&&e.onChunk),messageCount:a.length,toolCount:n?.length??0});try{let t=e.stream&&e.onChunk?await this.streamMessage(e,a,n):await this.nonStreamMessage(e,a,n);return s.end({stopReason:t.stopReason,promptTokens:t.usage?.promptTokens,completionTokens:t.usage?.completionTokens,cacheReadTokens:t.usage?.cacheReadTokens,cacheCreationTokens:t.usage?.cacheCreationTokens}),t}catch(t){throw s.fail(t),t}})}async nonStreamMessage(e,a,n){try{let s=await this.client.messages.create({model:this.model,max_tokens:e.maxTokens??this.maxTokens,system:[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}],messages:a,...n?.length?{tools:n}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t={promptTokens:s.usage.input_tokens,completionTokens:s.usage.output_tokens,totalTokens:s.usage.input_tokens+s.usage.output_tokens,cacheReadTokens:s.usage.cache_read_input_tokens,cacheCreationTokens:s.usage.cache_creation_input_tokens};return this.recordUsage(t,e),this.processResponse(s,t)}catch(s){throw this.handleApiError(s),s}}async streamMessage(e,a,n){try{let s=this.client.messages.stream({model:this.model,max_tokens:e.maxTokens??this.maxTokens,system:[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}],messages:a,...n?.length?{tools:n}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t="",o="",c="",l="",x=Date.now(),u=!1;s.on("text",r=>{u||(u=!0,d.debug("llm.first_byte",{cat:"llm",provider:this.provider,model:this.model,ttft_ms:Date.now()-x})),t+=r,e.onChunk?.({type:"text",text:r,tokens:a$2(r)});}),s.on("contentBlock",r=>{r.type==="tool_use"&&(o=r.name,c=r.id,l="",e.onChunk?.({type:"tool_use_start",toolCall:{id:r.id,toolName:r.name,args:{}}}));}),s.on("inputJson",(r,h)=>{l=JSON.stringify(h),c&&e.onChunk?.({type:"tool_use_delta",toolCall:{id:c,toolName:o,args:h??{}}});});let i=await s.finalMessage(),m={promptTokens:i.usage.input_tokens,completionTokens:i.usage.output_tokens,totalTokens:i.usage.input_tokens+i.usage.output_tokens,cacheReadTokens:i.usage.cache_read_input_tokens,cacheCreationTokens:i.usage.cache_creation_input_tokens};return this.recordUsage(m,e),e.onChunk?.({type:"stop",stopReason:i.stop_reason??void 0}),this.processResponse(i,m)}catch(s){throw this.handleApiError(s),s}}processResponse(e,a){let n="",s=[];for(let t of e.content)t.type==="text"?n+=t.text:t.type==="tool_use"&&s.push({id:t.id,toolName:t.name,args:t.input??{}});return {text:n,toolCalls:s,usage:a,stopReason:e.stop_reason??void 0}}buildMessages(e){let a=[];for(let n of e){if(n.role==="system")continue;let s=n.role==="tool"?"user":n.role;if(typeof n.content=="string")a.push({role:s,content:n.content});else {let t=[];for(let o of n.content)o.type==="text"&&o.text?t.push({type:"text",text:o.text}):o.type==="tool_use"&&o.id&&o.name&&o.input?t.push({type:"tool_use",id:o.id,name:o.name,input:o.input}):o.type==="tool_result"&&o.tool_use_id?t.push({type:"tool_result",tool_use_id:o.tool_use_id,content:typeof o.content=="string"?o.content:""}):o.type==="image"&&o.source&&t.push({type:"image",source:{type:"base64",media_type:o.source.media_type,data:o.source.data}});t.length>0&&a.push({role:s,content:t});}}return a}convertTools(e){return e.map(a=>({name:a.name,description:a.description,input_schema:a.inputSchema}))}handleApiError(e){throw e instanceof M.APIError?e.status===429?new c("anthropic"):e.message?.includes("prompt is too long")||e.message?.includes("context_length_exceeded")?new d$1("anthropic"):new b(`Anthropic API error: ${e.message}`,"anthropic",{status:e.status}):e}};export{C as a};