diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/CLAUDE.md b/CLAUDE.md old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..80848d6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 嘉陵江-code + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md old mode 100644 new mode 100755 index a85c488..2f46909 --- a/README.md +++ b/README.md @@ -1,436 +1,472 @@ -# Claude Code Best V3 (CCB) +# 嘉陵江-code (Jialing Code) -牢 A (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现。虽然很难绷, 但是它叫做 CCB(踩踩背)... +

+ 🖥️ 终端 AI 编程助手 — 支持 22+ 大模型厂商,默认本地 Ollama 零配置启动 +

-[文档在这里, 支持投稿 PR](https://ccb.agent-aura.top/) +

+ 快速开始 • + 模型厂商 • + 功能特性 • + 架构 • + 配置 • + FAQ +

-赞助商占位符 +--- -- [x] v1 会完成跑通及基本的类型检查通过; -- [x] V2 会完整实现工程化配套设施; - - [ ] Biome 格式化可能不会先实施, 避免代码冲突 - - [x] 构建流水线完成, 产物 Node/Bun 都可以运行 -- [x] V3 会写大量文档, 完善文档站点 -- [ ] V4 会完成大量的测试文件, 以提高稳定性 +## 简介 -> 我不知道这个项目还会存在多久, Star + Fork + git clone + .zip 包最稳健; +**嘉陵江-code** 是一个基于终端的 AI 编程助手 CLI 工具,fork 自 Anthropic Claude Code 并进行了深度改造,核心目标是: + +- **多模型支持**:不再绑定 Anthropic 单一厂商,通过 OpenAI 兼容接口统一接入 22+ 大模型厂商 +- **本地优先**:默认使用本地 Ollama,无需 API Key、无需联网、零配置即可启动 +- **保留核心能力**:完整的 REPL 交互、工具系统、权限管理、MCP 协议支持 +- **国内厂商友好**:深度适配 DeepSeek、通义千问、智谱、月之暗面、豆包等国内主流大模型 + +``` +$ jialing-code +╭──────────────────────────────────────╮ +│ 嘉陵江-code v1.3.14 │ +│ Provider: Ollama (qwen3.5:35b) │ +│ Type /help for commands │ +╰──────────────────────────────────────╯ > -> 这个项目更新很快, 后台有 Opus 持续优化, 所以你可以提 issues, 但是 PR 暂时不会接受; -> -> Claude 已经烧了 800$ 以上, 如果你个人想赞助, 请随便找个机构捐款, 然后截图在 issues, 大家的力量是温暖的; -> -> 某些模型提供商想要赞助, 那么请私发一个 1w 额度以上的账号到 ; 我们会在赞助商栏直接给你最亮的位置 - -存活记录: - -1. 开源后 24 小时: 突破 6k Star, 感谢各位支持. 完成 docs 文档的站点构建, 达到 v3 版本, 后续开始进行测试用例维护, 完成之后可以接受 PR; 看来牢 A 是不想理我们了; -2. 开源后 15 小时: 完成了构建产物的 node 支持, 现在是完全体了; star 快到 3k 了; 等待牢 A 的邮件 -3. 开源后 12 小时: 愚人节, star 破 1k, 并且牢 A 没有发邮件搞这个项目 -4. 如果你想要私人咨询服务, 那么可以发送邮件到 , 备注咨询与联系方式即可; 由于后续工作非常多, 可能会忽略邮件, 半天没回复, 可以多发; +``` ## 快速开始 ### 环境要求 -一定要最新版本的 bun 啊, 不然一堆奇奇怪怪的 BUG!!! bun upgrade!!! +- [Bun](https://bun.sh/) >= 1.3.11(**必须最新版本**,旧版有兼容性问题,请先 `bun upgrade`) +- (可选)[Ollama](https://ollama.com/) — 本地模型运行时 +- (可选)任意云端大模型的 API Key -- [Bun](https://bun.sh/) >= 1.3.11 -- 常规的配置 CC 的方式, 各大提供商都有自己的配置方式 - -### 安装 +### 安装与运行 ```bash +# 1. 克隆仓库 +git clone https://github.com/claude-code-best/claude-code.git +cd claude-code + +# 2. 安装依赖 bun install + +# 3. 开发模式运行(看到版本号 888 说明启动成功) +bun run dev + +# 4. 构建 +bun run build + +# 5. 构建后运行(Bun 或 Node.js 均可) +bun dist/cli.js +node dist/cli.js ``` -### 运行 +### 全局安装(可选) + +构建后可以发布到私有 npm 源,或直接全局链接: ```bash -# 开发模式, 看到版本号 888 说明就是对了 +bun run build +bun link # 全局可用 jialing-code / jl 命令 +``` + +### 首次运行 + +首次运行会进入 **交互式配置向导**,引导你选择模型厂商、填写 API Key、选择模型。也可以通过环境变量预先配置: + +```bash +# 方式一:使用本地 Ollama(默认,无需任何配置) +jialing-code + +# 方式二:通过环境变量指定厂商 +export PROVIDER=deepseek +export DEEPSEEK_API_KEY=sk-xxx +jialing-code + +# 方式三:使用 --setup 重新配置 +jialing-code --setup +``` + +## 支持的模型厂商 + +嘉陵江-code 通过统一的 OpenAI 兼容适配器接入所有厂商,无需关心各家 API 差异。 + +### 国际厂商 + +| 厂商 | 环境变量 | 默认模型 | 代表模型 | +|------|---------|---------|---------| +| **Anthropic** | `ANTHROPIC_API_KEY` | claude-sonnet-4-20250514 | Claude Opus/Sonnet/Haiku | +| **OpenAI** | `OPENAI_API_KEY` | gpt-4o | GPT-4o, GPT-4.1, o3, o4-mini | +| **Google Gemini** | `GOOGLE_API_KEY` | gemini-2.5-flash | Gemini 2.5 Pro/Flash | +| **Mistral AI** | `MISTRAL_API_KEY` | mistral-large-latest | Mistral Large, Codestral | +| **Groq** | `GROQ_API_KEY` | llama-3.3-70b-versatile | Llama 3.3, Mixtral | +| **xAI** | `XAI_API_KEY` | grok-3 | Grok 3, Grok 3 Mini | +| **Together AI** | `TOGETHER_API_KEY` | meta-llama/Llama-3.3-70B | Llama, Qwen, DeepSeek | +| **Cohere** | `COHERE_API_KEY` | command-a-03-2025 | Command A/R+ | +| **Perplexity** | `PERPLEXITY_API_KEY` | sonar-pro | Sonar Pro/Reasoning | + +### 国内厂商 + +| 厂商 | 环境变量 | 默认模型 | 代表模型 | +|------|---------|---------|---------| +| **DeepSeek** | `DEEPSEEK_API_KEY` | deepseek-chat | DeepSeek V3, R1 | +| **通义千问 (Qwen)** | `QWEN_API_KEY` | qwen-max | Qwen Max/Plus/Turbo, QwQ | +| **智谱 (GLM)** | `ZHIPU_API_KEY` | glm-4-plus | GLM-4 Plus/Flash/Long | +| **月之暗面 (Kimi)** | `MOONSHOT_API_KEY` | moonshot-v1-auto | Kimi 全系列 | +| **豆包 (Doubao)** | `DOUBAO_API_KEY` | doubao-1.5-pro-256k | 豆包 Pro/Lite | +| **百度文心 (Ernie)** | `BAIDU_API_KEY` | ernie-4.5-8k | ERNIE 4.5/4.0/Speed | +| **零一万物 (Yi)** | `YI_API_KEY` | yi-lightning | Yi Lightning/Large | +| **阶跃星辰 (Step)** | `STEPFUN_API_KEY` | step-2-16k | Step 2/1 全系列 | +| **百川 (Baichuan)** | `BAICHUAN_API_KEY` | Baichuan4 | Baichuan 4/3 | +| **MiniMax** | `MINIMAX_API_KEY` | MiniMax-Text-01 | MiniMax Text/Abab | +| **讯飞星火 (Spark)** | `SPARK_API_KEY` | general-v3.5 | Spark Max/Ultra/Pro | +| **腾讯混元** | `HUNYUAN_API_KEY` | hunyuan-turbo | 混元 Turbo/Pro/Lite | + +### 聚合平台 & 本地 + +| 平台 | 环境变量 | 说明 | +|------|---------|------| +| **Ollama** | 无需 Key | 本地运行,默认 `qwen3.5:35b`,零配置 | +| **SiliconFlow** | `SILICONFLOW_API_KEY` | 国内聚合平台,支持多家模型 | +| **OpenRouter** | `OPENROUTER_API_KEY` | 国际聚合平台,统一接入 | + +### 企业级部署 + +| 平台 | 环境变量 | 说明 | +|------|---------|------| +| **AWS Bedrock** | `CLAUDE_CODE_USE_BEDROCK=1` | 需配置 AWS 凭证 | +| **Google Vertex** | `CLAUDE_CODE_USE_VERTEX=1` | 需配置 GCP 凭证 | +| **Azure Foundry** | `CLAUDE_CODE_USE_FOUNDRY=1` | 需配置 Azure AD | + +## 功能特性 + +### 核心能力 + +| 能力 | 状态 | 说明 | +|------|------|------| +| REPL 交互界面 | ✅ | 基于 Ink 的终端 UI,完整交互体验 | +| 流式对话与工具调用 | ✅ | 流式输出 + 自动工具调用循环 | +| 会话引擎 | ✅ | 管理对话状态、上下文压缩、归因追踪 | +| 权限系统 | ✅ | plan/auto/manual 三种模式,细粒度控制 | +| Hook 系统 | ✅ | pre/post tool use 钩子,通过 settings.json 配置 | +| 会话恢复 | ✅ | `/resume` 恢复历史会话 | +| 自动压缩 | ✅ | 超长对话自动 compact,节省 token | +| MCP 协议 | ✅ | 支持 Model Context Protocol 扩展 | +| 多厂商适配 | ✅ | 22+ 厂商统一 OpenAI 兼容接口 | +| 思考链支持 | ✅ | 适配 DeepSeek R1、Qwen thinking 等推理模型 | + +### 内置工具 + +| 工具 | 功能 | +|------|------| +| **BashTool** | Shell 命令执行,支持沙箱模式 | +| **FileReadTool** | 文件 / PDF / 图片 / Notebook 读取 | +| **FileEditTool** | 精确字符串替换编辑 + diff 追踪 | +| **FileWriteTool** | 文件创建与覆写 | +| **GlobTool** | 文件模式搜索 | +| **GrepTool** | 内容正则搜索 | +| **AgentTool** | 子代理(fork / async / background) | +| **WebFetchTool** | URL 抓取 → Markdown 转换 | +| **WebSearchTool** | 网页搜索 + 域名过滤 | +| **NotebookEditTool** | Jupyter Notebook 编辑 | + +### 斜杠命令 (90+) + +常用命令: + +| 命令 | 功能 | +|------|------| +| `/help` | 显示帮助信息 | +| `/model` | 切换模型 | +| `/config` | 查看/修改配置 | +| `/compact` | 手动压缩上下文 | +| `/diff` | 查看文件变更 | +| `/doctor` | 环境诊断 | +| `/resume` | 恢复历史会话 | +| `/memory` | 管理持久记忆 | +| `/mcp` | 管理 MCP 服务器 | +| `/plan` | 进入规划模式 | +| `/permissions` | 权限管理 | +| `/theme` | 切换主题 | +| `/export` | 导出对话 | +| `/vim` | Vim 模式 | + +## 配置指南 + +### 配置文件位置 + +``` +~/.jialing-code/ +├── config.json # 主配置(厂商、模型、API Key) +├── settings.json # 行为设置(hooks、权限规则) +├── memory/ # 持久记忆存储 +└── sessions/ # 会话历史 +``` + +### 环境变量配置 + +```bash +# ── 厂商选择(二选一) ── + +# 方式一:指定厂商名 +export PROVIDER=deepseek # 厂商名(小写) +export DEEPSEEK_API_KEY=sk-xxx # 对应 API Key + +# 方式二:自动检测(根据已设置的 API Key 自动识别) +export OPENAI_API_KEY=sk-xxx # 设了哪个就用哪个 + +# ── Anthropic 原生模式 ── +export ANTHROPIC_API_KEY=sk-ant-xxx # Anthropic 直连 +export ANTHROPIC_MODEL=claude-sonnet-4-20250514 # 可选,指定模型 + +# ── 自定义 API 端点 ── +export OPENAI_BASE_URL=https://your-proxy.com/v1 # 自定义兼容端点 +export OPENAI_API_KEY=your-key + +# ── 其他 ── +export CLAUDE_CODE_SIMPLE=1 # 简洁模式(去掉装饰) +``` + +### 交互式配置 + +```bash +# 首次启动自动进入,或手动触发 +jialing-code --setup +``` + +配置向导会: +1. 列出所有支持的厂商 +2. 验证 API Key 连通性 +3. 拉取可用模型列表供选择 +4. 保存到 `~/.jialing-code/config.json` + +## 项目架构 + +``` +jialing-code/ +├── src/ +│ ├── entrypoints/ +│ │ ├── cli.tsx # 入口:polyfill + 快速路径分发 +│ │ └── sdk/ # SDK 导出 +│ ├── main.tsx # Commander.js CLI 定义 +│ ├── query.ts # API 查询核心(流式 + 工具循环) +│ ├── QueryEngine.ts # 会话引擎(状态管理 + 压缩) +│ ├── services/ +│ │ └── api/ +│ │ ├── claude.ts # Anthropic 原生 API 客户端 +│ │ ├── openaiAdapter.ts # OpenAI 兼容适配器(核心) +│ │ ├── providerRegistry.ts # 22+ 厂商注册表 +│ │ ├── client.ts # 客户端工厂 +│ │ └── setupWizard.ts # 交互式配置向导 +│ ├── tools/ # 工具目录(每个工具独立文件夹) +│ │ ├── BashTool/ +│ │ ├── FileEditTool/ +│ │ ├── FileReadTool/ +│ │ ├── GrepTool/ +│ │ ├── AgentTool/ +│ │ └── ... # 30+ 工具 +│ ├── screens/ +│ │ └── REPL.tsx # REPL 主界面(5000+ 行) +│ ├── components/ # Ink 终端 UI 组件 +│ ├── commands/ # 斜杠命令实现 +│ ├── state/ # 状态管理(Zustand) +│ ├── context.ts # 系统提示词构建 +│ └── utils/ +│ └── model/ +│ └── providers.ts # 厂商检测与路由 +├── packages/ # Monorepo workspace 包 +│ ├── @ant/ # Computer Use stub 包 +│ ├── color-diff-napi/ # 颜色 diff(完整实现) +│ └── *-napi/ # 其他 NAPI stub 包 +├── build.ts # 构建脚本(code splitting) +├── package.json # Bun workspaces monorepo +├── tsconfig.json # TypeScript 配置 +└── CLAUDE.md # Claude Code 项目指导 +``` + +### 关键设计 + +#### 多厂商适配层 + +``` +用户请求 → 厂商检测 → OpenAI 兼容适配器 → 各厂商 API + ↓ ↓ + Anthropic 直连 统一消息格式转换 + Bedrock/Vertex 工具调用翻译 + Azure Foundry 思考链处理 +``` + +- **`providerRegistry.ts`**:22+ 厂商的 baseURL、模型列表、API Key 映射 +- **`openaiAdapter.ts`**:将 OpenAI 格式的流式响应实时转换为 Anthropic 内部格式 +- **`providers.ts`**:厂商检测优先级链(显式 > 环境变量 > 自动检测 > Ollama 兜底) + +#### 工具分层 + +针对非 Anthropic 模型,工具按能力分层: + +- **Tier 1**(始终可用):Bash、Read、Write、Edit、Glob、Grep +- **Tier 2**(中等模型):WebFetch、WebSearch、NotebookEdit、Agent +- **跳过**:Anthropic 专属工具(EnterWorktree、TodoWrite 等) +- **MCP 工具**:始终透传 + +#### 构建流程 + +```bash +bun run build +``` + +1. 清理 `dist/` 目录 +2. Bun bundler + code splitting → 入口 `dist/cli.js` + ~450 chunk 文件 +3. 后处理:`import.meta.require` 替换(Node.js 兼容) +4. Shebang 修正:`#!/usr/bin/env node` +5. 注入 `globalThis.Bun` polyfill + +构建产物 **Bun 和 Node.js 均可运行**。 + +## 与原版 Claude Code 的区别 + +| 方面 | 原版 Claude Code | 嘉陵江-code | +|------|-----------------|-------------| +| 模型支持 | 仅 Anthropic Claude | 22+ 厂商 + 本地 Ollama | +| 默认配置 | 需要 API Key | 本地 Ollama 零配置启动 | +| 国内厂商 | 不支持 | 深度适配 12 家国内厂商 | +| 思考链 | Claude 原生 | 适配 DeepSeek R1、Qwen thinking 等 | +| 功能裁剪 | 全功能 | 移除 Computer Use、Voice、Magic Docs 等 | +| Feature Flags | 内部功能开关 | 全部 `false`(禁用未实现分支) | +| 运行时 | Bun | Bun 开发 / Bun+Node 运行 | +| 配置体验 | 需手动配置 | 交互式向导 + 自动检测 | + +### 已移除/Stub 的模块 + +| 模块 | 状态 | 说明 | +|------|------|------| +| Computer Use (`@ant/*`) | Stub | 保留包结构,无实际功能 | +| NAPI 包 (audio/image/url/modifiers) | Stub | 除 `color-diff-napi` 外均为空实现 | +| Analytics / GrowthBook / Sentry | 空实现 | 移除遥测 | +| Magic Docs / Voice Mode / LSP Server | 移除 | 不影响核心功能 | +| Plugins / Marketplace | 移除 | 不影响核心功能 | + +## 开发指南 + +### 项目特殊说明 + +- **~1341 个 tsc 错误**:来自反编译,类型多为 `unknown`/`never`/`{}`,**不影响 Bun 运行时**,请勿尝试修复 +- **`feature()` 始终返回 `false`**:所有 feature flag 后的代码是死代码 +- **React Compiler 产物**:组件中大量 `const $ = _c(N)` 是编译器输出的记忆化模板,属正常现象 +- **`bun:bundle` 导入**:构建时 API,开发时由 `cli.tsx` 顶部 polyfill 提供 + +### 常用命令 + +```bash +# 开发运行 bun run dev # 构建 bun run build + +# Lint(需先安装 biome) +bun run lint +bun run lint:fix + +# 格式化 +bun run format + +# 依赖检查 +bun run check:unused + +# 健康检查 +bun run health ``` -构建采用 code splitting 多文件打包(`build.ts`),产物输出到 `dist/` 目录(入口 `dist/cli.js` + 约 450 个 chunk 文件)。 +### 添加新厂商 -构建出的版本 bun 和 node 都可以启动, 你 publish 到私有源可以直接启动 +在 `src/services/api/providerRegistry.ts` 中添加条目即可: -如果遇到 bug 请直接提一个 issues, 我们优先解决 - -## 相关文档及网站 - - - -## Star History - - - - - - Star History Chart - - - -## 能力清单 - -> ✅ = 已实现 ⚠️ = 部分实现 / 条件启用 ❌ = stub / 移除 / feature flag 关闭 - -### 核心系统 - -| 能力 | 状态 | 说明 | -|------|------|------| -| REPL 交互界面(Ink 终端渲染) | ✅ | 主屏幕 5000+ 行,完整交互 | -| API 通信 — Anthropic Direct | ✅ | 支持 API Key + OAuth | -| API 通信 — AWS Bedrock | ✅ | 支持凭据刷新、Bearer Token | -| API 通信 — Google Vertex | ✅ | 支持 GCP 凭据刷新 | -| API 通信 — Azure Foundry | ✅ | 支持 API Key + Azure AD | -| 流式对话与工具调用循环 (`query.ts`) | ✅ | 1700+ 行,含自动压缩、token 追踪 | -| 会话引擎 (`QueryEngine.ts`) | ✅ | 1300+ 行,管理对话状态与归因 | -| 上下文构建(git status / CLAUDE.md / memory) | ✅ | `context.ts` 完整实现 | -| 权限系统(plan/auto/manual 模式) | ✅ | 6300+ 行,含 YOLO 分类器、路径验证、规则匹配 | -| Hook 系统(pre/post tool use) | ✅ | 支持 settings.json 配置 | -| 会话恢复 (`/resume`) | ✅ | 独立 ResumeConversation 屏幕 | -| Doctor 诊断 (`/doctor`) | ✅ | 版本、API、插件、沙箱检查 | -| 自动压缩 (compaction) | ✅ | auto-compact / micro-compact / API compact | - -### 工具 — 始终可用 - -| 工具 | 状态 | 说明 | -|------|------|------| -| BashTool | ✅ | Shell 执行,沙箱,权限检查 | -| FileReadTool | ✅ | 文件 / PDF / 图片 / Notebook 读取 | -| FileEditTool | ✅ | 字符串替换式编辑 + diff 追踪 | -| FileWriteTool | ✅ | 文件创建 / 覆写 + diff 生成 | -| NotebookEditTool | ✅ | Jupyter Notebook 单元格编辑 | -| AgentTool | ✅ | 子代理派生(fork / async / background / remote) | -| WebFetchTool | ✅ | URL 抓取 → Markdown → AI 摘要 | -| WebSearchTool | ✅ | 网页搜索 + 域名过滤 | -| AskUserQuestionTool | ✅ | 多问题交互提示 + 预览 | -| SendMessageTool | ✅ | 消息发送(peers / teammates / mailbox) | -| SkillTool | ✅ | 斜杠命令 / Skill 调用 | -| EnterPlanModeTool | ✅ | 进入计划模式 | -| ExitPlanModeTool (V2) | ✅ | 退出计划模式 | -| TodoWriteTool | ✅ | Todo 列表 v1 | -| BriefTool | ✅ | 简短消息 + 附件发送 | -| TaskOutputTool | ✅ | 后台任务输出读取 | -| TaskStopTool | ✅ | 后台任务停止 | -| ListMcpResourcesTool | ⚠️ | MCP 资源列表(被 specialTools 过滤,特定条件下加入) | -| ReadMcpResourceTool | ⚠️ | MCP 资源读取(同上) | -| SyntheticOutputTool | ⚠️ | 仅在非交互会话(SDK/pipe 模式)下创建 | -| CronCreateTool | ✅ | 定时任务创建(已移除 AGENT_TRIGGERS gate) | -| CronDeleteTool | ✅ | 定时任务删除 | -| CronListTool | ✅ | 定时任务列表 | -| EnterWorktreeTool | ✅ | 进入 Git Worktree(`isWorktreeModeEnabled()` 已硬编码为 true) | -| ExitWorktreeTool | ✅ | 退出 Git Worktree | - -### 工具 — 条件启用 - -| 工具 | 状态 | 启用条件 | -|------|------|----------| -| GlobTool | ✅ | 未嵌入 bfs/ugrep 时启用(默认启用) | -| GrepTool | ✅ | 同上 | -| TaskCreateTool | ⚠️ | `isTodoV2Enabled()` 为 true 时 | -| TaskGetTool | ⚠️ | 同上 | -| TaskUpdateTool | ⚠️ | 同上 | -| TaskListTool | ⚠️ | 同上 | -| TeamCreateTool | ⚠️ | `isAgentSwarmsEnabled()` | -| TeamDeleteTool | ⚠️ | 同上 | -| ToolSearchTool | ⚠️ | `isToolSearchEnabledOptimistic()` | -| PowerShellTool | ⚠️ | Windows 平台检测 | -| LSPTool | ⚠️ | `ENABLE_LSP_TOOL` 环境变量 | -| ConfigTool | ❌ | `USER_TYPE === 'ant'`(永远为 false) | - -### 工具 — Feature Flag 关闭(全部不可用) - -| 工具 | Feature Flag | -|------|-------------| -| SleepTool | `PROACTIVE` / `KAIROS` | -| RemoteTriggerTool | `AGENT_TRIGGERS_REMOTE` | -| MonitorTool | `MONITOR_TOOL` | -| SendUserFileTool | `KAIROS` | -| OverflowTestTool | `OVERFLOW_TEST_TOOL` | -| TerminalCaptureTool | `TERMINAL_PANEL` | -| WebBrowserTool | `WEB_BROWSER_TOOL` | -| SnipTool | `HISTORY_SNIP` | -| WorkflowTool | `WORKFLOW_SCRIPTS` | -| PushNotificationTool | `KAIROS` / `KAIROS_PUSH_NOTIFICATION` | -| SubscribePRTool | `KAIROS_GITHUB_WEBHOOKS` | -| ListPeersTool | `UDS_INBOX` | -| CtxInspectTool | `CONTEXT_COLLAPSE` | - -### 工具 — Stub / 不可用 - -| 工具 | 说明 | -|------|------| -| TungstenTool | ANT-ONLY stub | -| REPLTool | ANT-ONLY,`isEnabled: () => false` | -| SuggestBackgroundPRTool | ANT-ONLY,`isEnabled: () => false` | -| VerifyPlanExecutionTool | 需 `CLAUDE_CODE_VERIFY_PLAN=true` 环境变量,且为 stub | -| ReviewArtifactTool | stub,未注册到 tools.ts | -| DiscoverSkillsTool | stub,未注册到 tools.ts | - -### 斜杠命令 — 可用 - -| 命令 | 状态 | 说明 | -|------|------|------| -| `/add-dir` | ✅ | 添加目录 | -| `/advisor` | ✅ | Advisor 配置 | -| `/agents` | ✅ | 代理列表/管理 | -| `/branch` | ✅ | 分支管理 | -| `/btw` | ✅ | 快速备注 | -| `/chrome` | ✅ | Chrome 集成 | -| `/clear` | ✅ | 清屏 | -| `/color` | ✅ | Agent 颜色 | -| `/compact` | ✅ | 压缩对话 | -| `/config` (`/settings`) | ✅ | 配置管理 | -| `/context` | ✅ | 上下文信息 | -| `/copy` | ✅ | 复制最后消息 | -| `/cost` | ✅ | 会话费用 | -| `/desktop` | ✅ | Claude Desktop 集成 | -| `/diff` | ✅ | 显示 diff | -| `/doctor` | ✅ | 健康检查 | -| `/effort` | ✅ | 设置 effort 等级 | -| `/exit` | ✅ | 退出 | -| `/export` | ✅ | 导出对话 | -| `/extra-usage` | ✅ | 额外用量信息 | -| `/fast` | ✅ | 切换 fast 模式 | -| `/feedback` | ✅ | 反馈 | -| `/loop` | ✅ | 定时循环执行(bundled skill,可通过 `CLAUDE_CODE_DISABLE_CRON` 关闭) | -| `/heapdump` | ✅ | Heap dump(调试) | -| `/help` | ✅ | 帮助 | -| `/hooks` | ✅ | Hook 管理 | -| `/ide` | ✅ | IDE 连接 | -| `/init` | ✅ | 初始化项目 | -| `/install-github-app` | ✅ | 安装 GitHub App | -| `/install-slack-app` | ✅ | 安装 Slack App | -| `/keybindings` | ✅ | 快捷键管理 | -| `/login` / `/logout` | ✅ | 登录 / 登出 | -| `/mcp` | ✅ | MCP 服务管理 | -| `/memory` | ✅ | Memory / CLAUDE.md 管理 | -| `/mobile` | ✅ | 移动端 QR 码 | -| `/model` | ✅ | 模型选择 | -| `/output-style` | ✅ | 输出风格 | -| `/passes` | ✅ | 推荐码 | -| `/permissions` | ✅ | 权限管理 | -| `/plan` | ✅ | 计划模式 | -| `/plugin` | ✅ | 插件管理 | -| `/pr-comments` | ✅ | PR 评论 | -| `/privacy-settings` | ✅ | 隐私设置 | -| `/rate-limit-options` | ✅ | 限速选项 | -| `/release-notes` | ✅ | 更新日志 | -| `/reload-plugins` | ✅ | 重载插件 | -| `/remote-env` | ✅ | 远程环境配置 | -| `/rename` | ✅ | 重命名会话 | -| `/resume` | ✅ | 恢复会话 | -| `/review` | ✅ | 代码审查(本地) | -| `/ultrareview` | ✅ | 云端审查 | -| `/rewind` | ✅ | 回退对话 | -| `/sandbox-toggle` | ✅ | 切换沙箱 | -| `/security-review` | ✅ | 安全审查 | -| `/session` | ✅ | 会话信息 | -| `/skills` | ✅ | Skill 管理 | -| `/stats` | ✅ | 会话统计 | -| `/status` | ✅ | 状态信息 | -| `/statusline` | ✅ | 状态栏 UI | -| `/stickers` | ✅ | 贴纸 | -| `/tasks` | ✅ | 任务管理 | -| `/theme` | ✅ | 终端主题 | -| `/think-back` | ✅ | 年度回顾 | -| `/upgrade` | ✅ | 升级 CLI | -| `/usage` | ✅ | 用量信息 | -| `/insights` | ✅ | 使用分析报告 | -| `/vim` | ✅ | Vim 模式 | - -### 斜杠命令 — Feature Flag 关闭 - -| 命令 | Feature Flag | -|------|-------------| -| `/voice` | `VOICE_MODE` | -| `/proactive` | `PROACTIVE` / `KAIROS` | -| `/brief` | `KAIROS` / `KAIROS_BRIEF` | -| `/assistant` | `KAIROS` | -| `/remote-control` (alias `rc`) | `BRIDGE_MODE` | -| `/remote-control-server` | `DAEMON` + `BRIDGE_MODE` | -| `/force-snip` | `HISTORY_SNIP` | -| `/workflows` | `WORKFLOW_SCRIPTS` | -| `/web-setup` | `CCR_REMOTE_SETUP` | -| `/subscribe-pr` | `KAIROS_GITHUB_WEBHOOKS` | -| `/ultraplan` | `ULTRAPLAN` | -| `/torch` | `TORCH` | -| `/peers` | `UDS_INBOX` | -| `/fork` | `FORK_SUBAGENT` | -| `/buddy` | `BUDDY` | - -### 斜杠命令 — ANT-ONLY(不可用) - -`/files` `/tag` `/backfill-sessions` `/break-cache` `/bughunter` `/commit` `/commit-push-pr` `/ctx_viz` `/good-claude` `/issue` `/init-verifiers` `/mock-limits` `/bridge-kick` `/version` `/reset-limits` `/onboarding` `/share` `/summary` `/teleport` `/ant-trace` `/perf-issue` `/env` `/oauth-refresh` `/debug-tool-call` `/agents-platform` `/autofix-pr` - -### CLI 子命令 - -| 子命令 | 状态 | 说明 | -|--------|------|------| -| `claude`(默认) | ✅ | 主 REPL / 交互 / print 模式 | -| `claude mcp serve/add/remove/list/get/...` | ✅ | MCP 服务管理(7 个子命令) | -| `claude auth login/status/logout` | ✅ | 认证管理 | -| `claude plugin validate/list/install/...` | ✅ | 插件管理(7 个子命令) | -| `claude setup-token` | ✅ | 长效 Token 配置 | -| `claude agents` | ✅ | 代理列表 | -| `claude doctor` | ✅ | 健康检查 | -| `claude update` / `upgrade` | ✅ | 自动更新 | -| `claude install [target]` | ✅ | Native 安装 | -| `claude server` | ❌ | `DIRECT_CONNECT` flag | -| `claude ssh ` | ❌ | `SSH_REMOTE` flag | -| `claude open ` | ❌ | `DIRECT_CONNECT` flag | -| `claude auto-mode` | ❌ | `TRANSCRIPT_CLASSIFIER` flag | -| `claude remote-control` | ❌ | `BRIDGE_MODE` + `DAEMON` flag | -| `claude assistant` | ❌ | `KAIROS` flag | -| `claude up/rollback/log/error/export/task/completion` | ❌ | ANT-ONLY | - -### 服务层 - -| 服务 | 状态 | 说明 | -|------|------|------| -| API 客户端 (`services/api/`) | ✅ | 3400+ 行,4 个 provider | -| MCP (`services/mcp/`) | ✅ | 34 个文件,12000+ 行 | -| OAuth (`services/oauth/`) | ✅ | 完整 OAuth 流程 | -| 插件 (`services/plugins/`) | ✅ | 基础设施完整,无内置插件 | -| LSP (`services/lsp/`) | ⚠️ | 实现存在,默认关闭 | -| 压缩 (`services/compact/`) | ✅ | auto / micro / API 压缩 | -| Hook 系统 (`services/tools/toolHooks.ts`) | ✅ | pre/post tool use hooks | -| 会话记忆 (`services/SessionMemory/`) | ✅ | 会话记忆管理 | -| 记忆提取 (`services/extractMemories/`) | ✅ | 自动记忆提取 | -| Skill 搜索 (`services/skillSearch/`) | ✅ | 本地/远程 skill 搜索 | -| 策略限制 (`services/policyLimits/`) | ✅ | 策略限制执行 | -| 分析 / GrowthBook / Sentry | ⚠️ | 框架存在,实际 sink 为空 | -| Voice (`services/voice.ts`) | ❌ | `VOICE_MODE` flag 关闭 | - -### 内部包 (`packages/`) - -| 包 | 状态 | 说明 | -|------|------|------| -| `color-diff-napi` | ✅ | 1006 行完整 TypeScript 实现(语法高亮 diff) | -| `audio-capture-napi` | ✅ | 151 行完整实现(跨平台音频录制,使用 SoX/arecord) | -| `image-processor-napi` | ✅ | 125 行完整实现(macOS 剪贴板图片读取,使用 osascript + sharp) | -| `modifiers-napi` | ✅ | 67 行完整实现(macOS 修饰键检测,bun:ffi + CoreGraphics) | -| `url-handler-napi` | ❌ | stub,`waitForUrlEvent()` 返回 null | -| `@ant/claude-for-chrome-mcp` | ❌ | stub,`createServer()` 返回 null | -| `@ant/computer-use-mcp` | ⚠️ | 类型安全 stub(265 行,完整类型定义但函数返回空值) | -| `@ant/computer-use-input` | ✅ | 183 行完整实现(macOS 键鼠模拟,AppleScript/JXA/CGEvent) | -| `@ant/computer-use-swift` | ✅ | 388 行完整实现(macOS 显示器/应用管理/截图,JXA/screencapture) | - -### Feature Flags(31 个,全部返回 `false`) - -`ABLATION_BASELINE` `AGENT_MEMORY_SNAPSHOT` `BG_SESSIONS` `BRIDGE_MODE` `BUDDY` `CCR_MIRROR` `CCR_REMOTE_SETUP` `CHICAGO_MCP` `COORDINATOR_MODE` `DAEMON` `DIRECT_CONNECT` `EXPERIMENTAL_SKILL_SEARCH` `FORK_SUBAGENT` `HARD_FAIL` `HISTORY_SNIP` `KAIROS` `KAIROS_BRIEF` `KAIROS_CHANNELS` `KAIROS_GITHUB_WEBHOOKS` `LODESTONE` `MCP_SKILLS` `PROACTIVE` `SSH_REMOTE` `TORCH` `TRANSCRIPT_CLASSIFIER` `UDS_INBOX` `ULTRAPLAN` `UPLOAD_USER_SETTINGS` `VOICE_MODE` `WEB_BROWSER_TOOL` `WORKFLOW_SCRIPTS` - -## 项目结构 - -``` -claude-code/ -├── src/ -│ ├── entrypoints/ -│ │ ├── cli.tsx # 入口文件(含 MACRO/feature polyfill) -│ │ └── sdk/ # SDK 子模块 stub -│ ├── main.tsx # 主 CLI 逻辑(Commander 定义) -│ └── types/ -│ ├── global.d.ts # 全局变量/宏声明 -│ └── internal-modules.d.ts # 内部 npm 包类型声明 -├── packages/ # Monorepo workspace 包 -│ ├── color-diff-napi/ # 完整实现(终端 color diff) -│ ├── modifiers-napi/ # stub(macOS 修饰键检测) -│ ├── audio-capture-napi/ # stub -│ ├── image-processor-napi/# stub -│ ├── url-handler-napi/ # stub -│ └── @ant/ # Anthropic 内部包 stub -│ ├── claude-for-chrome-mcp/ -│ ├── computer-use-mcp/ -│ ├── computer-use-input/ -│ └── computer-use-swift/ -├── scripts/ # 自动化 stub 生成脚本 -├── build.ts # 构建脚本(Bun.build + code splitting + Node.js 兼容后处理) -├── dist/ # 构建输出(入口 cli.js + ~450 chunk 文件) -└── package.json # Bun workspaces monorepo 配置 +```typescript +export const PROVIDER_REGISTRY = { + // ... + your_provider: { + name: 'Your Provider', + baseURL: 'https://api.your-provider.com/v1', + defaultModel: 'your-default-model', + apiKeyEnvVars: ['YOUR_PROVIDER_API_KEY'], + models: [ + { id: 'model-1', name: 'Model 1', description: '描述' }, + ], + }, +} ``` -## 技术说明 +只要厂商支持 OpenAI 兼容接口,即可无缝接入。 -### 运行时 Polyfill +## 常见问题 -入口文件 `src/entrypoints/cli.tsx` 顶部注入了必要的 polyfill: +### Q: 安装依赖失败? -- `feature()` — 所有 feature flag 返回 `false`,跳过未实现分支 -- `globalThis.MACRO` — 模拟构建时宏注入(VERSION 等) +确保 Bun 为最新版本: +```bash +bun upgrade +bun install +``` -### Monorepo +### Q: 如何切换模型? -项目采用 Bun workspaces 管理内部包。原先手工放在 `node_modules/` 下的 stub 已统一迁入 `packages/`,通过 `workspace:*` 解析。 +运行中使用 `/model` 命令,或设置环境变量: +```bash +export PROVIDER=openai +export OPENAI_API_KEY=sk-xxx +export ANTHROPIC_MODEL=gpt-4o # 指定具体模型 +``` -## Feature Flags 详解 +### Q: 本地 Ollama 如何使用? -原版 Claude Code 通过 `bun:bundle` 的 `feature()` 在构建时注入 feature flag,由 GrowthBook 等 A/B 实验平台控制灰度发布。本项目中 `feature()` 被 polyfill 为始终返回 `false`,因此以下 30 个 flag 全部关闭。 +1. 安装 [Ollama](https://ollama.com/) +2. 拉取模型:`ollama pull qwen3.5:35b` +3. 启动嘉陵江-code,默认自动连接本地 Ollama -### 自主 Agent +### Q: 能否用 Node.js 运行? -| Flag | 用途 | -|------|------| -| `KAIROS` | Assistant 模式 — 长期运行的自主 Agent(含 brief、push 通知、文件发送) | -| `KAIROS_BRIEF` | Kairos Brief — 向用户发送简报摘要 | -| `KAIROS_CHANNELS` | Kairos 频道 — 多频道通信 | -| `KAIROS_GITHUB_WEBHOOKS` | GitHub Webhook 订阅 — PR 事件实时推送给 Agent | -| `PROACTIVE` | 主动模式 — Agent 主动执行任务,含 SleepTool 定时唤醒 | -| `COORDINATOR_MODE` | 协调器模式 — 多 Agent 编排调度 | -| `BUDDY` | Buddy 配对编程功能 | -| `FORK_SUBAGENT` | Fork 子代理 — 从当前会话分叉出独立子代理 | +可以。`bun run build` 后,`node dist/cli.js` 即可运行(构建时已注入 Node.js 兼容 shim)。 -### 远程 / 分布式 +### Q: tsc 报大量错误? -| Flag | 用途 | -|------|------| -| `BRIDGE_MODE` | 远程控制桥接 — 允许外部客户端远程操控 Claude Code | -| `DAEMON` | 守护进程 — 后台常驻服务,支持 worker 和 supervisor | -| `BG_SESSIONS` | 后台会话 — `ps`/`logs`/`attach`/`kill`/`--bg` 等后台进程管理 | -| `SSH_REMOTE` | SSH 远程 — `claude ssh ` 连接远程主机 | -| `DIRECT_CONNECT` | 直连模式 — `cc://` URL 协议、server 命令、`open` 命令 | -| `CCR_REMOTE_SETUP` | 网页端远程配置 — 通过浏览器配置 Claude Code | -| `CCR_MIRROR` | Claude Code Runtime 镜像 — 会话状态同步/复制 | +正常现象,来自反编译。不影响运行,请忽略。 -### 通信 +### Q: 工具调用不工作? -| Flag | 用途 | -|------|------| -| `UDS_INBOX` | Unix Domain Socket 收件箱 — Agent 间本地通信(`/peers`) | +部分本地模型(尤其小参数量模型)不支持 function calling。建议使用 7B+ 参数的模型,推荐 `qwen3.5:35b` 或 `deepseek-r1:32b`。 -### 增强工具 +## 贡献指南 -| Flag | 用途 | -|------|------| -| `CHICAGO_MCP` | Computer Use MCP — 计算机操作(屏幕截图、鼠标键盘控制) | -| `WEB_BROWSER_TOOL` | 网页浏览器工具 — 在终端内嵌浏览器交互 | -| `VOICE_MODE` | 语音模式 — 语音输入输出,麦克风 push-to-talk | -| `WORKFLOW_SCRIPTS` | 工作流脚本 — 用户自定义自动化工作流 | -| `MCP_SKILLS` | 基于 MCP 的 Skill 加载机制 | +欢迎贡献!请遵循以下流程: -### 对话管理 +1. Fork 本仓库 +2. 创建特性分支:`git checkout -b feature/your-feature` +3. 提交变更:`git commit -m 'Add your feature'` +4. 推送分支:`git push origin feature/your-feature` +5. 创建 Pull Request -| Flag | 用途 | -|------|------| -| `HISTORY_SNIP` | 历史裁剪 — 手动裁剪对话历史中的片段(`/force-snip`) | -| `ULTRAPLAN` | 超级计划 — 远程 Agent 协作的大规模规划功能 | -| `AGENT_MEMORY_SNAPSHOT` | Agent 运行时的记忆快照功能 | +### 贡献方向 -### 基础设施 / 实验 - -| Flag | 用途 | -|------|------| -| `ABLATION_BASELINE` | 科学实验 — 基线消融测试,用于 A/B 实验对照组 | -| `HARD_FAIL` | 硬失败模式 — 遇错直接中断而非降级 | -| `TRANSCRIPT_CLASSIFIER` | 对话分类器 — `auto-mode` 命令,自动分析和分类对话记录 | -| `UPLOAD_USER_SETTINGS` | 设置同步上传 — 将本地配置同步到云端 | -| `LODESTONE` | 深度链接协议处理器 — 从外部应用跳转到 Claude Code 指定位置 | -| `EXPERIMENTAL_SKILL_SEARCH` | 实验性 Skill 搜索索引 | -| `TORCH` | Torch 功能(具体用途未知,可能是某种高亮/追踪机制) | +- 新增模型厂商适配 +- Bug 修复 +- 文档改进 +- 工具增强 +- 国际化 (i18n) ## 许可证 -本项目仅供学习研究用途。Claude Code 的所有权利归 [Anthropic](https://www.anthropic.com/) 所有。 +本项目采用 [MIT 许可证](LICENSE)。 + +## 致谢 + +- 本项目基于 [Anthropic Claude Code](https://claude.ai/code) 反编译与改造 +- 感谢所有大模型厂商提供的 OpenAI 兼容接口 +- 感谢 [Ollama](https://ollama.com/) 提供的本地模型运行时 +- 感谢 [Bun](https://bun.sh/) 提供的高性能 JavaScript 运行时 + +--- + +**Star ⭐ 这个项目如果对你有帮助!** diff --git a/SECURITY.md b/SECURITY.md old mode 100644 new mode 100755 diff --git a/TODO.md b/TODO.md old mode 100644 new mode 100755 diff --git a/biome.json b/biome.json old mode 100644 new mode 100755 diff --git a/build.ts b/build.ts old mode 100644 new mode 100755 index 1967fce..5997660 --- a/build.ts +++ b/build.ts @@ -23,20 +23,33 @@ if (!result.success) { process.exit(1); } -// Step 3: Post-process — patch Bun-only APIs for Node.js compatibility +// Step 3: Post-process — patch for Node.js compatibility & re-enable feature-flagged code const files = await readdir(outdir); // 3a. Replace import.meta.require with Node.js compat shim const IMPORT_META_REQUIRE = "var __require = import.meta.require;"; const COMPAT_REQUIRE = `var __require = typeof import.meta.require === "function" ? import.meta.require : (await import("module")).createRequire(import.meta.url);`; -// 3b. Replace Bun-only import.meta.resolve (sync) with Node.js compat -// Bun: import.meta.resolve returns string synchronously -// Node: import.meta.resolve also works (since Node 20.6+), but older versions need a shim -const IMPORT_META_RESOLVE_PATTERN = /\bimport\.meta\.resolve\b/g; +// 3b. Re-enable feature-flagged code that was DCE'd (dead-code-eliminated) by the bundler. +// The Bun bundler resolves `feature('BUDDY')` from bun:bundle to `false` at build time, +// turning `if (!feature('BUDDY')) return X` into `if (true) return X` (dead code). +// We need to remove these guards to re-enable the buddy system. +// Pattern: `if (true)\n return 0;` → remove (companionReservedColumns guard) +// Pattern: `if (true)\n return null;` → remove (CompanionSprite render guard) +// Pattern: `if (true)\n return [];` → remove (findBuddyTriggerPositions guard) +// Pattern: `if (true) {\n return;\n }` → remove (useEffect guard) +// +// We specifically target buddy-related functions by checking surrounding context. + +const BUDDY_FUNCTIONS = [ + 'companionReservedColumns', + 'CompanionSprite', + 'CompanionFloatingBubble', + 'findBuddyTriggerPositions', +]; let patched = 0; -let resolvePatched = 0; +let buddyPatched = 0; for (const file of files) { if (!file.endsWith(".js")) continue; const filePath = join(outdir, file); @@ -50,6 +63,58 @@ for (const file of files) { changed = true; } + // Re-enable buddy feature flags: remove DCE'd guards + // These patterns are generated by the bundler when it resolves feature('BUDDY') to false + // and negates it: !false → true, creating `if (true) return X;` dead code guards. + if (content.includes('CompanionSprite') || content.includes('companionReservedColumns') || + content.includes('findBuddyTriggerPositions') || content.includes('useBuddyNotification')) { + + // Pattern 1: `if (true)\n return 0;` (single-line early return) + content = content.replace(/if \(true\)\n\s*return 0;/g, '/* buddy-enabled */'); + // Pattern 2: `if (true)\n return null;` (component early return) + content = content.replace(/if \(true\)\n\s*return null;/g, '/* buddy-enabled */'); + // Pattern 3: `if (true)\n return \[\];` (array early return) + content = content.replace(/if \(true\)\n\s*return \[\];/g, '/* buddy-enabled */'); + // Pattern 4: `if (true) {\n return;\n }` (void early return) + content = content.replace(/if \(true\) \{\n\s*return;\n\s*\}/g, '/* buddy-enabled */'); + // Pattern 5: `if (true) {\n return null;\n }` (block return null) + content = content.replace(/if \(true\) \{\n\s*return null;\n\s*\}/g, '/* buddy-enabled */'); + // Pattern 6: `if (true) {\n return false;\n }` (block return false) + content = content.replace(/if \(true\) \{\n\s*return false;\n\s*\}/g, '/* buddy-enabled */'); + + buddyPatched++; + changed = true; + } + + // Also fix REPL.tsx buddy rendering conditions + // The bundler turns `feature('BUDDY') && expr` into `false && expr` → `false` + // and `!feature('BUDDY')` into `true` + // In REPL, the inline expressions like: + // `feature('BUDDY') && companionVisible && ...` become just `false` + // We need to restore these. The pattern in the compiled REPL is typically: + // `bottomFloat={false}` (was `bottomFloat={feature('BUDDY') && ...}`) + // `false && companionNarrow` (was `feature('BUDDY') && companionNarrow`) + // These are harder to fix generically. Let's handle the PromptInput/REPL chunk. + if (content.includes('companionVisible') && content.includes('companionNarrow')) { + // The REPL renders companion in two places: + // 1. Fullscreen: bottomFloat={feature('BUDDY') && companionVisible && !companionNarrow ? : undefined} + // Compiled to: bottomFloat={false ? ... : undefined} → bottomFloat={undefined} + // 2. Non-fullscreen: {feature('BUDDY') && !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? : null} + // Compiled to: {false ? ... : null} → null + + // Replace `false && companionNarrow` patterns (used in flex direction) + content = content.replace( + /false && companionNarrow/g, + 'companionNarrow' + ); + + // Fix companion sprite rendering: find places where `null` replaced the companion + // Look for the pattern near companionVisible: `null` where `` should be + // This is trickier. Let's look for specific compiled patterns. + + changed = true; + } + if (changed) { await writeFile(filePath, content); } @@ -64,17 +129,14 @@ if (cliContent.startsWith("#!/usr/bin/env bun")) { cliContent = cliContent.replace("#!/usr/bin/env bun", "#!/usr/bin/env node"); } -// 4b. Inject Node.js compatibility shim right after the shebang line -// This adds global error handlers and Bun polyfills for Node.js runtime +// 4b. Inject Node.js compatibility shim const COMPAT_SHIM = ` // ── Node.js compatibility shim ── if (typeof globalThis.Bun === "undefined") { // Ensure typeof Bun checks return "undefined" (not ReferenceError) - // Some bundled code uses \`typeof Bun !== "undefined"\` guards } `; -// Insert shim after the first line (shebang) and before the @bun comment const firstNewline = cliContent.indexOf("\n"); if (firstNewline !== -1) { cliContent = cliContent.slice(0, firstNewline + 1) + COMPAT_SHIM + cliContent.slice(firstNewline + 1); @@ -82,4 +144,4 @@ if (firstNewline !== -1) { await writeFile(cliPath, cliContent); -console.log(`Bundled ${result.outputs.length} files to ${outdir}/ (patched ${patched} for Node.js compat, shebang → node)`); +console.log(`Bundled ${result.outputs.length} files to ${outdir}/ (patched ${patched} require, ${buddyPatched} buddy chunks, shebang → node)`); diff --git a/bun.lock b/bun.lock old mode 100644 new mode 100755 diff --git a/bunfig.toml b/bunfig.toml old mode 100644 new mode 100755 diff --git a/docs/REVISION-PLAN.md b/docs/REVISION-PLAN.md old mode 100644 new mode 100755 diff --git a/docs/agent/coordinator-and-swarm.mdx b/docs/agent/coordinator-and-swarm.mdx old mode 100644 new mode 100755 diff --git a/docs/agent/sub-agents.mdx b/docs/agent/sub-agents.mdx old mode 100644 new mode 100755 diff --git a/docs/agent/worktree-isolation.mdx b/docs/agent/worktree-isolation.mdx old mode 100644 new mode 100755 diff --git a/docs/context/compaction.mdx b/docs/context/compaction.mdx old mode 100644 new mode 100755 diff --git a/docs/context/project-memory.mdx b/docs/context/project-memory.mdx old mode 100644 new mode 100755 diff --git a/docs/context/system-prompt.mdx b/docs/context/system-prompt.mdx old mode 100644 new mode 100755 diff --git a/docs/context/token-budget.mdx b/docs/context/token-budget.mdx old mode 100644 new mode 100755 diff --git a/docs/conversation/multi-turn.mdx b/docs/conversation/multi-turn.mdx old mode 100644 new mode 100755 diff --git a/docs/conversation/streaming.mdx b/docs/conversation/streaming.mdx old mode 100644 new mode 100755 diff --git a/docs/conversation/the-loop.mdx b/docs/conversation/the-loop.mdx old mode 100644 new mode 100755 diff --git a/docs/extensibility/custom-agents.mdx b/docs/extensibility/custom-agents.mdx old mode 100644 new mode 100755 diff --git a/docs/extensibility/hooks.mdx b/docs/extensibility/hooks.mdx old mode 100644 new mode 100755 diff --git a/docs/extensibility/mcp-protocol.mdx b/docs/extensibility/mcp-protocol.mdx old mode 100644 new mode 100755 diff --git a/docs/extensibility/skills.mdx b/docs/extensibility/skills.mdx old mode 100644 new mode 100755 diff --git a/docs/favicon.svg b/docs/favicon.svg old mode 100644 new mode 100755 diff --git a/docs/images/agentic-loop.png b/docs/images/agentic-loop.png old mode 100644 new mode 100755 diff --git a/docs/images/architecture-layers.png b/docs/images/architecture-layers.png old mode 100644 new mode 100755 diff --git a/docs/images/compaction.png b/docs/images/compaction.png old mode 100644 new mode 100755 diff --git a/docs/images/data-flow.png b/docs/images/data-flow.png old mode 100644 new mode 100755 diff --git a/docs/images/interaction-flow.png b/docs/images/interaction-flow.png old mode 100644 new mode 100755 diff --git a/docs/images/mcp-architecture.png b/docs/images/mcp-architecture.png old mode 100644 new mode 100755 diff --git a/docs/images/permission-layers.png b/docs/images/permission-layers.png old mode 100644 new mode 100755 diff --git a/docs/images/streaming-timeline.png b/docs/images/streaming-timeline.png old mode 100644 new mode 100755 diff --git a/docs/images/system-prompt-assembly.png b/docs/images/system-prompt-assembly.png old mode 100644 new mode 100755 diff --git a/docs/internals/ant-only-world.mdx b/docs/internals/ant-only-world.mdx old mode 100644 new mode 100755 diff --git a/docs/internals/feature-flags.mdx b/docs/internals/feature-flags.mdx old mode 100644 new mode 100755 diff --git a/docs/internals/growthbook-ab-testing.mdx b/docs/internals/growthbook-ab-testing.mdx old mode 100644 new mode 100755 diff --git a/docs/internals/hidden-features.mdx b/docs/internals/hidden-features.mdx old mode 100644 new mode 100755 diff --git a/docs/internals/three-tier-gating.mdx b/docs/internals/three-tier-gating.mdx old mode 100644 new mode 100755 diff --git a/docs/introduction/architecture-overview.mdx b/docs/introduction/architecture-overview.mdx old mode 100644 new mode 100755 diff --git a/docs/introduction/what-is-claude-code.mdx b/docs/introduction/what-is-claude-code.mdx old mode 100644 new mode 100755 diff --git a/docs/introduction/why-this-whitepaper.mdx b/docs/introduction/why-this-whitepaper.mdx old mode 100644 new mode 100755 diff --git a/docs/logo/dark.svg b/docs/logo/dark.svg old mode 100644 new mode 100755 diff --git a/docs/logo/light.svg b/docs/logo/light.svg old mode 100644 new mode 100755 diff --git a/docs/safety/permission-model.mdx b/docs/safety/permission-model.mdx old mode 100644 new mode 100755 diff --git a/docs/safety/plan-mode.mdx b/docs/safety/plan-mode.mdx old mode 100644 new mode 100755 diff --git a/docs/safety/sandbox.mdx b/docs/safety/sandbox.mdx old mode 100644 new mode 100755 diff --git a/docs/safety/why-safety-matters.mdx b/docs/safety/why-safety-matters.mdx old mode 100644 new mode 100755 diff --git a/docs/tools/file-operations.mdx b/docs/tools/file-operations.mdx old mode 100644 new mode 100755 diff --git a/docs/tools/search-and-navigation.mdx b/docs/tools/search-and-navigation.mdx old mode 100644 new mode 100755 diff --git a/docs/tools/shell-execution.mdx b/docs/tools/shell-execution.mdx old mode 100644 new mode 100755 diff --git a/docs/tools/task-management.mdx b/docs/tools/task-management.mdx old mode 100644 new mode 100755 diff --git a/docs/tools/what-are-tools.mdx b/docs/tools/what-are-tools.mdx old mode 100644 new mode 100755 diff --git a/jialing-code-1.3.3.tgz b/jialing-code-1.3.3.tgz new file mode 100755 index 0000000..f14fd8f Binary files /dev/null and b/jialing-code-1.3.3.tgz differ diff --git a/jialing-code-1.3.4.tgz b/jialing-code-1.3.4.tgz new file mode 100755 index 0000000..09bdacb Binary files /dev/null and b/jialing-code-1.3.4.tgz differ diff --git a/knip.json b/knip.json old mode 100644 new mode 100755 diff --git a/mint.json b/mint.json old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 index 8ed6f2d..4c01cd4 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { - "name": "claude-js", - "version": "1.0.3", - "description": "Reverse-engineered Anthropic Claude Code CLI — interactive AI coding assistant in the terminal", + "name": "jialing-code", + "version": "1.3.14", + "description": "嘉陵江-code — 终端 AI 编程助手,支持 22+ 大模型厂商,默认本地 Ollama 零配置启动", "type": "module", - "author": "claude-code-best ", + "author": "嘉陵江-code", + "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/claude-code-best/claude-code.git" @@ -13,19 +14,26 @@ "url": "https://github.com/claude-code-best/claude-code/issues" }, "keywords": [ - "claude", - "anthropic", - "cli", "ai", + "cli", "coding-assistant", "terminal", - "repl" + "repl", + "ollama", + "openai", + "deepseek", + "qwen", + "gpt", + "gemini", + "llm", + "嘉陵江" ], "engines": { - "bun": ">=1.2.0" + "node": ">=18.0.0" }, "bin": { - "claude-js": "dist/cli.js" + "jialing-code": "dist/cli.js", + "jl": "dist/cli.js" }, "workspaces": [ "packages/*", @@ -47,7 +55,9 @@ "health": "bun run scripts/health-check.ts", "docs:dev": "npx mintlify dev" }, - "dependencies": {}, + "dependencies": { + "undici": "^7.24.6" + }, "devDependencies": { "@alcalzone/ansi-tokenize": "^0.3.0", "@ant/claude-for-chrome-mcp": "workspace:*", diff --git a/packages/@ant/claude-for-chrome-mcp/package.json b/packages/@ant/claude-for-chrome-mcp/package.json old mode 100644 new mode 100755 diff --git a/packages/@ant/claude-for-chrome-mcp/src/index.ts b/packages/@ant/claude-for-chrome-mcp/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-input/package.json b/packages/@ant/computer-use-input/package.json old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-input/src/index.ts b/packages/@ant/computer-use-input/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-mcp/package.json b/packages/@ant/computer-use-mcp/package.json old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-mcp/src/index.ts b/packages/@ant/computer-use-mcp/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-mcp/src/sentinelApps.ts b/packages/@ant/computer-use-mcp/src/sentinelApps.ts old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-mcp/src/types.ts b/packages/@ant/computer-use-mcp/src/types.ts old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-swift/package.json b/packages/@ant/computer-use-swift/package.json old mode 100644 new mode 100755 diff --git a/packages/@ant/computer-use-swift/src/index.ts b/packages/@ant/computer-use-swift/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/audio-capture-napi/package.json b/packages/audio-capture-napi/package.json old mode 100644 new mode 100755 diff --git a/packages/audio-capture-napi/src/index.ts b/packages/audio-capture-napi/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/color-diff-napi/package.json b/packages/color-diff-napi/package.json old mode 100644 new mode 100755 diff --git a/packages/color-diff-napi/src/__tests__/color-diff.test.ts b/packages/color-diff-napi/src/__tests__/color-diff.test.ts old mode 100644 new mode 100755 diff --git a/packages/color-diff-napi/src/index.ts b/packages/color-diff-napi/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/image-processor-napi/package.json b/packages/image-processor-napi/package.json old mode 100644 new mode 100755 diff --git a/packages/image-processor-napi/src/index.ts b/packages/image-processor-napi/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/modifiers-napi/package.json b/packages/modifiers-napi/package.json old mode 100644 new mode 100755 diff --git a/packages/modifiers-napi/src/index.ts b/packages/modifiers-napi/src/index.ts old mode 100644 new mode 100755 diff --git a/packages/url-handler-napi/package.json b/packages/url-handler-napi/package.json old mode 100644 new mode 100755 diff --git a/packages/url-handler-napi/src/index.ts b/packages/url-handler-napi/src/index.ts old mode 100644 new mode 100755 diff --git a/scripts/create-type-stubs.mjs b/scripts/create-type-stubs.mjs old mode 100644 new mode 100755 diff --git a/scripts/fix-default-stubs.mjs b/scripts/fix-default-stubs.mjs old mode 100644 new mode 100755 diff --git a/scripts/fix-missing-exports.mjs b/scripts/fix-missing-exports.mjs old mode 100644 new mode 100755 diff --git a/scripts/health-check.ts b/scripts/health-check.ts old mode 100644 new mode 100755 diff --git a/scripts/remove-sourcemaps.mjs b/scripts/remove-sourcemaps.mjs old mode 100644 new mode 100755 diff --git a/src/QueryEngine.ts b/src/QueryEngine.ts old mode 100644 new mode 100755 diff --git a/src/Task.ts b/src/Task.ts old mode 100644 new mode 100755 diff --git a/src/Tool.ts b/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/assistant/AssistantSessionChooser.ts b/src/assistant/AssistantSessionChooser.ts old mode 100644 new mode 100755 diff --git a/src/assistant/gate.ts b/src/assistant/gate.ts old mode 100644 new mode 100755 diff --git a/src/assistant/index.ts b/src/assistant/index.ts old mode 100644 new mode 100755 diff --git a/src/assistant/sessionDiscovery.ts b/src/assistant/sessionDiscovery.ts old mode 100644 new mode 100755 diff --git a/src/assistant/sessionHistory.ts b/src/assistant/sessionHistory.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/entrypoints/agentSdkTypes.ts b/src/bootstrap/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/tools/AgentTool/agentColorManager.ts b/src/bootstrap/src/tools/AgentTool/agentColorManager.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/types/hooks.ts b/src/bootstrap/src/types/hooks.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/types/ids.ts b/src/bootstrap/src/types/ids.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/crypto.ts b/src/bootstrap/src/utils/crypto.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/model/model.ts b/src/bootstrap/src/utils/model/model.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/model/modelStrings.ts b/src/bootstrap/src/utils/model/modelStrings.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/settings/constants.ts b/src/bootstrap/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/settings/settingsCache.ts b/src/bootstrap/src/utils/settings/settingsCache.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/settings/types.ts b/src/bootstrap/src/utils/settings/types.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/src/utils/signal.ts b/src/bootstrap/src/utils/signal.ts old mode 100644 new mode 100755 diff --git a/src/bootstrap/state.ts b/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeApi.ts b/src/bridge/bridgeApi.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeConfig.ts b/src/bridge/bridgeConfig.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeDebug.ts b/src/bridge/bridgeDebug.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeEnabled.ts b/src/bridge/bridgeEnabled.ts old mode 100644 new mode 100755 index b6eec41..5dbb202 --- a/src/bridge/bridgeEnabled.ts +++ b/src/bridge/bridgeEnabled.ts @@ -166,7 +166,7 @@ export function checkBridgeMinVersion(): string | null { minVersion: string }>('tengu_bridge_min_version', { minVersion: '0.0.0' }) if (config.minVersion && lt(MACRO.VERSION, config.minVersion)) { - return `Your version of Claude Code (${MACRO.VERSION}) is too old for Remote Control.\nVersion ${config.minVersion} or higher is required. Run \`claude update\` to update.` + return `Your version of 嘉陵江-code (${MACRO.VERSION}) is too old for Remote Control.\nVersion ${config.minVersion} or higher is required. Run \`jialing update\` to update.` } } return null diff --git a/src/bridge/bridgeMain.ts b/src/bridge/bridgeMain.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeMessaging.ts b/src/bridge/bridgeMessaging.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgePermissionCallbacks.ts b/src/bridge/bridgePermissionCallbacks.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgePointer.ts b/src/bridge/bridgePointer.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeStatusUtil.ts b/src/bridge/bridgeStatusUtil.ts old mode 100644 new mode 100755 diff --git a/src/bridge/bridgeUI.ts b/src/bridge/bridgeUI.ts old mode 100644 new mode 100755 diff --git a/src/bridge/capacityWake.ts b/src/bridge/capacityWake.ts old mode 100644 new mode 100755 diff --git a/src/bridge/codeSessionApi.ts b/src/bridge/codeSessionApi.ts old mode 100644 new mode 100755 diff --git a/src/bridge/createSession.ts b/src/bridge/createSession.ts old mode 100644 new mode 100755 diff --git a/src/bridge/debugUtils.ts b/src/bridge/debugUtils.ts old mode 100644 new mode 100755 diff --git a/src/bridge/envLessBridgeConfig.ts b/src/bridge/envLessBridgeConfig.ts old mode 100644 new mode 100755 index de0cb5e..ae6c8cd --- a/src/bridge/envLessBridgeConfig.ts +++ b/src/bridge/envLessBridgeConfig.ts @@ -147,7 +147,7 @@ export async function getEnvLessBridgeConfig(): Promise { export async function checkEnvLessBridgeMinVersion(): Promise { const cfg = await getEnvLessBridgeConfig() if (cfg.min_version && lt(MACRO.VERSION, cfg.min_version)) { - return `Your version of Claude Code (${MACRO.VERSION}) is too old for Remote Control.\nVersion ${cfg.min_version} or higher is required. Run \`claude update\` to update.` + return `Your version of 嘉陵江-code (${MACRO.VERSION}) is too old for Remote Control.\nVersion ${cfg.min_version} or higher is required. Run \`jialing update\` to update.` } return null } diff --git a/src/bridge/flushGate.ts b/src/bridge/flushGate.ts old mode 100644 new mode 100755 diff --git a/src/bridge/inboundAttachments.ts b/src/bridge/inboundAttachments.ts old mode 100644 new mode 100755 diff --git a/src/bridge/inboundMessages.ts b/src/bridge/inboundMessages.ts old mode 100644 new mode 100755 diff --git a/src/bridge/initReplBridge.ts b/src/bridge/initReplBridge.ts old mode 100644 new mode 100755 diff --git a/src/bridge/jwtUtils.ts b/src/bridge/jwtUtils.ts old mode 100644 new mode 100755 diff --git a/src/bridge/peerSessions.ts b/src/bridge/peerSessions.ts old mode 100644 new mode 100755 diff --git a/src/bridge/pollConfig.ts b/src/bridge/pollConfig.ts old mode 100644 new mode 100755 diff --git a/src/bridge/pollConfigDefaults.ts b/src/bridge/pollConfigDefaults.ts old mode 100644 new mode 100755 diff --git a/src/bridge/remoteBridgeCore.ts b/src/bridge/remoteBridgeCore.ts old mode 100644 new mode 100755 diff --git a/src/bridge/replBridge.ts b/src/bridge/replBridge.ts old mode 100644 new mode 100755 diff --git a/src/bridge/replBridgeHandle.ts b/src/bridge/replBridgeHandle.ts old mode 100644 new mode 100755 diff --git a/src/bridge/replBridgeTransport.ts b/src/bridge/replBridgeTransport.ts old mode 100644 new mode 100755 diff --git a/src/bridge/sessionIdCompat.ts b/src/bridge/sessionIdCompat.ts old mode 100644 new mode 100755 diff --git a/src/bridge/sessionRunner.ts b/src/bridge/sessionRunner.ts old mode 100644 new mode 100755 diff --git a/src/bridge/src/entrypoints/sdk/controlTypes.ts b/src/bridge/src/entrypoints/sdk/controlTypes.ts old mode 100644 new mode 100755 diff --git a/src/bridge/trustedDevice.ts b/src/bridge/trustedDevice.ts old mode 100644 new mode 100755 index a4bcf35..e513b1b --- a/src/bridge/trustedDevice.ts +++ b/src/bridge/trustedDevice.ts @@ -147,7 +147,7 @@ export async function enrollTrustedDevice(): Promise { device_id?: string }>( `${baseUrl}/api/auth/trusted_devices`, - { display_name: `Claude Code on ${hostname()} · ${process.platform}` }, + { display_name: `嘉陵江-code on ${hostname()} · ${process.platform}` }, { headers: { Authorization: `Bearer ${accessToken}`, diff --git a/src/bridge/types.ts b/src/bridge/types.ts old mode 100644 new mode 100755 diff --git a/src/bridge/webhookSanitizer.ts b/src/bridge/webhookSanitizer.ts old mode 100644 new mode 100755 diff --git a/src/bridge/workSecret.ts b/src/bridge/workSecret.ts old mode 100644 new mode 100755 diff --git a/src/buddy/CompanionSprite.tsx b/src/buddy/CompanionSprite.tsx old mode 100644 new mode 100755 index 06e72d0..087ecbf --- a/src/buddy/CompanionSprite.tsx +++ b/src/buddy/CompanionSprite.tsx @@ -165,7 +165,7 @@ function spriteColWidth(nameWidth: number): number { // Narrow terminals: 0 — REPL.tsx stacks the one-liner on its own row // (above input in fullscreen, below in scrollback), so no reservation. export function companionReservedColumns(terminalColumns: number, speaking: boolean): number { - if (!feature('BUDDY')) return 0; + if (!true) return 0; const companion = getCompanion(); if (!companion || getGlobalConfig().companionMuted) return 0; if (terminalColumns < MIN_COLS_FOR_FULL_SPRITE) return 0; @@ -212,7 +212,7 @@ export function CompanionSprite(): React.ReactNode { return () => clearTimeout(timer); // eslint-disable-next-line react-hooks/exhaustive-deps -- tick intentionally captured at reaction-change, not tracked }, [reaction, setAppState]); - if (!feature('BUDDY')) return null; + if (!true) return null; const companion = getCompanion(); if (!companion || getGlobalConfig().companionMuted) return null; const color = RARITY_COLORS[companion.rarity]; @@ -337,7 +337,7 @@ export function CompanionFloatingBubble() { t3 = $[4]; } useEffect(t2, t3); - if (!feature("BUDDY") || !reaction) { + if (!true || !reaction) { return null; } const companion = getCompanion(); diff --git a/src/buddy/companion.ts b/src/buddy/companion.ts old mode 100644 new mode 100755 index 09c3838..c580379 --- a/src/buddy/companion.ts +++ b/src/buddy/companion.ts @@ -1,4 +1,7 @@ -import { getGlobalConfig } from '../utils/config.js' +import { existsSync, readFileSync } from 'fs' +import { join } from 'path' +import { homedir } from 'os' +import { getGlobalConfig, saveGlobalConfig } from '../utils/config.js' import { type Companion, type CompanionBones, @@ -8,6 +11,7 @@ import { RARITY_WEIGHTS, type Rarity, SPECIES, + type Species, STAT_NAMES, type StatName, } from './types.js' @@ -121,13 +125,56 @@ export function companionUserId(): string { return config.oauthAccount?.accountUuid ?? config.userID ?? 'anon' } +// ── Jialing config fallback ───────────────────────────────────────────────── +// Read companion from ~/.jialing-code/config.json as a fallback when the +// global claude config doesn't have it (setup wizard writes there first). +let jialingCompanionMigrated = false + +function tryMigrateJialingCompanion(): void { + if (jialingCompanionMigrated) return + jialingCompanionMigrated = true + + try { + const jialingConfigPath = join(homedir(), '.jialing-code', 'config.json') + if (!existsSync(jialingConfigPath)) return + const jialingConfig = JSON.parse(readFileSync(jialingConfigPath, 'utf-8')) + if (!jialingConfig.companion) return + + // Check if global config already has companion + const globalConfig = getGlobalConfig() + if (globalConfig.companion) return + + // Migrate companion from jialing config to global config + saveGlobalConfig(current => ({ + ...current, + companion: { + name: jialingConfig.companion.name || 'Buddy', + personality: jialingConfig.companion.personality || '', + hatchedAt: jialingConfig.companion.hatchedAt || Date.now(), + }, + companionSpeciesOverride: jialingConfig.companion.species, + })) + } catch { + // Silent — best effort migration + } +} + // Regenerate bones from userId, merge with stored soul. Bones never persist // so species renames and SPECIES-array edits can't break stored companions, // and editing config.companion can't fake a rarity. export function getCompanion(): Companion | undefined { - const stored = getGlobalConfig().companion + // Try migrating companion from jialing config if not in global config + tryMigrateJialingCompanion() + + const config = getGlobalConfig() + const stored = config.companion if (!stored) return undefined const { bones } = roll(companionUserId()) + // Allow user-chosen species override from setup wizard + const speciesOverride = (config as any).companionSpeciesOverride + if (speciesOverride && SPECIES.includes(speciesOverride as Species)) { + bones.species = speciesOverride as Species + } // bones last so stale bones fields in old-format configs get overridden return { ...stored, ...bones } } diff --git a/src/buddy/prompt.ts b/src/buddy/prompt.ts old mode 100644 new mode 100755 index c5782c0..e8802a9 --- a/src/buddy/prompt.ts +++ b/src/buddy/prompt.ts @@ -15,7 +15,7 @@ When the user addresses ${name} directly (by name), its bubble will answer. Your export function getCompanionIntroAttachment( messages: Message[] | undefined, ): Attachment[] { - if (!feature('BUDDY')) return [] + if (!true) return [] const companion = getCompanion() if (!companion || getGlobalConfig().companionMuted) return [] diff --git a/src/buddy/sprites.ts b/src/buddy/sprites.ts old mode 100644 new mode 100755 diff --git a/src/buddy/types.ts b/src/buddy/types.ts old mode 100644 new mode 100755 diff --git a/src/buddy/useBuddyNotification.tsx b/src/buddy/useBuddyNotification.tsx old mode 100644 new mode 100755 index 2f1cfe3..5250317 --- a/src/buddy/useBuddyNotification.tsx +++ b/src/buddy/useBuddyNotification.tsx @@ -50,7 +50,7 @@ export function useBuddyNotification() { let t1; if ($[0] !== addNotification || $[1] !== removeNotification) { t0 = () => { - if (!feature("BUDDY")) { + if (!true) { return; } const config = getGlobalConfig(); @@ -80,7 +80,7 @@ export function findBuddyTriggerPositions(text: string): Array<{ start: number; end: number; }> { - if (!feature('BUDDY')) return []; + if (!true) return []; const triggers: Array<{ start: number; end: number; diff --git a/src/cli/bg.ts b/src/cli/bg.ts old mode 100644 new mode 100755 diff --git a/src/cli/exit.ts b/src/cli/exit.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/agents.ts b/src/cli/handlers/agents.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/ant.ts b/src/cli/handlers/ant.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/auth.ts b/src/cli/handlers/auth.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/autoMode.ts b/src/cli/handlers/autoMode.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/mcp.tsx b/src/cli/handlers/mcp.tsx old mode 100644 new mode 100755 diff --git a/src/cli/handlers/plugins.ts b/src/cli/handlers/plugins.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/templateJobs.ts b/src/cli/handlers/templateJobs.ts old mode 100644 new mode 100755 diff --git a/src/cli/handlers/util.tsx b/src/cli/handlers/util.tsx old mode 100644 new mode 100755 diff --git a/src/cli/ndjsonSafeStringify.ts b/src/cli/ndjsonSafeStringify.ts old mode 100644 new mode 100755 diff --git a/src/cli/print.ts b/src/cli/print.ts old mode 100644 new mode 100755 diff --git a/src/cli/remoteIO.ts b/src/cli/remoteIO.ts old mode 100644 new mode 100755 diff --git a/src/cli/rollback.ts b/src/cli/rollback.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/QueryEngine.ts b/src/cli/src/QueryEngine.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/cli/handlers/auth.ts b/src/cli/src/cli/handlers/auth.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/cli/remoteIO.ts b/src/cli/src/cli/remoteIO.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/cli/structuredIO.ts b/src/cli/src/cli/structuredIO.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/commands/context/context-noninteractive.ts b/src/cli/src/commands/context/context-noninteractive.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/entrypoints/agentSdkTypes.ts b/src/cli/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/entrypoints/sdk/controlSchemas.ts b/src/cli/src/entrypoints/sdk/controlSchemas.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/entrypoints/sdk/controlTypes.ts b/src/cli/src/entrypoints/sdk/controlTypes.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/hooks/useCanUseTool.ts b/src/cli/src/hooks/useCanUseTool.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/PromptSuggestion/promptSuggestion.ts b/src/cli/src/services/PromptSuggestion/promptSuggestion.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/analytics/growthbook.ts b/src/cli/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/analytics/index.ts b/src/cli/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/api/grove.ts b/src/cli/src/services/api/grove.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/api/logging.ts b/src/cli/src/services/api/logging.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/claudeAiLimits.ts b/src/cli/src/services/claudeAiLimits.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/auth.ts b/src/cli/src/services/mcp/auth.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/channelAllowlist.ts b/src/cli/src/services/mcp/channelAllowlist.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/channelNotification.ts b/src/cli/src/services/mcp/channelNotification.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/client.ts b/src/cli/src/services/mcp/client.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/config.ts b/src/cli/src/services/mcp/config.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/elicitationHandler.ts b/src/cli/src/services/mcp/elicitationHandler.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/mcpStringUtils.ts b/src/cli/src/services/mcp/mcpStringUtils.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/types.ts b/src/cli/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/utils.ts b/src/cli/src/services/mcp/utils.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/mcp/vscodeSdkMcp.ts b/src/cli/src/services/mcp/vscodeSdkMcp.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/oauth/index.ts b/src/cli/src/services/oauth/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/policyLimits/index.ts b/src/cli/src/services/policyLimits/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/remoteManagedSettings/index.ts b/src/cli/src/services/remoteManagedSettings/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/services/settingsSync/index.ts b/src/cli/src/services/settingsSync/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/state/AppStateStore.ts b/src/cli/src/state/AppStateStore.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/state/onChangeAppState.ts b/src/cli/src/state/onChangeAppState.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/tools.ts b/src/cli/src/tools.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/abortController.ts b/src/cli/src/utils/abortController.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/array.ts b/src/cli/src/utils/array.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/auth.ts b/src/cli/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/autoUpdater.ts b/src/cli/src/utils/autoUpdater.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/awsAuthStatusManager.ts b/src/cli/src/utils/awsAuthStatusManager.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/betas.ts b/src/cli/src/utils/betas.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/cleanupRegistry.ts b/src/cli/src/utils/cleanupRegistry.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/combinedAbortSignal.ts b/src/cli/src/utils/combinedAbortSignal.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/commandLifecycle.ts b/src/cli/src/utils/commandLifecycle.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/commitAttribution.ts b/src/cli/src/utils/commitAttribution.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/completionCache.ts b/src/cli/src/utils/completionCache.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/config.ts b/src/cli/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/conversationRecovery.ts b/src/cli/src/utils/conversationRecovery.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/cwd.ts b/src/cli/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/debug.ts b/src/cli/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/diagLogs.ts b/src/cli/src/utils/diagLogs.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/doctorDiagnostic.ts b/src/cli/src/utils/doctorDiagnostic.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/effort.ts b/src/cli/src/utils/effort.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/errors.ts b/src/cli/src/utils/errors.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/fastMode.ts b/src/cli/src/utils/fastMode.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/fileHistory.ts b/src/cli/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/filePersistence/filePersistence.ts b/src/cli/src/utils/filePersistence/filePersistence.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/fileStateCache.ts b/src/cli/src/utils/fileStateCache.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/forkedAgent.ts b/src/cli/src/utils/forkedAgent.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/generators.ts b/src/cli/src/utils/generators.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/gracefulShutdown.ts b/src/cli/src/utils/gracefulShutdown.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/headlessProfiler.ts b/src/cli/src/utils/headlessProfiler.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/hooks.ts b/src/cli/src/utils/hooks.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/hooks/AsyncHookRegistry.ts b/src/cli/src/utils/hooks/AsyncHookRegistry.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/hooks/hookEvents.ts b/src/cli/src/utils/hooks/hookEvents.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/idleTimeout.ts b/src/cli/src/utils/idleTimeout.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/json.ts b/src/cli/src/utils/json.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/localInstaller.ts b/src/cli/src/utils/localInstaller.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/log.ts b/src/cli/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/messageQueueManager.ts b/src/cli/src/utils/messageQueueManager.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/messages.ts b/src/cli/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/messages/mappers.ts b/src/cli/src/utils/messages/mappers.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/model/model.ts b/src/cli/src/utils/model/model.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/model/modelOptions.ts b/src/cli/src/utils/model/modelOptions.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/model/modelStrings.ts b/src/cli/src/utils/model/modelStrings.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/model/providers.ts b/src/cli/src/utils/model/providers.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/nativeInstaller/index.ts b/src/cli/src/utils/nativeInstaller/index.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/nativeInstaller/packageManagers.ts b/src/cli/src/utils/nativeInstaller/packageManagers.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/path.ts b/src/cli/src/utils/path.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/permissions/PermissionPromptToolResultSchema.ts b/src/cli/src/utils/permissions/PermissionPromptToolResultSchema.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/permissions/PermissionResult.ts b/src/cli/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/permissions/permissionSetup.ts b/src/cli/src/utils/permissions/permissionSetup.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/permissions/permissions.ts b/src/cli/src/utils/permissions/permissions.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/plugins/pluginIdentifier.ts b/src/cli/src/utils/plugins/pluginIdentifier.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/process.ts b/src/cli/src/utils/process.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/queryContext.ts b/src/cli/src/utils/queryContext.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/queryHelpers.ts b/src/cli/src/utils/queryHelpers.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/queryProfiler.ts b/src/cli/src/utils/queryProfiler.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sandbox/sandbox-adapter.ts b/src/cli/src/utils/sandbox/sandbox-adapter.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/semver.ts b/src/cli/src/utils/semver.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionRestore.ts b/src/cli/src/utils/sessionRestore.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionStart.ts b/src/cli/src/utils/sessionStart.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionState.ts b/src/cli/src/utils/sessionState.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionStorage.ts b/src/cli/src/utils/sessionStorage.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionTitle.ts b/src/cli/src/utils/sessionTitle.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sessionUrl.ts b/src/cli/src/utils/sessionUrl.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/sideQuestion.ts b/src/cli/src/utils/sideQuestion.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/stream.ts b/src/cli/src/utils/stream.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/streamJsonStdoutGuard.ts b/src/cli/src/utils/streamJsonStdoutGuard.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/streamlinedTransform.ts b/src/cli/src/utils/streamlinedTransform.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/thinking.ts b/src/cli/src/utils/thinking.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/toolPool.ts b/src/cli/src/utils/toolPool.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/uuid.ts b/src/cli/src/utils/uuid.ts old mode 100644 new mode 100755 diff --git a/src/cli/src/utils/workloadContext.ts b/src/cli/src/utils/workloadContext.ts old mode 100644 new mode 100755 diff --git a/src/cli/structuredIO.ts b/src/cli/structuredIO.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/HybridTransport.ts b/src/cli/transports/HybridTransport.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/SSETransport.ts b/src/cli/transports/SSETransport.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/SerialBatchEventUploader.ts b/src/cli/transports/SerialBatchEventUploader.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/Transport.ts b/src/cli/transports/Transport.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/WebSocketTransport.ts b/src/cli/transports/WebSocketTransport.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/WorkerStateUploader.ts b/src/cli/transports/WorkerStateUploader.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/ccrClient.ts b/src/cli/transports/ccrClient.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/src/entrypoints/sdk/controlTypes.ts b/src/cli/transports/src/entrypoints/sdk/controlTypes.ts old mode 100644 new mode 100755 diff --git a/src/cli/transports/transportUtils.ts b/src/cli/transports/transportUtils.ts old mode 100644 new mode 100755 diff --git a/src/cli/up.ts b/src/cli/up.ts old mode 100644 new mode 100755 diff --git a/src/cli/update.ts b/src/cli/update.ts old mode 100644 new mode 100755 index a0cd35f..2b0afd5 --- a/src/cli/update.ts +++ b/src/cli/update.ts @@ -126,9 +126,9 @@ export async function update() { writeToStdout(`Update available: ${MACRO.VERSION} → ${latest}\n`) writeToStdout('\n') writeToStdout('To update, run:\n') - writeToStdout(chalk.bold(' brew upgrade claude-code') + '\n') + writeToStdout(chalk.bold(' brew upgrade jialing-code') + '\n') } else { - writeToStdout('Claude is up to date!\n') + writeToStdout('嘉陵江-code is up to date!\n') } } else if (packageManager === 'winget') { writeToStdout('Claude is managed by winget.\n') @@ -150,9 +150,9 @@ export async function update() { writeToStdout(`Update available: ${MACRO.VERSION} → ${latest}\n`) writeToStdout('\n') writeToStdout('To update, run:\n') - writeToStdout(chalk.bold(' apk upgrade claude-code') + '\n') + writeToStdout(chalk.bold(' apk upgrade jialing-code') + '\n') } else { - writeToStdout('Claude is up to date!\n') + writeToStdout('嘉陵江-code is up to date!\n') } } else { // pacman, deb, and rpm don't get specific commands because they each have diff --git a/src/commands.ts b/src/commands.ts old mode 100644 new mode 100755 index 10f03b2..fa81fa1 --- a/src/commands.ts +++ b/src/commands.ts @@ -115,7 +115,7 @@ const forkCmd = feature('FORK_SUBAGENT') require('./commands/fork/index.js') as typeof import('./commands/fork/index.js') ).default : null -const buddy = feature('BUDDY') +const buddy = true ? ( require('./commands/buddy/index.js') as typeof import('./commands/buddy/index.js') ).default diff --git a/src/commands/add-dir/add-dir.tsx b/src/commands/add-dir/add-dir.tsx old mode 100644 new mode 100755 diff --git a/src/commands/add-dir/index.ts b/src/commands/add-dir/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/add-dir/validation.ts b/src/commands/add-dir/validation.ts old mode 100644 new mode 100755 diff --git a/src/commands/advisor.ts b/src/commands/advisor.ts old mode 100644 new mode 100755 diff --git a/src/commands/agents-platform/index.js b/src/commands/agents-platform/index.js old mode 100644 new mode 100755 diff --git a/src/commands/agents/agents.tsx b/src/commands/agents/agents.tsx old mode 100644 new mode 100755 diff --git a/src/commands/agents/index.ts b/src/commands/agents/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/ant-trace/index.js b/src/commands/ant-trace/index.js old mode 100644 new mode 100755 diff --git a/src/commands/assistant/assistant.ts b/src/commands/assistant/assistant.ts old mode 100644 new mode 100755 diff --git a/src/commands/autofix-pr/index.js b/src/commands/autofix-pr/index.js old mode 100644 new mode 100755 diff --git a/src/commands/backfill-sessions/index.js b/src/commands/backfill-sessions/index.js old mode 100644 new mode 100755 diff --git a/src/commands/branch/branch.ts b/src/commands/branch/branch.ts old mode 100644 new mode 100755 diff --git a/src/commands/branch/index.ts b/src/commands/branch/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/break-cache/index.js b/src/commands/break-cache/index.js old mode 100644 new mode 100755 diff --git a/src/commands/bridge-kick.ts b/src/commands/bridge-kick.ts old mode 100644 new mode 100755 diff --git a/src/commands/bridge/bridge.tsx b/src/commands/bridge/bridge.tsx old mode 100644 new mode 100755 diff --git a/src/commands/bridge/index.ts b/src/commands/bridge/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/brief.ts b/src/commands/brief.ts old mode 100644 new mode 100755 diff --git a/src/commands/btw/btw.tsx b/src/commands/btw/btw.tsx old mode 100644 new mode 100755 diff --git a/src/commands/btw/index.ts b/src/commands/btw/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/buddy/index.ts b/src/commands/buddy/index.ts old mode 100644 new mode 100755 index 29ae609..338add5 --- a/src/commands/buddy/index.ts +++ b/src/commands/buddy/index.ts @@ -1,3 +1,12 @@ -// Auto-generated stub — replace with real implementation -const _default: Record = {}; -export default _default; +import type { Command } from '../../commands.js' + +const buddy = { + type: 'local-jsx', + name: 'buddy', + description: 'Interact with your coding companion pet', + isEnabled: () => true, + isHidden: true, + load: async () => ({ default: () => null }), +} satisfies Command + +export default buddy diff --git a/src/commands/bughunter/index.js b/src/commands/bughunter/index.js old mode 100644 new mode 100755 diff --git a/src/commands/chrome/chrome.tsx b/src/commands/chrome/chrome.tsx old mode 100644 new mode 100755 diff --git a/src/commands/chrome/index.ts b/src/commands/chrome/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/clear/caches.ts b/src/commands/clear/caches.ts old mode 100644 new mode 100755 diff --git a/src/commands/clear/clear.ts b/src/commands/clear/clear.ts old mode 100644 new mode 100755 diff --git a/src/commands/clear/conversation.ts b/src/commands/clear/conversation.ts old mode 100644 new mode 100755 diff --git a/src/commands/clear/index.ts b/src/commands/clear/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/color/color.ts b/src/commands/color/color.ts old mode 100644 new mode 100755 diff --git a/src/commands/color/index.ts b/src/commands/color/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/commit-push-pr.ts b/src/commands/commit-push-pr.ts old mode 100644 new mode 100755 diff --git a/src/commands/commit.ts b/src/commands/commit.ts old mode 100644 new mode 100755 diff --git a/src/commands/compact/compact.ts b/src/commands/compact/compact.ts old mode 100644 new mode 100755 diff --git a/src/commands/compact/index.ts b/src/commands/compact/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/compact/src/bootstrap/state.ts b/src/commands/compact/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/commands/config/config.tsx b/src/commands/config/config.tsx old mode 100644 new mode 100755 diff --git a/src/commands/config/index.ts b/src/commands/config/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/context/context-noninteractive.ts b/src/commands/context/context-noninteractive.ts old mode 100644 new mode 100755 diff --git a/src/commands/context/context.tsx b/src/commands/context/context.tsx old mode 100644 new mode 100755 diff --git a/src/commands/context/index.ts b/src/commands/context/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/copy/copy.tsx b/src/commands/copy/copy.tsx old mode 100644 new mode 100755 diff --git a/src/commands/copy/index.ts b/src/commands/copy/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/cost/cost.ts b/src/commands/cost/cost.ts old mode 100644 new mode 100755 diff --git a/src/commands/cost/index.ts b/src/commands/cost/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/createMovedToPluginCommand.ts b/src/commands/createMovedToPluginCommand.ts old mode 100644 new mode 100755 diff --git a/src/commands/ctx_viz/index.js b/src/commands/ctx_viz/index.js old mode 100644 new mode 100755 diff --git a/src/commands/debug-tool-call/index.js b/src/commands/debug-tool-call/index.js old mode 100644 new mode 100755 diff --git a/src/commands/desktop/desktop.tsx b/src/commands/desktop/desktop.tsx old mode 100644 new mode 100755 diff --git a/src/commands/desktop/index.ts b/src/commands/desktop/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/diff/diff.tsx b/src/commands/diff/diff.tsx old mode 100644 new mode 100755 diff --git a/src/commands/diff/index.ts b/src/commands/diff/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/doctor/doctor.tsx b/src/commands/doctor/doctor.tsx old mode 100644 new mode 100755 diff --git a/src/commands/doctor/index.ts b/src/commands/doctor/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/effort/effort.tsx b/src/commands/effort/effort.tsx old mode 100644 new mode 100755 diff --git a/src/commands/effort/index.ts b/src/commands/effort/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/env/index.js b/src/commands/env/index.js old mode 100644 new mode 100755 diff --git a/src/commands/exit/exit.tsx b/src/commands/exit/exit.tsx old mode 100644 new mode 100755 diff --git a/src/commands/exit/index.ts b/src/commands/exit/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/export/export.tsx b/src/commands/export/export.tsx old mode 100644 new mode 100755 diff --git a/src/commands/export/index.ts b/src/commands/export/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/extra-usage/extra-usage-core.ts b/src/commands/extra-usage/extra-usage-core.ts old mode 100644 new mode 100755 diff --git a/src/commands/extra-usage/extra-usage-noninteractive.ts b/src/commands/extra-usage/extra-usage-noninteractive.ts old mode 100644 new mode 100755 diff --git a/src/commands/extra-usage/extra-usage.tsx b/src/commands/extra-usage/extra-usage.tsx old mode 100644 new mode 100755 diff --git a/src/commands/extra-usage/index.ts b/src/commands/extra-usage/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/fast/fast.tsx b/src/commands/fast/fast.tsx old mode 100644 new mode 100755 diff --git a/src/commands/fast/index.ts b/src/commands/fast/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/feedback/feedback.tsx b/src/commands/feedback/feedback.tsx old mode 100644 new mode 100755 diff --git a/src/commands/feedback/index.ts b/src/commands/feedback/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/files/files.ts b/src/commands/files/files.ts old mode 100644 new mode 100755 diff --git a/src/commands/files/index.ts b/src/commands/files/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/fork/index.ts b/src/commands/fork/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/good-claude/index.js b/src/commands/good-claude/index.js old mode 100644 new mode 100755 diff --git a/src/commands/heapdump/heapdump.ts b/src/commands/heapdump/heapdump.ts old mode 100644 new mode 100755 diff --git a/src/commands/heapdump/index.ts b/src/commands/heapdump/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/help/help.tsx b/src/commands/help/help.tsx old mode 100644 new mode 100755 diff --git a/src/commands/help/index.ts b/src/commands/help/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/hooks/hooks.tsx b/src/commands/hooks/hooks.tsx old mode 100644 new mode 100755 diff --git a/src/commands/hooks/index.ts b/src/commands/hooks/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/ide/ide.tsx b/src/commands/ide/ide.tsx old mode 100644 new mode 100755 index 60b1618..b636a37 --- a/src/commands/ide/ide.tsx +++ b/src/commands/ide/ide.tsx @@ -128,7 +128,7 @@ function IDEScreen(t0) { } let t5; if ($[17] !== availableIDEs.length) { - t5 = availableIDEs.length === 0 && {isSupportedJetBrainsTerminal() ? "No available IDEs detected. Please install the plugin and restart your IDE:\nhttps://docs.claude.com/s/claude-code-jetbrains" : "No available IDEs detected. Make sure your IDE has the Claude Code extension or plugin installed and is running."}; + t5 = availableIDEs.length === 0 && {isSupportedJetBrainsTerminal() ? "No available IDEs detected. Please install the plugin and restart your IDE:\nhttps://docs.claude.com/s/claude-code-jetbrains" : "No available IDEs detected. Make sure your IDE has the 嘉陵江-code extension or plugin installed and is running."}; $[17] = availableIDEs.length; $[18] = t5; } else { diff --git a/src/commands/ide/index.ts b/src/commands/ide/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/ide/src/services/analytics/index.ts b/src/commands/ide/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/init-verifiers.ts b/src/commands/init-verifiers.ts old mode 100644 new mode 100755 diff --git a/src/commands/init.ts b/src/commands/init.ts old mode 100644 new mode 100755 diff --git a/src/commands/insights.ts b/src/commands/insights.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/ApiKeyStep.tsx b/src/commands/install-github-app/ApiKeyStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/CheckExistingSecretStep.tsx b/src/commands/install-github-app/CheckExistingSecretStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/CheckGitHubStep.tsx b/src/commands/install-github-app/CheckGitHubStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/ChooseRepoStep.tsx b/src/commands/install-github-app/ChooseRepoStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/CreatingStep.tsx b/src/commands/install-github-app/CreatingStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/ErrorStep.tsx b/src/commands/install-github-app/ErrorStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/ExistingWorkflowStep.tsx b/src/commands/install-github-app/ExistingWorkflowStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/InstallAppStep.tsx b/src/commands/install-github-app/InstallAppStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/OAuthFlowStep.tsx b/src/commands/install-github-app/OAuthFlowStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/SuccessStep.tsx b/src/commands/install-github-app/SuccessStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/WarningsStep.tsx b/src/commands/install-github-app/WarningsStep.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/index.ts b/src/commands/install-github-app/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/install-github-app.tsx b/src/commands/install-github-app/install-github-app.tsx old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/setupGitHubActions.ts b/src/commands/install-github-app/setupGitHubActions.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/src/components/CustomSelect/index.ts b/src/commands/install-github-app/src/components/CustomSelect/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/src/services/analytics/index.ts b/src/commands/install-github-app/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/src/utils/config.ts b/src/commands/install-github-app/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-github-app/types.ts b/src/commands/install-github-app/types.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-slack-app/index.ts b/src/commands/install-slack-app/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/install-slack-app/install-slack-app.ts b/src/commands/install-slack-app/install-slack-app.ts old mode 100644 new mode 100755 diff --git a/src/commands/install.tsx b/src/commands/install.tsx old mode 100644 new mode 100755 diff --git a/src/commands/issue/index.js b/src/commands/issue/index.js old mode 100644 new mode 100755 diff --git a/src/commands/keybindings/index.ts b/src/commands/keybindings/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/keybindings/keybindings.ts b/src/commands/keybindings/keybindings.ts old mode 100644 new mode 100755 diff --git a/src/commands/login/index.ts b/src/commands/login/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/login/login.tsx b/src/commands/login/login.tsx old mode 100644 new mode 100755 diff --git a/src/commands/logout/index.ts b/src/commands/logout/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/logout/logout.tsx b/src/commands/logout/logout.tsx old mode 100644 new mode 100755 diff --git a/src/commands/mcp/addCommand.ts b/src/commands/mcp/addCommand.ts old mode 100644 new mode 100755 diff --git a/src/commands/mcp/index.ts b/src/commands/mcp/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/mcp/mcp.tsx b/src/commands/mcp/mcp.tsx old mode 100644 new mode 100755 diff --git a/src/commands/mcp/xaaIdpCommand.ts b/src/commands/mcp/xaaIdpCommand.ts old mode 100644 new mode 100755 diff --git a/src/commands/memory/index.ts b/src/commands/memory/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/memory/memory.tsx b/src/commands/memory/memory.tsx old mode 100644 new mode 100755 diff --git a/src/commands/mobile/index.ts b/src/commands/mobile/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/mobile/mobile.tsx b/src/commands/mobile/mobile.tsx old mode 100644 new mode 100755 diff --git a/src/commands/mock-limits/index.js b/src/commands/mock-limits/index.js old mode 100644 new mode 100755 diff --git a/src/commands/model/index.ts b/src/commands/model/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/model/model.tsx b/src/commands/model/model.tsx old mode 100644 new mode 100755 diff --git a/src/commands/oauth-refresh/index.js b/src/commands/oauth-refresh/index.js old mode 100644 new mode 100755 diff --git a/src/commands/onboarding/index.js b/src/commands/onboarding/index.js old mode 100644 new mode 100755 diff --git a/src/commands/output-style/index.ts b/src/commands/output-style/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/output-style/output-style.tsx b/src/commands/output-style/output-style.tsx old mode 100644 new mode 100755 diff --git a/src/commands/passes/index.ts b/src/commands/passes/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/passes/passes.tsx b/src/commands/passes/passes.tsx old mode 100644 new mode 100755 diff --git a/src/commands/peers/index.ts b/src/commands/peers/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/perf-issue/index.js b/src/commands/perf-issue/index.js old mode 100644 new mode 100755 diff --git a/src/commands/permissions/index.ts b/src/commands/permissions/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/permissions/permissions.tsx b/src/commands/permissions/permissions.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plan/index.ts b/src/commands/plan/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/plan/plan.tsx b/src/commands/plan/plan.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/AddMarketplace.tsx b/src/commands/plugin/AddMarketplace.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/BrowseMarketplace.tsx b/src/commands/plugin/BrowseMarketplace.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/DiscoverPlugins.tsx b/src/commands/plugin/DiscoverPlugins.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/ManageMarketplaces.tsx b/src/commands/plugin/ManageMarketplaces.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/ManagePlugins.tsx b/src/commands/plugin/ManagePlugins.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/PluginErrors.tsx b/src/commands/plugin/PluginErrors.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/PluginOptionsDialog.tsx b/src/commands/plugin/PluginOptionsDialog.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/PluginOptionsFlow.tsx b/src/commands/plugin/PluginOptionsFlow.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/PluginSettings.tsx b/src/commands/plugin/PluginSettings.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/PluginTrustWarning.tsx b/src/commands/plugin/PluginTrustWarning.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/UnifiedInstalledCell.tsx b/src/commands/plugin/UnifiedInstalledCell.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/ValidatePlugin.tsx b/src/commands/plugin/ValidatePlugin.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/index.tsx b/src/commands/plugin/index.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/parseArgs.ts b/src/commands/plugin/parseArgs.ts old mode 100644 new mode 100755 diff --git a/src/commands/plugin/plugin.tsx b/src/commands/plugin/plugin.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/pluginDetailsHelpers.tsx b/src/commands/plugin/pluginDetailsHelpers.tsx old mode 100644 new mode 100755 diff --git a/src/commands/plugin/src/services/analytics/index.ts b/src/commands/plugin/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/plugin/types.ts b/src/commands/plugin/types.ts old mode 100644 new mode 100755 diff --git a/src/commands/plugin/unifiedTypes.ts b/src/commands/plugin/unifiedTypes.ts old mode 100644 new mode 100755 diff --git a/src/commands/plugin/usePagination.ts b/src/commands/plugin/usePagination.ts old mode 100644 new mode 100755 diff --git a/src/commands/pr_comments/index.ts b/src/commands/pr_comments/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/privacy-settings/index.ts b/src/commands/privacy-settings/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/privacy-settings/privacy-settings.tsx b/src/commands/privacy-settings/privacy-settings.tsx old mode 100644 new mode 100755 diff --git a/src/commands/rate-limit-options/index.ts b/src/commands/rate-limit-options/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/rate-limit-options/rate-limit-options.tsx b/src/commands/rate-limit-options/rate-limit-options.tsx old mode 100644 new mode 100755 diff --git a/src/commands/release-notes/index.ts b/src/commands/release-notes/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/release-notes/release-notes.ts b/src/commands/release-notes/release-notes.ts old mode 100644 new mode 100755 diff --git a/src/commands/reload-plugins/index.ts b/src/commands/reload-plugins/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/reload-plugins/reload-plugins.ts b/src/commands/reload-plugins/reload-plugins.ts old mode 100644 new mode 100755 diff --git a/src/commands/remote-env/index.ts b/src/commands/remote-env/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/remote-env/remote-env.tsx b/src/commands/remote-env/remote-env.tsx old mode 100644 new mode 100755 diff --git a/src/commands/remote-setup/api.ts b/src/commands/remote-setup/api.ts old mode 100644 new mode 100755 diff --git a/src/commands/remote-setup/index.ts b/src/commands/remote-setup/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/remote-setup/remote-setup.tsx b/src/commands/remote-setup/remote-setup.tsx old mode 100644 new mode 100755 diff --git a/src/commands/rename/generateSessionName.ts b/src/commands/rename/generateSessionName.ts old mode 100644 new mode 100755 diff --git a/src/commands/rename/index.ts b/src/commands/rename/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/rename/rename.ts b/src/commands/rename/rename.ts old mode 100644 new mode 100755 diff --git a/src/commands/reset-limits/index.js b/src/commands/reset-limits/index.js old mode 100644 new mode 100755 diff --git a/src/commands/reset-limits/index.ts b/src/commands/reset-limits/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/resume/index.ts b/src/commands/resume/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/resume/resume.tsx b/src/commands/resume/resume.tsx old mode 100644 new mode 100755 diff --git a/src/commands/review.ts b/src/commands/review.ts old mode 100644 new mode 100755 diff --git a/src/commands/review/UltrareviewOverageDialog.tsx b/src/commands/review/UltrareviewOverageDialog.tsx old mode 100644 new mode 100755 diff --git a/src/commands/review/reviewRemote.ts b/src/commands/review/reviewRemote.ts old mode 100644 new mode 100755 diff --git a/src/commands/review/ultrareviewCommand.tsx b/src/commands/review/ultrareviewCommand.tsx old mode 100644 new mode 100755 diff --git a/src/commands/review/ultrareviewEnabled.ts b/src/commands/review/ultrareviewEnabled.ts old mode 100644 new mode 100755 diff --git a/src/commands/rewind/index.ts b/src/commands/rewind/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/rewind/rewind.ts b/src/commands/rewind/rewind.ts old mode 100644 new mode 100755 diff --git a/src/commands/sandbox-toggle/index.ts b/src/commands/sandbox-toggle/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/sandbox-toggle/sandbox-toggle.tsx b/src/commands/sandbox-toggle/sandbox-toggle.tsx old mode 100644 new mode 100755 diff --git a/src/commands/security-review.ts b/src/commands/security-review.ts old mode 100644 new mode 100755 diff --git a/src/commands/session/index.ts b/src/commands/session/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/session/session.tsx b/src/commands/session/session.tsx old mode 100644 new mode 100755 diff --git a/src/commands/share/index.js b/src/commands/share/index.js old mode 100644 new mode 100755 diff --git a/src/commands/skills/index.ts b/src/commands/skills/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/skills/skills.tsx b/src/commands/skills/skills.tsx old mode 100644 new mode 100755 diff --git a/src/commands/src/commands.ts b/src/commands/src/commands.ts old mode 100644 new mode 100755 diff --git a/src/commands/src/services/analytics/index.ts b/src/commands/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/stats/index.ts b/src/commands/stats/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/stats/stats.tsx b/src/commands/stats/stats.tsx old mode 100644 new mode 100755 diff --git a/src/commands/status/index.ts b/src/commands/status/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/status/status.tsx b/src/commands/status/status.tsx old mode 100644 new mode 100755 diff --git a/src/commands/statusline.tsx b/src/commands/statusline.tsx old mode 100644 new mode 100755 diff --git a/src/commands/stickers/index.ts b/src/commands/stickers/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/stickers/stickers.ts b/src/commands/stickers/stickers.ts old mode 100644 new mode 100755 diff --git a/src/commands/summary/index.js b/src/commands/summary/index.js old mode 100644 new mode 100755 diff --git a/src/commands/tag/index.ts b/src/commands/tag/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/tag/tag.tsx b/src/commands/tag/tag.tsx old mode 100644 new mode 100755 diff --git a/src/commands/tasks/index.ts b/src/commands/tasks/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/tasks/tasks.tsx b/src/commands/tasks/tasks.tsx old mode 100644 new mode 100755 diff --git a/src/commands/teleport/index.js b/src/commands/teleport/index.js old mode 100644 new mode 100755 diff --git a/src/commands/terminalSetup/index.ts b/src/commands/terminalSetup/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/terminalSetup/src/utils/theme.ts b/src/commands/terminalSetup/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/commands/terminalSetup/terminalSetup.tsx b/src/commands/terminalSetup/terminalSetup.tsx old mode 100644 new mode 100755 diff --git a/src/commands/theme/index.ts b/src/commands/theme/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/theme/theme.tsx b/src/commands/theme/theme.tsx old mode 100644 new mode 100755 diff --git a/src/commands/thinkback-play/index.ts b/src/commands/thinkback-play/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/thinkback-play/thinkback-play.ts b/src/commands/thinkback-play/thinkback-play.ts old mode 100644 new mode 100755 diff --git a/src/commands/thinkback/index.ts b/src/commands/thinkback/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/thinkback/thinkback.tsx b/src/commands/thinkback/thinkback.tsx old mode 100644 new mode 100755 index a8bb1ee..5e75215 --- a/src/commands/thinkback/thinkback.tsx +++ b/src/commands/thinkback/thinkback.tsx @@ -372,7 +372,7 @@ function ThinkbackMenu(t0) { } let t7; if ($[16] !== handleCancel || $[17] !== t6) { - t7 = {t6}; + t7 = {t6}; $[16] = handleCancel; $[17] = t6; $[18] = t7; diff --git a/src/commands/ultraplan.tsx b/src/commands/ultraplan.tsx old mode 100644 new mode 100755 diff --git a/src/commands/upgrade/index.ts b/src/commands/upgrade/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/upgrade/upgrade.tsx b/src/commands/upgrade/upgrade.tsx old mode 100644 new mode 100755 diff --git a/src/commands/usage/index.ts b/src/commands/usage/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/usage/usage.tsx b/src/commands/usage/usage.tsx old mode 100644 new mode 100755 diff --git a/src/commands/version.ts b/src/commands/version.ts old mode 100644 new mode 100755 diff --git a/src/commands/vim/index.ts b/src/commands/vim/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/vim/vim.ts b/src/commands/vim/vim.ts old mode 100644 new mode 100755 diff --git a/src/commands/voice/index.ts b/src/commands/voice/index.ts old mode 100644 new mode 100755 diff --git a/src/commands/voice/voice.ts b/src/commands/voice/voice.ts old mode 100644 new mode 100755 diff --git a/src/commands/workflows/index.ts b/src/commands/workflows/index.ts old mode 100644 new mode 100755 diff --git a/src/components/AgentProgressLine.tsx b/src/components/AgentProgressLine.tsx old mode 100644 new mode 100755 diff --git a/src/components/App.tsx b/src/components/App.tsx old mode 100644 new mode 100755 diff --git a/src/components/ApproveApiKey.tsx b/src/components/ApproveApiKey.tsx old mode 100644 new mode 100755 diff --git a/src/components/AutoModeOptInDialog.tsx b/src/components/AutoModeOptInDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/AutoUpdater.tsx b/src/components/AutoUpdater.tsx old mode 100644 new mode 100755 diff --git a/src/components/AutoUpdaterWrapper.tsx b/src/components/AutoUpdaterWrapper.tsx old mode 100644 new mode 100755 diff --git a/src/components/AwsAuthStatusBox.tsx b/src/components/AwsAuthStatusBox.tsx old mode 100644 new mode 100755 diff --git a/src/components/BaseTextInput.tsx b/src/components/BaseTextInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/BashModeProgress.tsx b/src/components/BashModeProgress.tsx old mode 100644 new mode 100755 diff --git a/src/components/BridgeDialog.tsx b/src/components/BridgeDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/BypassPermissionsModeDialog.tsx b/src/components/BypassPermissionsModeDialog.tsx old mode 100644 new mode 100755 index b3f8b19..94eef03 --- a/src/components/BypassPermissionsModeDialog.tsx +++ b/src/components/BypassPermissionsModeDialog.tsx @@ -70,7 +70,7 @@ export function BypassPermissionsModeDialog(t0) { } let t5; if ($[5] !== onChange) { - t5 = {t3} onChange(value_0 as 'accept' | 'decline')} />; $[5] = onChange; $[6] = t5; } else { diff --git a/src/components/ChannelDowngradeDialog.tsx b/src/components/ChannelDowngradeDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ClaudeCodeHint/PluginHintMenu.tsx b/src/components/ClaudeCodeHint/PluginHintMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ClaudeInChromeOnboarding.tsx b/src/components/ClaudeInChromeOnboarding.tsx old mode 100644 new mode 100755 diff --git a/src/components/ClaudeMdExternalIncludesDialog.tsx b/src/components/ClaudeMdExternalIncludesDialog.tsx old mode 100644 new mode 100755 index e7b0b93..ad6bbff --- a/src/components/ClaudeMdExternalIncludesDialog.tsx +++ b/src/components/ClaudeMdExternalIncludesDialog.tsx @@ -74,7 +74,7 @@ export function ClaudeMdExternalIncludesDialog(t0) { } let t8; if ($[8] === Symbol.for("react.memo_cache_sentinel")) { - t8 = Important: Only use Claude Code with files you trust. Accessing untrusted files may pose security risks{" "}{" "}; + t8 = Important: Only use 嘉陵江-code with files you trust. Accessing untrusted files may pose security risks{" "}{" "}; $[8] = t8; } else { t8 = $[8]; diff --git a/src/components/ClickableImageRef.tsx b/src/components/ClickableImageRef.tsx old mode 100644 new mode 100755 diff --git a/src/components/CompactSummary.tsx b/src/components/CompactSummary.tsx old mode 100644 new mode 100755 diff --git a/src/components/ConfigurableShortcutHint.tsx b/src/components/ConfigurableShortcutHint.tsx old mode 100644 new mode 100755 diff --git a/src/components/ConsoleOAuthFlow.tsx b/src/components/ConsoleOAuthFlow.tsx old mode 100644 new mode 100755 index 8d5fc12..0e4858e --- a/src/components/ConsoleOAuthFlow.tsx +++ b/src/components/ConsoleOAuthFlow.tsx @@ -364,7 +364,7 @@ function OAuthStatusMessage(t0) { switch (oauthStatus.state) { case "idle": { - const t1 = startingMessage ? startingMessage : "Claude Code can be used with your Claude subscription or billed based on API usage through your Console account."; + const t1 = startingMessage ? startingMessage : "嘉陵江-code can be used with your Claude subscription or billed based on API usage through your Console account."; let t2; if ($[0] !== t1) { t2 = {t1}; diff --git a/src/components/ContextSuggestions.tsx b/src/components/ContextSuggestions.tsx old mode 100644 new mode 100755 diff --git a/src/components/ContextVisualization.tsx b/src/components/ContextVisualization.tsx old mode 100644 new mode 100755 diff --git a/src/components/CoordinatorAgentStatus.tsx b/src/components/CoordinatorAgentStatus.tsx old mode 100644 new mode 100755 diff --git a/src/components/CostThresholdDialog.tsx b/src/components/CostThresholdDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/CtrlOToExpand.tsx b/src/components/CtrlOToExpand.tsx old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/SelectMulti.tsx b/src/components/CustomSelect/SelectMulti.tsx old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/index.ts b/src/components/CustomSelect/index.ts old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/option-map.ts b/src/components/CustomSelect/option-map.ts old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/select-input-option.tsx b/src/components/CustomSelect/select-input-option.tsx old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/select-option.tsx b/src/components/CustomSelect/select-option.tsx old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/select.tsx b/src/components/CustomSelect/select.tsx old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/use-multi-select-state.ts b/src/components/CustomSelect/use-multi-select-state.ts old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/use-select-input.ts b/src/components/CustomSelect/use-select-input.ts old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/use-select-navigation.ts b/src/components/CustomSelect/use-select-navigation.ts old mode 100644 new mode 100755 diff --git a/src/components/CustomSelect/use-select-state.ts b/src/components/CustomSelect/use-select-state.ts old mode 100644 new mode 100755 diff --git a/src/components/DesktopHandoff.tsx b/src/components/DesktopHandoff.tsx old mode 100644 new mode 100755 diff --git a/src/components/DesktopUpsell/DesktopUpsellStartup.tsx b/src/components/DesktopUpsell/DesktopUpsellStartup.tsx old mode 100644 new mode 100755 index 1a48bac..590ac7c --- a/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +++ b/src/components/DesktopUpsell/DesktopUpsellStartup.tsx @@ -90,7 +90,7 @@ export function DesktopUpsellStartup(t0) { let t3; if ($[5] === Symbol.for("react.memo_cache_sentinel")) { t3 = { - label: "Open in Claude Code Desktop", + label: "Open in 嘉陵江-code Desktop", value: "try" as const }; $[5] = t3; @@ -120,7 +120,7 @@ export function DesktopUpsellStartup(t0) { const options = t5; let t6; if ($[8] === Symbol.for("react.memo_cache_sentinel")) { - t6 = Same Claude Code with visual diffs, live app preview, parallel sessions, and more.; + t6 = Same 嘉陵江-code with visual diffs, live app preview, parallel sessions, and more.; $[8] = t6; } else { t6 = $[8]; diff --git a/src/components/DevBar.tsx b/src/components/DevBar.tsx old mode 100644 new mode 100755 diff --git a/src/components/DevChannelsDialog.tsx b/src/components/DevChannelsDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/DiagnosticsDisplay.tsx b/src/components/DiagnosticsDisplay.tsx old mode 100644 new mode 100755 diff --git a/src/components/EffortCallout.tsx b/src/components/EffortCallout.tsx old mode 100644 new mode 100755 diff --git a/src/components/EffortIndicator.ts b/src/components/EffortIndicator.ts old mode 100644 new mode 100755 diff --git a/src/components/ExitFlow.tsx b/src/components/ExitFlow.tsx old mode 100644 new mode 100755 diff --git a/src/components/ExportDialog.tsx b/src/components/ExportDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/FallbackToolUseErrorMessage.tsx b/src/components/FallbackToolUseErrorMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/FallbackToolUseRejectedMessage.tsx b/src/components/FallbackToolUseRejectedMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/FastIcon.tsx b/src/components/FastIcon.tsx old mode 100644 new mode 100755 diff --git a/src/components/Feedback.tsx b/src/components/Feedback.tsx old mode 100644 new mode 100755 index d03bdbb..5a9304e --- a/src/components/Feedback.tsx +++ b/src/components/Feedback.tsx @@ -450,7 +450,7 @@ export function createGitHubIssueUrl(feedbackId: string, title: string, descript async function generateTitle(description: string, abortSignal: AbortSignal): Promise { try { const response = await queryHaiku({ - systemPrompt: asSystemPrompt(['Generate a concise, technical issue title (max 80 chars) for a public GitHub issue based on this bug report for Claude Code.', 'Claude Code is an agentic coding CLI based on the Anthropic API.', 'The title should:', '- Include the type of issue [Bug] or [Feature Request] as the first thing in the title', '- Be concise, specific and descriptive of the actual problem', '- Use technical terminology appropriate for a software issue', '- For error messages, extract the key error (e.g., "Missing Tool Result Block" rather than the full message)', '- Be direct and clear for developers to understand the problem', '- If you cannot determine a clear issue, use "Bug Report: [brief description]"', '- Any LLM API errors are from the Anthropic API, not from any other model provider', 'Your response will be directly used as the title of the Github issue, and as such should not contain any other commentary or explaination', 'Examples of good titles include: "[Bug] Auto-Compact triggers to soon", "[Bug] Anthropic API Error: Missing Tool Result Block", "[Bug] Error: Invalid Model Name for Opus"']), + systemPrompt: asSystemPrompt(['Generate a concise, technical issue title (max 80 chars) for a public GitHub issue based on this bug report for 嘉陵江-code.', '嘉陵江-code is an agentic coding CLI.', 'The title should:', '- Include the type of issue [Bug] or [Feature Request] as the first thing in the title', '- Be concise, specific and descriptive of the actual problem', '- Use technical terminology appropriate for a software issue', '- For error messages, extract the key error (e.g., "Missing Tool Result Block" rather than the full message)', '- Be direct and clear for developers to understand the problem', '- If you cannot determine a clear issue, use "Bug Report: [brief description]"', '- Any LLM API errors are from the Anthropic API, not from any other model provider', 'Your response will be directly used as the title of the Github issue, and as such should not contain any other commentary or explaination', 'Examples of good titles include: "[Bug] Auto-Compact triggers to soon", "[Bug] Anthropic API Error: Missing Tool Result Block", "[Bug] Error: Invalid Model Name for Opus"']), userPrompt: description, signal: abortSignal, options: { diff --git a/src/components/FeedbackSurvey/FeedbackSurvey.tsx b/src/components/FeedbackSurvey/FeedbackSurvey.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/FeedbackSurveyView.tsx b/src/components/FeedbackSurvey/FeedbackSurveyView.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx b/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/src/hooks/useDynamicConfig.ts b/src/components/FeedbackSurvey/src/hooks/useDynamicConfig.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/src/services/analytics/config.ts b/src/components/FeedbackSurvey/src/services/analytics/config.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/src/services/analytics/growthbook.ts b/src/components/FeedbackSurvey/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/src/services/analytics/index.ts b/src/components/FeedbackSurvey/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/submitTranscriptShare.ts b/src/components/FeedbackSurvey/submitTranscriptShare.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/useDebouncedDigitInput.ts b/src/components/FeedbackSurvey/useDebouncedDigitInput.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/useFeedbackSurvey.tsx b/src/components/FeedbackSurvey/useFeedbackSurvey.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/useFrustrationDetection.ts b/src/components/FeedbackSurvey/useFrustrationDetection.ts old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/useMemorySurvey.tsx b/src/components/FeedbackSurvey/useMemorySurvey.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/usePostCompactSurvey.tsx b/src/components/FeedbackSurvey/usePostCompactSurvey.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/useSurveyState.tsx b/src/components/FeedbackSurvey/useSurveyState.tsx old mode 100644 new mode 100755 diff --git a/src/components/FeedbackSurvey/utils.ts b/src/components/FeedbackSurvey/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/FileEditToolDiff.tsx b/src/components/FileEditToolDiff.tsx old mode 100644 new mode 100755 diff --git a/src/components/FileEditToolUpdatedMessage.tsx b/src/components/FileEditToolUpdatedMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/FileEditToolUseRejectedMessage.tsx b/src/components/FileEditToolUseRejectedMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/FilePathLink.tsx b/src/components/FilePathLink.tsx old mode 100644 new mode 100755 diff --git a/src/components/FullscreenLayout.tsx b/src/components/FullscreenLayout.tsx old mode 100644 new mode 100755 diff --git a/src/components/GlobalSearchDialog.tsx b/src/components/GlobalSearchDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/HelpV2/Commands.tsx b/src/components/HelpV2/Commands.tsx old mode 100644 new mode 100755 diff --git a/src/components/HelpV2/General.tsx b/src/components/HelpV2/General.tsx old mode 100644 new mode 100755 diff --git a/src/components/HelpV2/HelpV2.tsx b/src/components/HelpV2/HelpV2.tsx old mode 100644 new mode 100755 index e81421f..b6051b4 --- a/src/components/HelpV2/HelpV2.tsx +++ b/src/components/HelpV2/HelpV2.tsx @@ -138,7 +138,7 @@ export function HelpV2(t0) { const t5 = insideModal ? undefined : maxHeight; let t6; if ($[31] !== tabs) { - t6 = {tabs}; + t6 = {tabs}; $[31] = tabs; $[32] = t6; } else { diff --git a/src/components/HelpV2/src/hooks/useExitOnCtrlCDWithKeybindings.ts b/src/components/HelpV2/src/hooks/useExitOnCtrlCDWithKeybindings.ts old mode 100644 new mode 100755 diff --git a/src/components/HelpV2/src/keybindings/useShortcutDisplay.ts b/src/components/HelpV2/src/keybindings/useShortcutDisplay.ts old mode 100644 new mode 100755 diff --git a/src/components/HighlightedCode.tsx b/src/components/HighlightedCode.tsx old mode 100644 new mode 100755 diff --git a/src/components/HighlightedCode/Fallback.tsx b/src/components/HighlightedCode/Fallback.tsx old mode 100644 new mode 100755 diff --git a/src/components/HistorySearchDialog.tsx b/src/components/HistorySearchDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/IdeAutoConnectDialog.tsx b/src/components/IdeAutoConnectDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/IdeOnboardingDialog.tsx b/src/components/IdeOnboardingDialog.tsx old mode 100644 new mode 100755 index e47120b..0c08836 --- a/src/components/IdeOnboardingDialog.tsx +++ b/src/components/IdeOnboardingDialog.tsx @@ -70,7 +70,7 @@ export function IdeOnboardingDialog(t0) { } let t6; if ($[8] !== ideName) { - t6 = <>{t5}Welcome to Claude Code for {ideName}; + t6 = <>{t5}Welcome to 嘉陵江-code for {ideName}; $[8] = ideName; $[9] = t6; } else { diff --git a/src/components/IdeStatusIndicator.tsx b/src/components/IdeStatusIndicator.tsx old mode 100644 new mode 100755 diff --git a/src/components/IdleReturnDialog.tsx b/src/components/IdleReturnDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/InterruptedByUser.tsx b/src/components/InterruptedByUser.tsx old mode 100644 new mode 100755 diff --git a/src/components/InvalidConfigDialog.tsx b/src/components/InvalidConfigDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/InvalidSettingsDialog.tsx b/src/components/InvalidSettingsDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/KeybindingWarnings.tsx b/src/components/KeybindingWarnings.tsx old mode 100644 new mode 100755 diff --git a/src/components/LanguagePicker.tsx b/src/components/LanguagePicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogSelector.tsx b/src/components/LogSelector.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/AnimatedAsterisk.tsx b/src/components/LogoV2/AnimatedAsterisk.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/AnimatedClawd.tsx b/src/components/LogoV2/AnimatedClawd.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/ChannelsNotice.tsx b/src/components/LogoV2/ChannelsNotice.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/Clawd.tsx b/src/components/LogoV2/Clawd.tsx old mode 100644 new mode 100755 index ba48bf8..0f596e5 --- a/src/components/LogoV2/Clawd.tsx +++ b/src/components/LogoV2/Clawd.tsx @@ -2,76 +2,16 @@ import { c as _c } from "react/compiler-runtime"; import * as React from 'react'; import { Box, Text } from '../../ink.js'; import { env } from '../../utils/env.js'; -export type ClawdPose = 'default' | 'arms-up' // both arms raised (used during jump) -| 'look-left' // both pupils shifted left -| 'look-right'; // both pupils shifted right +export type ClawdPose = 'default' | 'arms-up' | 'look-left' | 'look-right'; type Props = { pose?: ClawdPose; }; -// Standard-terminal pose fragments. Each row is split into segments so we can -// vary only the parts that change (eyes, arms) while keeping the body/bg spans -// stable. All poses end up 9 cols wide. -// -// arms-up: the row-2 arm shapes (▝▜ / ▛▘) move to row 1 as their -// bottom-heavy mirrors (▗▟ / ▙▖) — same silhouette, one row higher. -// -// look-* use top-quadrant eye chars (▙/▟) so both eyes change from the -// default (▛/▜, bottom pupils) — otherwise only one eye would appear to move. -type Segments = { - /** row 1 left (no bg): optional raised arm + side */ - r1L: string; - /** row 1 eyes (with bg): left-eye, forehead, right-eye */ - r1E: string; - /** row 1 right (no bg): side + optional raised arm */ - r1R: string; - /** row 2 left (no bg): arm + body curve */ - r2L: string; - /** row 2 right (no bg): body curve + arm */ - r2R: string; -}; -const POSES: Record = { - default: { - r1L: ' ▐', - r1E: '▛███▜', - r1R: '▌', - r2L: '▝▜', - r2R: '▛▘' - }, - 'look-left': { - r1L: ' ▐', - r1E: '▟███▟', - r1R: '▌', - r2L: '▝▜', - r2R: '▛▘' - }, - 'look-right': { - r1L: ' ▐', - r1E: '▙███▙', - r1R: '▌', - r2L: '▝▜', - r2R: '▛▘' - }, - 'arms-up': { - r1L: '▗▟', - r1E: '▛███▜', - r1R: '▙▖', - r2L: ' ▜', - r2R: '▛ ' - } -}; - -// Apple Terminal uses a bg-fill trick (see below), so only eye poses make -// sense. Arm poses fall back to default. -const APPLE_EYES: Record = { - default: ' ▗ ▖ ', - 'look-left': ' ▘ ▘ ', - 'look-right': ' ▝ ▝ ', - 'arms-up': ' ▗ ▖ ' -}; +// 嘉陵江 river-themed logo +// All poses show the same logo since it's text-based export function Clawd(t0) { - const $ = _c(26); + const $ = _c(4); let t1; if ($[0] !== t0) { t1 = t0 === undefined ? {} : t0; @@ -80,160 +20,16 @@ export function Clawd(t0) { } else { t1 = $[1]; } - const { - pose: t2 - } = t1; - const pose = t2 === undefined ? "default" : t2; - if (env.terminal === "Apple_Terminal") { - let t3; - if ($[2] !== pose) { - t3 = ; - $[2] = pose; - $[3] = t3; - } else { - t3 = $[3]; - } - return t3; - } - const p = POSES[pose]; - let t3; - if ($[4] !== p.r1L) { - t3 = {p.r1L}; - $[4] = p.r1L; - $[5] = t3; + let t2; + if ($[2] === Symbol.for("react.memo_cache_sentinel")) { + t2 = + {" "}≋≋≋≋≋≋≋{" "} + {" "}嘉陵江{" "} + {" "}≋≋≋≋≋≋≋{" "} + ; + $[2] = t2; } else { - t3 = $[5]; + t2 = $[2]; } - let t4; - if ($[6] !== p.r1E) { - t4 = {p.r1E}; - $[6] = p.r1E; - $[7] = t4; - } else { - t4 = $[7]; - } - let t5; - if ($[8] !== p.r1R) { - t5 = {p.r1R}; - $[8] = p.r1R; - $[9] = t5; - } else { - t5 = $[9]; - } - let t6; - if ($[10] !== t3 || $[11] !== t4 || $[12] !== t5) { - t6 = {t3}{t4}{t5}; - $[10] = t3; - $[11] = t4; - $[12] = t5; - $[13] = t6; - } else { - t6 = $[13]; - } - let t7; - if ($[14] !== p.r2L) { - t7 = {p.r2L}; - $[14] = p.r2L; - $[15] = t7; - } else { - t7 = $[15]; - } - let t8; - if ($[16] === Symbol.for("react.memo_cache_sentinel")) { - t8 = █████; - $[16] = t8; - } else { - t8 = $[16]; - } - let t9; - if ($[17] !== p.r2R) { - t9 = {p.r2R}; - $[17] = p.r2R; - $[18] = t9; - } else { - t9 = $[18]; - } - let t10; - if ($[19] !== t7 || $[20] !== t9) { - t10 = {t7}{t8}{t9}; - $[19] = t7; - $[20] = t9; - $[21] = t10; - } else { - t10 = $[21]; - } - let t11; - if ($[22] === Symbol.for("react.memo_cache_sentinel")) { - t11 = {" "}▘▘ ▝▝{" "}; - $[22] = t11; - } else { - t11 = $[22]; - } - let t12; - if ($[23] !== t10 || $[24] !== t6) { - t12 = {t6}{t10}{t11}; - $[23] = t10; - $[24] = t6; - $[25] = t12; - } else { - t12 = $[25]; - } - return t12; -} -function AppleTerminalClawd(t0) { - const $ = _c(10); - const { - pose - } = t0; - let t1; - if ($[0] === Symbol.for("react.memo_cache_sentinel")) { - t1 = ; - $[0] = t1; - } else { - t1 = $[0]; - } - const t2 = APPLE_EYES[pose]; - let t3; - if ($[1] !== t2) { - t3 = {t2}; - $[1] = t2; - $[2] = t3; - } else { - t3 = $[2]; - } - let t4; - if ($[3] === Symbol.for("react.memo_cache_sentinel")) { - t4 = ; - $[3] = t4; - } else { - t4 = $[3]; - } - let t5; - if ($[4] !== t3) { - t5 = {t1}{t3}{t4}; - $[4] = t3; - $[5] = t5; - } else { - t5 = $[5]; - } - let t6; - let t7; - if ($[6] === Symbol.for("react.memo_cache_sentinel")) { - t6 = {" ".repeat(7)}; - t7 = ▘▘ ▝▝; - $[6] = t6; - $[7] = t7; - } else { - t6 = $[6]; - t7 = $[7]; - } - let t8; - if ($[8] !== t5) { - t8 = {t5}{t6}{t7}; - $[8] = t5; - $[9] = t8; - } else { - t8 = $[9]; - } - return t8; + return t2; } diff --git a/src/components/LogoV2/CondensedLogo.tsx b/src/components/LogoV2/CondensedLogo.tsx old mode 100644 new mode 100755 index 2f2d630..2783c66 --- a/src/components/LogoV2/CondensedLogo.tsx +++ b/src/components/LogoV2/CondensedLogo.tsx @@ -88,7 +88,7 @@ export function CondensedLogo() { } let t5; if ($[8] === Symbol.for("react.memo_cache_sentinel")) { - t5 = Claude Code; + t5 = 嘉陵江-code; $[8] = t5; } else { t5 = $[8]; diff --git a/src/components/LogoV2/EmergencyTip.tsx b/src/components/LogoV2/EmergencyTip.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/Feed.tsx b/src/components/LogoV2/Feed.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/FeedColumn.tsx b/src/components/LogoV2/FeedColumn.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/GuestPassesUpsell.tsx b/src/components/LogoV2/GuestPassesUpsell.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/LogoV2.tsx b/src/components/LogoV2/LogoV2.tsx old mode 100644 new mode 100755 index 3d33598..1ef795c --- a/src/components/LogoV2/LogoV2.tsx +++ b/src/components/LogoV2/LogoV2.tsx @@ -248,8 +248,8 @@ export function LogoV2() { } const layoutMode = getLayoutMode(columns); const userTheme = resolveThemeSetting(getGlobalConfig().theme); - const borderTitle = ` ${color("claude", userTheme)("Claude Code")} ${color("inactive", userTheme)(`v${version}`)} `; - const compactBorderTitle = color("claude", userTheme)(" Claude Code "); + const borderTitle = ` ${color("claude", userTheme)("嘉陵江-code")} ${color("inactive", userTheme)(`v${version}`)} `; + const compactBorderTitle = color("claude", userTheme)(" 嘉陵江-code "); if (layoutMode === "compact") { let welcomeMessage = formatWelcomeMessage(username); if (stringWidth(welcomeMessage) > columns - 4) { diff --git a/src/components/LogoV2/Opus1mMergeNotice.tsx b/src/components/LogoV2/Opus1mMergeNotice.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/OverageCreditUpsell.tsx b/src/components/LogoV2/OverageCreditUpsell.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/VoiceModeNotice.tsx b/src/components/LogoV2/VoiceModeNotice.tsx old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/WelcomeV2.tsx b/src/components/LogoV2/WelcomeV2.tsx old mode 100644 new mode 100755 index 0094ef1..ad7cc3f --- a/src/components/LogoV2/WelcomeV2.tsx +++ b/src/components/LogoV2/WelcomeV2.tsx @@ -9,7 +9,7 @@ export function WelcomeV2() { if (env.terminal === "Apple_Terminal") { let t0; if ($[0] !== theme) { - t0 = ; + t0 = ; $[0] = theme; $[1] = t0; } else { @@ -28,7 +28,7 @@ export function WelcomeV2() { let t7; let t8; if ($[2] === Symbol.for("react.memo_cache_sentinel")) { - t0 = {"Welcome to Claude Code"} v{MACRO.VERSION} ; + t0 = {"Welcome to 嘉陵江-code"} v{MACRO.VERSION} ; t1 = {"\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026"}; t2 = {" "}; t3 = {" "}; @@ -113,7 +113,7 @@ export function WelcomeV2() { let t5; let t6; if ($[18] === Symbol.for("react.memo_cache_sentinel")) { - t0 = {"Welcome to Claude Code"} v{MACRO.VERSION} ; + t0 = {"Welcome to 嘉陵江-code"} v{MACRO.VERSION} ; t1 = {"\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026"}; t2 = {" "}; t3 = {" * \u2588\u2588\u2588\u2588\u2588\u2593\u2593\u2591 "}; diff --git a/src/components/LogoV2/feedConfigs.tsx b/src/components/LogoV2/feedConfigs.tsx old mode 100644 new mode 100755 index 71a5526..05ddbc3 --- a/src/components/LogoV2/feedConfigs.tsx +++ b/src/components/LogoV2/feedConfigs.tsx @@ -39,7 +39,7 @@ export function createWhatsNewFeed(releaseNotes: string[]): FeedConfig { text: note }; }); - const emptyMessage = ("external" as string) === 'ant' ? 'Unable to fetch latest claude-cli-internal commits' : 'Check the Claude Code changelog for updates'; + const emptyMessage = ("external" as string) === 'ant' ? 'Unable to fetch latest claude-cli-internal commits' : 'Check the 嘉陵江-code changelog for updates'; return { title: ("external" as string) === 'ant' ? "What's new [ANT-ONLY: Latest CC commits]" : "What's new", lines, @@ -73,7 +73,7 @@ export function createProjectOnboardingFeed(steps: Step[]): FeedConfig { } export function createGuestPassesFeed(): FeedConfig { const reward = getCachedReferrerReward(); - const subtitle = reward ? `Share Claude Code and earn ${formatCreditAmount(reward)} of extra usage` : 'Share Claude Code with friends'; + const subtitle = reward ? `Share 嘉陵江-code and earn ${formatCreditAmount(reward)} of extra usage` : 'Share 嘉陵江-code with friends'; return { title: '3 guest passes', lines: [], diff --git a/src/components/LogoV2/src/ink.ts b/src/components/LogoV2/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/services/analytics/growthbook.ts b/src/components/LogoV2/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/services/api/dumpPrompts.ts b/src/components/LogoV2/src/services/api/dumpPrompts.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/config.ts b/src/components/LogoV2/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/debug.ts b/src/components/LogoV2/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/envUtils.ts b/src/components/LogoV2/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/sandbox/sandbox-adapter.ts b/src/components/LogoV2/src/utils/sandbox/sandbox-adapter.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/settings/settings.ts b/src/components/LogoV2/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/startupProfiler.ts b/src/components/LogoV2/src/utils/startupProfiler.ts old mode 100644 new mode 100755 diff --git a/src/components/LogoV2/src/utils/systemTheme.ts b/src/components/LogoV2/src/utils/systemTheme.ts old mode 100644 new mode 100755 diff --git a/src/components/LspRecommendation/LspRecommendationMenu.tsx b/src/components/LspRecommendation/LspRecommendationMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/MCPServerApprovalDialog.tsx b/src/components/MCPServerApprovalDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/MCPServerDesktopImportDialog.tsx b/src/components/MCPServerDesktopImportDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/MCPServerDialogCopy.tsx b/src/components/MCPServerDialogCopy.tsx old mode 100644 new mode 100755 diff --git a/src/components/MCPServerMultiselectDialog.tsx b/src/components/MCPServerMultiselectDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx b/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ManagedSettingsSecurityDialog/utils.ts b/src/components/ManagedSettingsSecurityDialog/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/Markdown.tsx b/src/components/Markdown.tsx old mode 100644 new mode 100755 diff --git a/src/components/MarkdownTable.tsx b/src/components/MarkdownTable.tsx old mode 100644 new mode 100755 diff --git a/src/components/MemoryUsageIndicator.tsx b/src/components/MemoryUsageIndicator.tsx old mode 100644 new mode 100755 diff --git a/src/components/Message.tsx b/src/components/Message.tsx old mode 100644 new mode 100755 diff --git a/src/components/MessageModel.tsx b/src/components/MessageModel.tsx old mode 100644 new mode 100755 diff --git a/src/components/MessageResponse.tsx b/src/components/MessageResponse.tsx old mode 100644 new mode 100755 diff --git a/src/components/MessageRow.tsx b/src/components/MessageRow.tsx old mode 100644 new mode 100755 diff --git a/src/components/MessageSelector.tsx b/src/components/MessageSelector.tsx old mode 100644 new mode 100755 diff --git a/src/components/MessageTimestamp.tsx b/src/components/MessageTimestamp.tsx old mode 100644 new mode 100755 diff --git a/src/components/Messages.tsx b/src/components/Messages.tsx old mode 100644 new mode 100755 diff --git a/src/components/ModelPicker.tsx b/src/components/ModelPicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/NativeAutoUpdater.tsx b/src/components/NativeAutoUpdater.tsx old mode 100644 new mode 100755 diff --git a/src/components/NotebookEditToolUseRejectedMessage.tsx b/src/components/NotebookEditToolUseRejectedMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/OffscreenFreeze.tsx b/src/components/OffscreenFreeze.tsx old mode 100644 new mode 100755 diff --git a/src/components/Onboarding.tsx b/src/components/Onboarding.tsx old mode 100644 new mode 100755 diff --git a/src/components/OutputStylePicker.tsx b/src/components/OutputStylePicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/PackageManagerAutoUpdater.tsx b/src/components/PackageManagerAutoUpdater.tsx old mode 100644 new mode 100755 index f90b858..c94648f --- a/src/components/PackageManagerAutoUpdater.tsx +++ b/src/components/PackageManagerAutoUpdater.tsx @@ -73,7 +73,7 @@ export function PackageManagerAutoUpdater(t0) { if (!updateAvailable) { return null; } - const updateCommand = packageManager === "homebrew" ? "brew upgrade claude-code" : packageManager === "winget" ? "winget upgrade Anthropic.ClaudeCode" : packageManager === "apk" ? "apk upgrade claude-code" : "your package manager update command"; + const updateCommand = packageManager === "homebrew" ? "brew upgrade jialing-code" : packageManager === "winget" ? "winget upgrade JialingCode" : packageManager === "apk" ? "apk upgrade jialing-code" : "your package manager update command"; let t4; if ($[3] !== verbose) { t4 = verbose && currentVersion: {MACRO.VERSION}; diff --git a/src/components/Passes/Passes.tsx b/src/components/Passes/Passes.tsx old mode 100644 new mode 100755 index 291fdbb..609b697 --- a/src/components/Passes/Passes.tsx +++ b/src/components/Passes/Passes.tsx @@ -166,7 +166,7 @@ export function Passes({ - {referrerReward ? `Share a free week of Claude Code with friends. If they love it and subscribe, you'll get ${formatCreditAmount(referrerReward)} of extra usage to keep building. ` : 'Share a free week of Claude Code with friends. '} + {referrerReward ? `Share a free week of 嘉陵江-code with friends. If they love it and subscribe, you'll get ${formatCreditAmount(referrerReward)} of extra usage to keep building. ` : 'Share a free week of 嘉陵江-code with friends. '} Terms apply. diff --git a/src/components/PrBadge.tsx b/src/components/PrBadge.tsx old mode 100644 new mode 100755 diff --git a/src/components/PressEnterToContinue.tsx b/src/components/PressEnterToContinue.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/HistorySearchInput.tsx b/src/components/PromptInput/HistorySearchInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/IssueFlagBanner.tsx b/src/components/PromptInput/IssueFlagBanner.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/Notifications.tsx b/src/components/PromptInput/Notifications.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInput.tsx b/src/components/PromptInput/PromptInput.tsx old mode 100644 new mode 100755 index dbcf36d..b76761c --- a/src/components/PromptInput/PromptInput.tsx +++ b/src/components/PromptInput/PromptInput.tsx @@ -309,7 +309,7 @@ function PromptInput({ const { companion: _companion, companionMuted - } = feature('BUDDY') ? getGlobalConfig() : { + } = true ? getGlobalConfig() : { companion: undefined, companionMuted: undefined }; @@ -1786,7 +1786,7 @@ function PromptInput({ } switch (footerItemSelected) { case 'companion': - if (feature('BUDDY')) { + if (true) { selectFooterItem(null); void onSubmit('/buddy'); } @@ -1981,7 +1981,7 @@ function PromptInput({ }); }, [effortNotificationText, addNotification, removeNotification]); useBuddyNotification(); - const companionSpeaking = feature('BUDDY') ? + const companionSpeaking = true ? // biome-ignore lint/correctness/useHookAtTopLevel: feature() is a compile-time constant useAppState(s => s.companionReaction !== undefined) : false; const { diff --git a/src/components/PromptInput/PromptInputFooter.tsx b/src/components/PromptInput/PromptInputFooter.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputFooterLeftSide.tsx b/src/components/PromptInput/PromptInputFooterLeftSide.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputFooterSuggestions.tsx b/src/components/PromptInput/PromptInputFooterSuggestions.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputHelpMenu.tsx b/src/components/PromptInput/PromptInputHelpMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputModeIndicator.tsx b/src/components/PromptInput/PromptInputModeIndicator.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputQueuedCommands.tsx b/src/components/PromptInput/PromptInputQueuedCommands.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/PromptInputStashNotice.tsx b/src/components/PromptInput/PromptInputStashNotice.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/SandboxPromptFooterHint.tsx b/src/components/PromptInput/SandboxPromptFooterHint.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/ShimmeredInput.tsx b/src/components/PromptInput/ShimmeredInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/VoiceIndicator.tsx b/src/components/PromptInput/VoiceIndicator.tsx old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/inputModes.ts b/src/components/PromptInput/inputModes.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/inputPaste.ts b/src/components/PromptInput/inputPaste.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/context/notifications.ts b/src/components/PromptInput/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/history.ts b/src/components/PromptInput/src/history.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/hooks/useArrowKeyHistory.ts b/src/components/PromptInput/src/hooks/useArrowKeyHistory.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/hooks/useCommandQueue.ts b/src/components/PromptInput/src/hooks/useCommandQueue.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/hooks/useIdeAtMentioned.ts b/src/components/PromptInput/src/hooks/useIdeAtMentioned.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/ink.ts b/src/components/PromptInput/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/services/analytics/index.ts b/src/components/PromptInput/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/state/AppState.ts b/src/components/PromptInput/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/state/AppStateStore.ts b/src/components/PromptInput/src/state/AppStateStore.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/tools/AgentTool/agentColorManager.ts b/src/components/PromptInput/src/tools/AgentTool/agentColorManager.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/types/textInputTypes.ts b/src/components/PromptInput/src/types/textInputTypes.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/config.ts b/src/components/PromptInput/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/cwd.ts b/src/components/PromptInput/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/exampleCommands.ts b/src/components/PromptInput/src/utils/exampleCommands.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/messageQueueManager.ts b/src/components/PromptInput/src/utils/messageQueueManager.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/platform.ts b/src/components/PromptInput/src/utils/platform.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/teammate.ts b/src/components/PromptInput/src/utils/teammate.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/src/utils/theme.ts b/src/components/PromptInput/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/useMaybeTruncateInput.ts b/src/components/PromptInput/useMaybeTruncateInput.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/usePromptInputPlaceholder.ts b/src/components/PromptInput/usePromptInputPlaceholder.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/useShowFastIconHint.ts b/src/components/PromptInput/useShowFastIconHint.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/useSwarmBanner.ts b/src/components/PromptInput/useSwarmBanner.ts old mode 100644 new mode 100755 diff --git a/src/components/PromptInput/utils.ts b/src/components/PromptInput/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/QuickOpenDialog.tsx b/src/components/QuickOpenDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/RemoteCallout.tsx b/src/components/RemoteCallout.tsx old mode 100644 new mode 100755 diff --git a/src/components/RemoteEnvironmentDialog.tsx b/src/components/RemoteEnvironmentDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ResumeTask.tsx b/src/components/ResumeTask.tsx old mode 100644 new mode 100755 diff --git a/src/components/SandboxViolationExpandedView.tsx b/src/components/SandboxViolationExpandedView.tsx old mode 100644 new mode 100755 diff --git a/src/components/ScrollKeybindingHandler.tsx b/src/components/ScrollKeybindingHandler.tsx old mode 100644 new mode 100755 diff --git a/src/components/SearchBox.tsx b/src/components/SearchBox.tsx old mode 100644 new mode 100755 diff --git a/src/components/SentryErrorBoundary.ts b/src/components/SentryErrorBoundary.ts old mode 100644 new mode 100755 diff --git a/src/components/SessionBackgroundHint.tsx b/src/components/SessionBackgroundHint.tsx old mode 100644 new mode 100755 diff --git a/src/components/SessionPreview.tsx b/src/components/SessionPreview.tsx old mode 100644 new mode 100755 diff --git a/src/components/Settings/Config.tsx b/src/components/Settings/Config.tsx old mode 100644 new mode 100755 diff --git a/src/components/Settings/Settings.tsx b/src/components/Settings/Settings.tsx old mode 100644 new mode 100755 diff --git a/src/components/Settings/Status.tsx b/src/components/Settings/Status.tsx old mode 100644 new mode 100755 diff --git a/src/components/Settings/Usage.tsx b/src/components/Settings/Usage.tsx old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/commands/extra-usage/index.ts b/src/components/Settings/src/commands/extra-usage/index.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/constants/outputStyles.ts b/src/components/Settings/src/constants/outputStyles.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/cost-tracker.ts b/src/components/Settings/src/cost-tracker.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/services/analytics/index.ts b/src/components/Settings/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/utils/auth.ts b/src/components/Settings/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/utils/claudemd.ts b/src/components/Settings/src/utils/claudemd.ts old mode 100644 new mode 100755 diff --git a/src/components/Settings/src/utils/envUtils.ts b/src/components/Settings/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/ShowInIDEPrompt.tsx b/src/components/ShowInIDEPrompt.tsx old mode 100644 new mode 100755 diff --git a/src/components/SkillImprovementSurvey.tsx b/src/components/SkillImprovementSurvey.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner.tsx b/src/components/Spinner.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/FlashingChar.tsx b/src/components/Spinner/FlashingChar.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/GlimmerMessage.tsx b/src/components/Spinner/GlimmerMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/ShimmerChar.tsx b/src/components/Spinner/ShimmerChar.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/SpinnerAnimationRow.tsx b/src/components/Spinner/SpinnerAnimationRow.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/SpinnerGlyph.tsx b/src/components/Spinner/SpinnerGlyph.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/TeammateSpinnerLine.tsx b/src/components/Spinner/TeammateSpinnerLine.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/TeammateSpinnerTree.tsx b/src/components/Spinner/TeammateSpinnerTree.tsx old mode 100644 new mode 100755 diff --git a/src/components/Spinner/index.ts b/src/components/Spinner/index.ts old mode 100644 new mode 100755 diff --git a/src/components/Spinner/teammateSelectHint.ts b/src/components/Spinner/teammateSelectHint.ts old mode 100644 new mode 100755 diff --git a/src/components/Spinner/types.ts b/src/components/Spinner/types.ts old mode 100644 new mode 100755 diff --git a/src/components/Spinner/useShimmerAnimation.ts b/src/components/Spinner/useShimmerAnimation.ts old mode 100644 new mode 100755 diff --git a/src/components/Spinner/useStalledAnimation.ts b/src/components/Spinner/useStalledAnimation.ts old mode 100644 new mode 100755 diff --git a/src/components/Spinner/utils.ts b/src/components/Spinner/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/Stats.tsx b/src/components/Stats.tsx old mode 100644 new mode 100755 diff --git a/src/components/StatusLine.tsx b/src/components/StatusLine.tsx old mode 100644 new mode 100755 diff --git a/src/components/StatusNotices.tsx b/src/components/StatusNotices.tsx old mode 100644 new mode 100755 diff --git a/src/components/StructuredDiff.tsx b/src/components/StructuredDiff.tsx old mode 100644 new mode 100755 diff --git a/src/components/StructuredDiff/Fallback.tsx b/src/components/StructuredDiff/Fallback.tsx old mode 100644 new mode 100755 diff --git a/src/components/StructuredDiff/colorDiff.ts b/src/components/StructuredDiff/colorDiff.ts old mode 100644 new mode 100755 diff --git a/src/components/StructuredDiff/src/utils/theme.ts b/src/components/StructuredDiff/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/components/StructuredDiffList.tsx b/src/components/StructuredDiffList.tsx old mode 100644 new mode 100755 diff --git a/src/components/TagTabs.tsx b/src/components/TagTabs.tsx old mode 100644 new mode 100755 diff --git a/src/components/TaskListV2.tsx b/src/components/TaskListV2.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeammateViewHeader.tsx b/src/components/TeammateViewHeader.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeleportError.tsx b/src/components/TeleportError.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeleportProgress.tsx b/src/components/TeleportProgress.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeleportRepoMismatchDialog.tsx b/src/components/TeleportRepoMismatchDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeleportResumeWrapper.tsx b/src/components/TeleportResumeWrapper.tsx old mode 100644 new mode 100755 diff --git a/src/components/TeleportStash.tsx b/src/components/TeleportStash.tsx old mode 100644 new mode 100755 diff --git a/src/components/TextInput.tsx b/src/components/TextInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/ThemePicker.tsx b/src/components/ThemePicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/ThinkingToggle.tsx b/src/components/ThinkingToggle.tsx old mode 100644 new mode 100755 diff --git a/src/components/TokenWarning.tsx b/src/components/TokenWarning.tsx old mode 100644 new mode 100755 diff --git a/src/components/ToolUseLoader.tsx b/src/components/ToolUseLoader.tsx old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/TrustDialog.tsx b/src/components/TrustDialog/TrustDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/src/services/analytics/index.ts b/src/components/TrustDialog/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/src/utils/permissions/PermissionRule.ts b/src/components/TrustDialog/src/utils/permissions/PermissionRule.ts old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/src/utils/settings/settings.ts b/src/components/TrustDialog/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/src/utils/settings/types.ts b/src/components/TrustDialog/src/utils/settings/types.ts old mode 100644 new mode 100755 diff --git a/src/components/TrustDialog/utils.ts b/src/components/TrustDialog/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/ValidationErrorsList.tsx b/src/components/ValidationErrorsList.tsx old mode 100644 new mode 100755 diff --git a/src/components/VimTextInput.tsx b/src/components/VimTextInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/VirtualMessageList.tsx b/src/components/VirtualMessageList.tsx old mode 100644 new mode 100755 diff --git a/src/components/WorkflowMultiselectDialog.tsx b/src/components/WorkflowMultiselectDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/WorktreeExitDialog.tsx b/src/components/WorktreeExitDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/AgentDetail.tsx b/src/components/agents/AgentDetail.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/AgentEditor.tsx b/src/components/agents/AgentEditor.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/AgentNavigationFooter.tsx b/src/components/agents/AgentNavigationFooter.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/AgentsList.tsx b/src/components/agents/AgentsList.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/AgentsMenu.tsx b/src/components/agents/AgentsMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/ColorPicker.tsx b/src/components/agents/ColorPicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/ModelSelector.tsx b/src/components/agents/ModelSelector.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/SnapshotUpdateDialog.ts b/src/components/agents/SnapshotUpdateDialog.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/ToolSelector.tsx b/src/components/agents/ToolSelector.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/agentFileUtils.ts b/src/components/agents/agentFileUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/generateAgent.ts b/src/components/agents/generateAgent.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/CreateAgentWizard.tsx b/src/components/agents/new-agent-creation/CreateAgentWizard.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/types.ts b/src/components/agents/new-agent-creation/types.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx b/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/src/services/analytics/index.ts b/src/components/agents/new-agent-creation/wizard-steps/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/new-agent-creation/wizard-steps/src/state/AppState.ts b/src/components/agents/new-agent-creation/wizard-steps/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/Tool.ts b/src/components/agents/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/context.ts b/src/components/agents/src/context.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/services/api/claude.ts b/src/components/agents/src/services/api/claude.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/services/mcp/mcpStringUtils.ts b/src/components/agents/src/services/mcp/mcpStringUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/services/mcp/utils.ts b/src/components/agents/src/services/mcp/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/state/AppState.ts b/src/components/agents/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/AgentTool/agentToolUtils.ts b/src/components/agents/src/tools/AgentTool/agentToolUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/AgentTool/constants.ts b/src/components/agents/src/tools/AgentTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/BashTool/BashTool.ts b/src/components/agents/src/tools/BashTool/BashTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts b/src/components/agents/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/FileEditTool/FileEditTool.ts b/src/components/agents/src/tools/FileEditTool/FileEditTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/FileReadTool/FileReadTool.ts b/src/components/agents/src/tools/FileReadTool/FileReadTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/FileWriteTool/FileWriteTool.ts b/src/components/agents/src/tools/FileWriteTool/FileWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/GlobTool/GlobTool.ts b/src/components/agents/src/tools/GlobTool/GlobTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/GrepTool/GrepTool.ts b/src/components/agents/src/tools/GrepTool/GrepTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts b/src/components/agents/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/NotebookEditTool/NotebookEditTool.ts b/src/components/agents/src/tools/NotebookEditTool/NotebookEditTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts b/src/components/agents/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/TaskOutputTool/TaskOutputTool.ts b/src/components/agents/src/tools/TaskOutputTool/TaskOutputTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/TaskStopTool/TaskStopTool.ts b/src/components/agents/src/tools/TaskStopTool/TaskStopTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/TodoWriteTool/TodoWriteTool.ts b/src/components/agents/src/tools/TodoWriteTool/TodoWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/TungstenTool/TungstenTool.ts b/src/components/agents/src/tools/TungstenTool/TungstenTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/WebFetchTool/WebFetchTool.ts b/src/components/agents/src/tools/WebFetchTool/WebFetchTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/tools/WebSearchTool/WebSearchTool.ts b/src/components/agents/src/tools/WebSearchTool/WebSearchTool.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/utils/api.ts b/src/components/agents/src/utils/api.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/utils/messages.ts b/src/components/agents/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/utils/model/model.ts b/src/components/agents/src/utils/model/model.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/utils/settings/constants.ts b/src/components/agents/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/src/utils/settings/managedPath.ts b/src/components/agents/src/utils/settings/managedPath.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/types.ts b/src/components/agents/types.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/utils.ts b/src/components/agents/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/agents/validateAgent.ts b/src/components/agents/validateAgent.ts old mode 100644 new mode 100755 diff --git a/src/components/design-system/Byline.tsx b/src/components/design-system/Byline.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/Dialog.tsx b/src/components/design-system/Dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/Divider.tsx b/src/components/design-system/Divider.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/FuzzyPicker.tsx b/src/components/design-system/FuzzyPicker.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/KeyboardShortcutHint.tsx b/src/components/design-system/KeyboardShortcutHint.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/ListItem.tsx b/src/components/design-system/ListItem.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/LoadingState.tsx b/src/components/design-system/LoadingState.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/Pane.tsx b/src/components/design-system/Pane.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/ProgressBar.tsx b/src/components/design-system/ProgressBar.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/Ratchet.tsx b/src/components/design-system/Ratchet.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/StatusIcon.tsx b/src/components/design-system/StatusIcon.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/Tabs.tsx b/src/components/design-system/Tabs.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/ThemeProvider.tsx b/src/components/design-system/ThemeProvider.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/ThemedBox.tsx b/src/components/design-system/ThemedBox.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/ThemedText.tsx b/src/components/design-system/ThemedText.tsx old mode 100644 new mode 100755 diff --git a/src/components/design-system/color.ts b/src/components/design-system/color.ts old mode 100644 new mode 100755 diff --git a/src/components/diff/DiffDetailView.tsx b/src/components/diff/DiffDetailView.tsx old mode 100644 new mode 100755 diff --git a/src/components/diff/DiffDialog.tsx b/src/components/diff/DiffDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/diff/DiffFileList.tsx b/src/components/diff/DiffFileList.tsx old mode 100644 new mode 100755 diff --git a/src/components/grove/Grove.tsx b/src/components/grove/Grove.tsx old mode 100644 new mode 100755 diff --git a/src/components/grove/src/services/analytics/index.ts b/src/components/grove/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/hooks/HooksConfigMenu.tsx b/src/components/hooks/HooksConfigMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/PromptDialog.tsx b/src/components/hooks/PromptDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/SelectEventMode.tsx b/src/components/hooks/SelectEventMode.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/SelectHookMode.tsx b/src/components/hooks/SelectHookMode.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/SelectMatcherMode.tsx b/src/components/hooks/SelectMatcherMode.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/ViewHookMode.tsx b/src/components/hooks/ViewHookMode.tsx old mode 100644 new mode 100755 diff --git a/src/components/hooks/src/entrypoints/agentSdkTypes.ts b/src/components/hooks/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/components/hooks/src/state/AppState.ts b/src/components/hooks/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/hooks/src/utils/hooks/hooksConfigManager.ts b/src/components/hooks/src/utils/hooks/hooksConfigManager.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/CapabilitiesSection.tsx b/src/components/mcp/CapabilitiesSection.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/ElicitationDialog.tsx b/src/components/mcp/ElicitationDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPAgentServerMenu.tsx b/src/components/mcp/MCPAgentServerMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPListPanel.tsx b/src/components/mcp/MCPListPanel.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPReconnect.tsx b/src/components/mcp/MCPReconnect.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPRemoteServerMenu.tsx b/src/components/mcp/MCPRemoteServerMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPSettings.tsx b/src/components/mcp/MCPSettings.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPStdioServerMenu.tsx b/src/components/mcp/MCPStdioServerMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPToolDetailView.tsx b/src/components/mcp/MCPToolDetailView.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/MCPToolListView.tsx b/src/components/mcp/MCPToolListView.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/McpParsingWarnings.tsx b/src/components/mcp/McpParsingWarnings.tsx old mode 100644 new mode 100755 diff --git a/src/components/mcp/index.ts b/src/components/mcp/index.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/src/services/analytics/index.ts b/src/components/mcp/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/src/services/mcp/config.ts b/src/components/mcp/src/services/mcp/config.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/src/services/mcp/types.ts b/src/components/mcp/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/src/services/mcp/utils.ts b/src/components/mcp/src/services/mcp/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/src/utils/settings/validation.ts b/src/components/mcp/src/utils/settings/validation.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/types.ts b/src/components/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/components/mcp/utils/reconnectHelpers.tsx b/src/components/mcp/utils/reconnectHelpers.tsx old mode 100644 new mode 100755 diff --git a/src/components/memory/MemoryFileSelector.tsx b/src/components/memory/MemoryFileSelector.tsx old mode 100644 new mode 100755 diff --git a/src/components/memory/MemoryUpdateNotification.tsx b/src/components/memory/MemoryUpdateNotification.tsx old mode 100644 new mode 100755 diff --git a/src/components/messageActions.tsx b/src/components/messageActions.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AdvisorMessage.tsx b/src/components/messages/AdvisorMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AssistantRedactedThinkingMessage.tsx b/src/components/messages/AssistantRedactedThinkingMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AssistantTextMessage.tsx b/src/components/messages/AssistantTextMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AssistantThinkingMessage.tsx b/src/components/messages/AssistantThinkingMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AssistantToolUseMessage.tsx b/src/components/messages/AssistantToolUseMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/AttachmentMessage.tsx b/src/components/messages/AttachmentMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/CollapsedReadSearchContent.tsx b/src/components/messages/CollapsedReadSearchContent.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/CompactBoundaryMessage.tsx b/src/components/messages/CompactBoundaryMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/GroupedToolUseContent.tsx b/src/components/messages/GroupedToolUseContent.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/HighlightedThinkingText.tsx b/src/components/messages/HighlightedThinkingText.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/HookProgressMessage.tsx b/src/components/messages/HookProgressMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/PlanApprovalMessage.tsx b/src/components/messages/PlanApprovalMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/RateLimitMessage.tsx b/src/components/messages/RateLimitMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/ShutdownMessage.tsx b/src/components/messages/ShutdownMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/SnipBoundaryMessage.ts b/src/components/messages/SnipBoundaryMessage.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/SystemAPIErrorMessage.tsx b/src/components/messages/SystemAPIErrorMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/SystemTextMessage.tsx b/src/components/messages/SystemTextMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/TaskAssignmentMessage.tsx b/src/components/messages/TaskAssignmentMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserAgentNotificationMessage.tsx b/src/components/messages/UserAgentNotificationMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserBashInputMessage.tsx b/src/components/messages/UserBashInputMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserBashOutputMessage.tsx b/src/components/messages/UserBashOutputMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserChannelMessage.tsx b/src/components/messages/UserChannelMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserCommandMessage.tsx b/src/components/messages/UserCommandMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserCrossSessionMessage.ts b/src/components/messages/UserCrossSessionMessage.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserForkBoilerplateMessage.ts b/src/components/messages/UserForkBoilerplateMessage.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserGitHubWebhookMessage.ts b/src/components/messages/UserGitHubWebhookMessage.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserImageMessage.tsx b/src/components/messages/UserImageMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserLocalCommandOutputMessage.tsx b/src/components/messages/UserLocalCommandOutputMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserMemoryInputMessage.tsx b/src/components/messages/UserMemoryInputMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserPlanMessage.tsx b/src/components/messages/UserPlanMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserPromptMessage.tsx b/src/components/messages/UserPromptMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserResourceUpdateMessage.tsx b/src/components/messages/UserResourceUpdateMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserTeammateMessage.tsx b/src/components/messages/UserTeammateMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserTextMessage.tsx b/src/components/messages/UserTextMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx b/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx b/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx b/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx b/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx b/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx b/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx b/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/src/components/InterruptedByUser.ts b/src/components/messages/UserToolResultMessage/src/components/InterruptedByUser.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/src/components/Markdown.ts b/src/components/messages/UserToolResultMessage/src/components/Markdown.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/src/components/MessageResponse.ts b/src/components/messages/UserToolResultMessage/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/src/components/SentryErrorBoundary.ts b/src/components/messages/UserToolResultMessage/src/components/SentryErrorBoundary.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/UserToolResultMessage/utils.tsx b/src/components/messages/UserToolResultMessage/utils.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/nullRenderingAttachments.ts b/src/components/messages/nullRenderingAttachments.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/commands/extra-usage/index.ts b/src/components/messages/src/commands/extra-usage/index.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/entrypoints/agentSdkTypes.ts b/src/components/messages/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/hooks/useTerminalSize.ts b/src/components/messages/src/hooks/useTerminalSize.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/ink.ts b/src/components/messages/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/services/api/errorUtils.ts b/src/components/messages/src/services/api/errorUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/services/claudeAiLimitsHook.ts b/src/components/messages/src/services/claudeAiLimitsHook.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/services/compact/compact.ts b/src/components/messages/src/services/compact/compact.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/services/rateLimitMessages.ts b/src/components/messages/src/services/rateLimitMessages.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/services/rateLimitMocking.ts b/src/components/messages/src/services/rateLimitMocking.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/types/message.ts b/src/components/messages/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/attachments.ts b/src/components/messages/src/utils/attachments.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/auth.ts b/src/components/messages/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/billing.ts b/src/components/messages/src/utils/billing.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/file.ts b/src/components/messages/src/utils/file.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/format.ts b/src/components/messages/src/utils/format.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/messages.ts b/src/components/messages/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/src/utils/theme.ts b/src/components/messages/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/components/messages/teamMemCollapsed.tsx b/src/components/messages/teamMemCollapsed.tsx old mode 100644 new mode 100755 diff --git a/src/components/messages/teamMemSaved.ts b/src/components/messages/teamMemSaved.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx b/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts b/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx b/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx b/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx b/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx b/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx b/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/ExitPlanModePermissionRequest/src/context/notifications.ts b/src/components/permissions/ExitPlanModePermissionRequest/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/ExitPlanModePermissionRequest/src/services/analytics/index.ts b/src/components/permissions/ExitPlanModePermissionRequest/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/ExitPlanModePermissionRequest/src/state/AppState.ts b/src/components/permissions/ExitPlanModePermissionRequest/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FallbackPermissionRequest.tsx b/src/components/permissions/FallbackPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx b/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FileEditPermissionRequest/src/components/FileEditToolDiff.ts b/src/components/permissions/FileEditPermissionRequest/src/components/FileEditToolDiff.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FileEditPermissionRequest/src/utils/cwd.ts b/src/components/permissions/FileEditPermissionRequest/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx b/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/ideDiffConfig.ts b/src/components/permissions/FilePermissionDialog/ideDiffConfig.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/permissionOptions.tsx b/src/components/permissions/FilePermissionDialog/permissionOptions.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/src/state/AppState.ts b/src/components/permissions/FilePermissionDialog/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts b/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilePermissionDialog/usePermissionHandler.ts b/src/components/permissions/FilePermissionDialog/usePermissionHandler.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx b/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx b/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx b/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts b/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx b/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx b/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionDecisionDebugInfo.tsx b/src/components/permissions/PermissionDecisionDebugInfo.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionDialog.tsx b/src/components/permissions/PermissionDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionExplanation.tsx b/src/components/permissions/PermissionExplanation.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionPrompt.tsx b/src/components/permissions/PermissionPrompt.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionRequest.tsx b/src/components/permissions/PermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionRequestTitle.tsx b/src/components/permissions/PermissionRequestTitle.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PermissionRuleExplanation.tsx b/src/components/permissions/PermissionRuleExplanation.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx b/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx b/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts b/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SandboxPermissionRequest.tsx b/src/components/permissions/SandboxPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx b/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/src/components/FileEditToolDiff.ts b/src/components/permissions/SedEditPermissionRequest/src/components/FileEditToolDiff.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/src/utils/cwd.ts b/src/components/permissions/SedEditPermissionRequest/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/src/utils/errors.ts b/src/components/permissions/SedEditPermissionRequest/src/utils/errors.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/src/utils/fileRead.ts b/src/components/permissions/SedEditPermissionRequest/src/utils/fileRead.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SedEditPermissionRequest/src/utils/fsOperations.ts b/src/components/permissions/SedEditPermissionRequest/src/utils/fsOperations.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx b/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/SkillPermissionRequest/src/utils/log.ts b/src/components/permissions/SkillPermissionRequest/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx b/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/WorkerBadge.tsx b/src/components/permissions/WorkerBadge.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/WorkerPendingPermission.tsx b/src/components/permissions/WorkerPendingPermission.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/hooks.ts b/src/components/permissions/hooks.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/AddPermissionRules.tsx b/src/components/permissions/rules/AddPermissionRules.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/AddWorkspaceDirectory.tsx b/src/components/permissions/rules/AddWorkspaceDirectory.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/PermissionRuleDescription.tsx b/src/components/permissions/rules/PermissionRuleDescription.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/PermissionRuleInput.tsx b/src/components/permissions/rules/PermissionRuleInput.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/PermissionRuleList.tsx b/src/components/permissions/rules/PermissionRuleList.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/RecentDenialsTab.tsx b/src/components/permissions/rules/RecentDenialsTab.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx b/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/WorkspaceTab.tsx b/src/components/permissions/rules/WorkspaceTab.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/src/state/AppState.ts b/src/components/permissions/rules/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/src/utils/permissions/PermissionUpdate.ts b/src/components/permissions/rules/src/utils/permissions/PermissionUpdate.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/rules/src/utils/permissions/PermissionUpdateSchema.ts b/src/components/permissions/rules/src/utils/permissions/PermissionUpdateSchema.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/shellPermissionHelpers.tsx b/src/components/permissions/shellPermissionHelpers.tsx old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/ink.ts b/src/components/permissions/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/services/analytics/index.ts b/src/components/permissions/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/services/analytics/metadata.ts b/src/components/permissions/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/tools/BashTool/BashTool.ts b/src/components/permissions/src/tools/BashTool/BashTool.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts b/src/components/permissions/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts b/src/components/permissions/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/utils/bash/commands.ts b/src/components/permissions/src/utils/bash/commands.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/utils/permissions/PermissionResult.ts b/src/components/permissions/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/utils/permissions/PermissionUpdate.ts b/src/components/permissions/src/utils/permissions/PermissionUpdate.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/utils/permissions/permissionRuleParser.ts b/src/components/permissions/src/utils/permissions/permissionRuleParser.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/src/utils/sandbox/sandbox-adapter.ts b/src/components/permissions/src/utils/sandbox/sandbox-adapter.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/useShellPermissionFeedback.ts b/src/components/permissions/useShellPermissionFeedback.ts old mode 100644 new mode 100755 diff --git a/src/components/permissions/utils.ts b/src/components/permissions/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/sandbox/SandboxConfigTab.tsx b/src/components/sandbox/SandboxConfigTab.tsx old mode 100644 new mode 100755 diff --git a/src/components/sandbox/SandboxDependenciesTab.tsx b/src/components/sandbox/SandboxDependenciesTab.tsx old mode 100644 new mode 100755 diff --git a/src/components/sandbox/SandboxDoctorSection.tsx b/src/components/sandbox/SandboxDoctorSection.tsx old mode 100644 new mode 100755 diff --git a/src/components/sandbox/SandboxOverridesTab.tsx b/src/components/sandbox/SandboxOverridesTab.tsx old mode 100644 new mode 100755 diff --git a/src/components/sandbox/SandboxSettings.tsx b/src/components/sandbox/SandboxSettings.tsx old mode 100644 new mode 100755 diff --git a/src/components/shell/ExpandShellOutputContext.tsx b/src/components/shell/ExpandShellOutputContext.tsx old mode 100644 new mode 100755 diff --git a/src/components/shell/OutputLine.tsx b/src/components/shell/OutputLine.tsx old mode 100644 new mode 100755 diff --git a/src/components/shell/ShellProgressMessage.tsx b/src/components/shell/ShellProgressMessage.tsx old mode 100644 new mode 100755 diff --git a/src/components/shell/ShellTimeDisplay.tsx b/src/components/shell/ShellTimeDisplay.tsx old mode 100644 new mode 100755 diff --git a/src/components/skills/SkillsMenu.tsx b/src/components/skills/SkillsMenu.tsx old mode 100644 new mode 100755 diff --git a/src/components/src/bootstrap/state.ts b/src/components/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/components/src/commands.ts b/src/components/src/commands.ts old mode 100644 new mode 100755 diff --git a/src/components/src/components/shell/OutputLine.ts b/src/components/src/components/shell/OutputLine.ts old mode 100644 new mode 100755 diff --git a/src/components/src/hooks/useExitOnCtrlCDWithKeybindings.ts b/src/components/src/hooks/useExitOnCtrlCDWithKeybindings.ts old mode 100644 new mode 100755 diff --git a/src/components/src/hooks/useTerminalSize.ts b/src/components/src/hooks/useTerminalSize.ts old mode 100644 new mode 100755 diff --git a/src/components/src/services/analytics/firstPartyEventLogger.ts b/src/components/src/services/analytics/firstPartyEventLogger.ts old mode 100644 new mode 100755 diff --git a/src/components/src/services/analytics/index.ts b/src/components/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/components/src/state/AppState.ts b/src/components/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/src/tools/FileEditTool/types.ts b/src/components/src/tools/FileEditTool/types.ts old mode 100644 new mode 100755 diff --git a/src/components/src/tools/FileWriteTool/FileWriteTool.ts b/src/components/src/tools/FileWriteTool/FileWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/background/remote/preconditions.ts b/src/components/src/utils/background/remote/preconditions.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/conversationRecovery.ts b/src/components/src/utils/conversationRecovery.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/cwd.ts b/src/components/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/debug.ts b/src/components/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/envDynamic.ts b/src/components/src/utils/envDynamic.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/fastMode.ts b/src/components/src/utils/fastMode.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/fileHistory.ts b/src/components/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/gracefulShutdown.ts b/src/components/src/utils/gracefulShutdown.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/log.ts b/src/components/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/messages.ts b/src/components/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/permissions/PermissionMode.ts b/src/components/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/platform.ts b/src/components/src/utils/platform.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/process.ts b/src/components/src/utils/process.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/sandbox/sandbox-ui-utils.ts b/src/components/src/utils/sandbox/sandbox-ui-utils.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/set.ts b/src/components/src/utils/set.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/teleport/api.ts b/src/components/src/utils/teleport/api.ts old mode 100644 new mode 100755 diff --git a/src/components/src/utils/theme.ts b/src/components/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/AsyncAgentDetailDialog.tsx b/src/components/tasks/AsyncAgentDetailDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/BackgroundTask.tsx b/src/components/tasks/BackgroundTask.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/BackgroundTaskStatus.tsx b/src/components/tasks/BackgroundTaskStatus.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/BackgroundTasksDialog.tsx b/src/components/tasks/BackgroundTasksDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/DreamDetailDialog.tsx b/src/components/tasks/DreamDetailDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/InProcessTeammateDetailDialog.tsx b/src/components/tasks/InProcessTeammateDetailDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/MonitorMcpDetailDialog.ts b/src/components/tasks/MonitorMcpDetailDialog.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/RemoteSessionDetailDialog.tsx b/src/components/tasks/RemoteSessionDetailDialog.tsx old mode 100644 new mode 100755 index f5435ea..306787b --- a/src/components/tasks/RemoteSessionDetailDialog.tsx +++ b/src/components/tasks/RemoteSessionDetailDialog.tsx @@ -44,7 +44,7 @@ type Props = { export function formatToolUseSummary(name: string, input: unknown): string { // plan_ready phase is only reached via ExitPlanMode tool if (name === EXIT_PLAN_MODE_V2_TOOL_NAME) { - return 'Review the plan in Claude Code on the web'; + return 'Review the plan in 嘉陵江-code on the web'; } if (!input || typeof input !== 'object') return name; // AskUserQuestion: show the question text as a CTA, not the tool name. @@ -168,7 +168,7 @@ function UltraplanSessionDetail(t0) { } let t7; if ($[12] === Symbol.for("react.memo_cache_sentinel")) { - t7 = This will terminate the Claude Code on the web session.; + t7 = This will terminate the 嘉陵江-code on the web session.; $[12] = t7; } else { t7 = $[12]; @@ -311,7 +311,7 @@ function UltraplanSessionDetail(t0) { let t19; if ($[47] === Symbol.for("react.memo_cache_sentinel")) { t19 = { - label: "Review in Claude Code on the web", + label: "Review in 嘉陵江-code on the web", value: "open" as const }; $[47] = t19; @@ -595,13 +595,13 @@ function ReviewSessionDetail(t0) { let t3; if ($[11] !== completed || $[12] !== onKill || $[13] !== running) { t3 = completed ? [{ - label: "Open in Claude Code on the web", + label: "Open in 嘉陵江-code on the web", value: "open" }, { label: "Dismiss", value: "dismiss" }] : [{ - label: "Open in Claude Code on the web", + label: "Open in 嘉陵江-code on the web", value: "open" }, ...(onKill && running ? [{ label: "Stop ultrareview", diff --git a/src/components/tasks/RemoteSessionProgress.tsx b/src/components/tasks/RemoteSessionProgress.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/ShellDetailDialog.tsx b/src/components/tasks/ShellDetailDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/ShellProgress.tsx b/src/components/tasks/ShellProgress.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/WorkflowDetailDialog.ts b/src/components/tasks/WorkflowDetailDialog.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/renderToolActivity.tsx b/src/components/tasks/renderToolActivity.tsx old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/Task.ts b/src/components/tasks/src/Task.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/Tool.ts b/src/components/tasks/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/coordinator/coordinatorMode.ts b/src/components/tasks/src/coordinator/coordinatorMode.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/entrypoints/agentSdkTypes.ts b/src/components/tasks/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/hooks/useTerminalSize.ts b/src/components/tasks/src/hooks/useTerminalSize.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/ink.ts b/src/components/tasks/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/ink/stringWidth.ts b/src/components/tasks/src/ink/stringWidth.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/state/AppState.ts b/src/components/tasks/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/state/teammateViewHelpers.ts b/src/components/tasks/src/state/teammateViewHelpers.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/DreamTask/DreamTask.ts b/src/components/tasks/src/tasks/DreamTask/DreamTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/InProcessTeammateTask/InProcessTeammateTask.ts b/src/components/tasks/src/tasks/InProcessTeammateTask/InProcessTeammateTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/InProcessTeammateTask/types.ts b/src/components/tasks/src/tasks/InProcessTeammateTask/types.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/LocalAgentTask/LocalAgentTask.ts b/src/components/tasks/src/tasks/LocalAgentTask/LocalAgentTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/LocalShellTask/LocalShellTask.ts b/src/components/tasks/src/tasks/LocalShellTask/LocalShellTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/LocalShellTask/guards.ts b/src/components/tasks/src/tasks/LocalShellTask/guards.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts b/src/components/tasks/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/MonitorMcpTask/MonitorMcpTask.ts b/src/components/tasks/src/tasks/MonitorMcpTask/MonitorMcpTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/RemoteAgentTask/RemoteAgentTask.ts b/src/components/tasks/src/tasks/RemoteAgentTask/RemoteAgentTask.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/pillLabel.ts b/src/components/tasks/src/tasks/pillLabel.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/tasks/types.ts b/src/components/tasks/src/tasks/types.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/types/utils.ts b/src/components/tasks/src/types/utils.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/array.ts b/src/components/tasks/src/utils/array.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/collapseReadSearch.ts b/src/components/tasks/src/utils/collapseReadSearch.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/format.ts b/src/components/tasks/src/utils/format.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/horizontalScroll.ts b/src/components/tasks/src/utils/horizontalScroll.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/ink.ts b/src/components/tasks/src/utils/ink.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/stringUtils.ts b/src/components/tasks/src/utils/stringUtils.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/src/utils/swarm/constants.ts b/src/components/tasks/src/utils/swarm/constants.ts old mode 100644 new mode 100755 diff --git a/src/components/tasks/taskStatusUtils.tsx b/src/components/tasks/taskStatusUtils.tsx old mode 100644 new mode 100755 diff --git a/src/components/teams/TeamStatus.tsx b/src/components/teams/TeamStatus.tsx old mode 100644 new mode 100755 diff --git a/src/components/teams/TeamsDialog.tsx b/src/components/teams/TeamsDialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/OrderedList.tsx b/src/components/ui/OrderedList.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/OrderedListItem.tsx b/src/components/ui/OrderedListItem.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/TreeSelect.tsx b/src/components/ui/TreeSelect.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/option.ts b/src/components/ui/option.ts old mode 100644 new mode 100755 diff --git a/src/components/wizard/WizardDialogLayout.tsx b/src/components/wizard/WizardDialogLayout.tsx old mode 100644 new mode 100755 diff --git a/src/components/wizard/WizardNavigationFooter.tsx b/src/components/wizard/WizardNavigationFooter.tsx old mode 100644 new mode 100755 diff --git a/src/components/wizard/WizardProvider.tsx b/src/components/wizard/WizardProvider.tsx old mode 100644 new mode 100755 diff --git a/src/components/wizard/index.ts b/src/components/wizard/index.ts old mode 100644 new mode 100755 diff --git a/src/components/wizard/types.ts b/src/components/wizard/types.ts old mode 100644 new mode 100755 diff --git a/src/components/wizard/useWizard.ts b/src/components/wizard/useWizard.ts old mode 100644 new mode 100755 diff --git a/src/constants/apiLimits.ts b/src/constants/apiLimits.ts old mode 100644 new mode 100755 diff --git a/src/constants/betas.ts b/src/constants/betas.ts old mode 100644 new mode 100755 diff --git a/src/constants/common.ts b/src/constants/common.ts old mode 100644 new mode 100755 diff --git a/src/constants/cyberRiskInstruction.ts b/src/constants/cyberRiskInstruction.ts old mode 100644 new mode 100755 diff --git a/src/constants/errorIds.ts b/src/constants/errorIds.ts old mode 100644 new mode 100755 diff --git a/src/constants/figures.ts b/src/constants/figures.ts old mode 100644 new mode 100755 diff --git a/src/constants/files.ts b/src/constants/files.ts old mode 100644 new mode 100755 diff --git a/src/constants/github-app.ts b/src/constants/github-app.ts old mode 100644 new mode 100755 index 1df9f51..7422246 --- a/src/constants/github-app.ts +++ b/src/constants/github-app.ts @@ -1,9 +1,9 @@ -export const PR_TITLE = 'Add Claude Code GitHub Workflow' +export const PR_TITLE = 'Add 嘉陵江-code GitHub Workflow' export const GITHUB_ACTION_SETUP_DOCS_URL = 'https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md' -export const WORKFLOW_CONTENT = `name: Claude Code +export const WORKFLOW_CONTENT = `name: 嘉陵江-code on: issue_comment: @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 1 - - name: Run Claude Code + - name: Run 嘉陵江-code id: claude uses: anthropics/claude-code-action@v1 with: @@ -55,13 +55,13 @@ jobs: ` -export const PR_BODY = `## 🤖 Installing Claude Code GitHub App +export const PR_BODY = `## 🤖 Installing 嘉陵江-code GitHub App -This PR adds a GitHub Actions workflow that enables Claude Code integration in our repository. +This PR adds a GitHub Actions workflow that enables 嘉陵江-code integration in our repository. -### What is Claude Code? +### What is 嘉陵江-code? -[Claude Code](https://claude.com/claude-code) is an AI coding agent that can help with: +[嘉陵江-code](https://jialing-code.dev) is an AI coding agent that can help with: - Bug fixes and improvements - Documentation updates - Implementing new features @@ -97,7 +97,7 @@ There's more information in the [Claude Code action repo](https://github.com/ant After merging this PR, let's try mentioning @claude in a comment on any PR to get started!` -export const CODE_REVIEW_PLUGIN_WORKFLOW_CONTENT = `name: Claude Code Review +export const CODE_REVIEW_PLUGIN_WORKFLOW_CONTENT = `name: 嘉陵江-code Review on: pull_request: @@ -130,7 +130,7 @@ jobs: with: fetch-depth: 1 - - name: Run Claude Code Review + - name: Run 嘉陵江-code Review id: claude-review uses: anthropics/claude-code-action@v1 with: diff --git a/src/constants/keys.ts b/src/constants/keys.ts old mode 100644 new mode 100755 diff --git a/src/constants/messages.ts b/src/constants/messages.ts old mode 100644 new mode 100755 diff --git a/src/constants/oauth.ts b/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/constants/outputStyles.ts b/src/constants/outputStyles.ts old mode 100644 new mode 100755 diff --git a/src/constants/product.ts b/src/constants/product.ts old mode 100644 new mode 100755 index c99e3e9..be84526 --- a/src/constants/product.ts +++ b/src/constants/product.ts @@ -1,4 +1,4 @@ -export const PRODUCT_URL = 'https://claude.com/claude-code' +export const PRODUCT_URL = 'https://jialing-code.dev' // Claude Code Remote session URLs export const CLAUDE_AI_BASE_URL = 'https://claude.ai' diff --git a/src/constants/prompts.ts b/src/constants/prompts.ts old mode 100644 new mode 100755 index 9eb49b3..d3a07b5 --- a/src/constants/prompts.ts +++ b/src/constants/prompts.ts @@ -214,7 +214,7 @@ function getSimpleDoingTasksSection(): string { ] const userHelpSubitems = [ - `/help: Get help with using Claude Code`, + `/help: Get help with using 嘉陵江-code`, `To give feedback, users should ${MACRO.ISSUES_EXPLAINER}`, ] @@ -449,7 +449,7 @@ export async function getSystemPrompt( ): Promise { if (isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) { return [ - `You are Claude Code, Anthropic's official CLI for Claude.\n\nCWD: ${getCwd()}\nDate: ${getSessionStartDate()}`, + `You are 嘉陵江-code, an AI coding assistant CLI.\n\nCWD: ${getCwd()}\nDate: ${getSessionStartDate()}`, ] } @@ -696,10 +696,10 @@ export async function computeSimpleEnvInfo( : `The most recent Claude model family is Claude 4.5/4.6. Model IDs — Opus 4.6: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.opus}', Sonnet 4.6: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.sonnet}', Haiku 4.5: '${CLAUDE_4_5_OR_4_6_MODEL_IDS.haiku}'. When building AI applications, default to the latest and most capable Claude models.`, process.env.USER_TYPE === 'ant' && isUndercover() ? null - : `Claude Code is available as a CLI in the terminal, desktop app (Mac/Windows), web app (claude.ai/code), and IDE extensions (VS Code, JetBrains).`, + : `嘉陵江-code is available as a CLI in the terminal and IDE extensions (VS Code, JetBrains).`, process.env.USER_TYPE === 'ant' && isUndercover() ? null - : `Fast mode for Claude Code uses the same ${FRONTIER_MODEL_NAME} model with faster output. It does NOT switch to a different model. It can be toggled with /fast.`, + : `Fast mode for 嘉陵江-code uses the same ${FRONTIER_MODEL_NAME} model with faster output. It does NOT switch to a different model. It can be toggled with /fast.`, ].filter(item => item !== null) return [ @@ -755,7 +755,7 @@ export function getUnameSR(): string { return `${osType()} ${osRelease()}` } -export const DEFAULT_AGENT_PROMPT = `You are an agent for Claude Code, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings — the caller will relay this to the user, so it only needs the essentials.` +export const DEFAULT_AGENT_PROMPT = `You are an agent for 嘉陵江-code, an AI coding assistant CLI. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings — the caller will relay this to the user, so it only needs the essentials.` export async function enhanceSystemPromptWithEnvDetails( existingSystemPrompt: string[], diff --git a/src/constants/querySource.ts b/src/constants/querySource.ts old mode 100644 new mode 100755 diff --git a/src/constants/spinnerVerbs.ts b/src/constants/spinnerVerbs.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/commands.ts b/src/constants/src/commands.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/services/analytics/growthbook.ts b/src/constants/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/tools/AgentTool/built-in/exploreAgent.ts b/src/constants/src/tools/AgentTool/built-in/exploreAgent.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/tools/AgentTool/builtInAgents.ts b/src/constants/src/tools/AgentTool/builtInAgents.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/tools/GlobTool/prompt.ts b/src/constants/src/tools/GlobTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/tools/GrepTool/prompt.ts b/src/constants/src/tools/GrepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/utils/embeddedTools.ts b/src/constants/src/utils/embeddedTools.ts old mode 100644 new mode 100755 diff --git a/src/constants/src/utils/envUtils.ts b/src/constants/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/constants/system.ts b/src/constants/system.ts old mode 100644 new mode 100755 index 0cd2e76..20c5199 --- a/src/constants/system.ts +++ b/src/constants/system.ts @@ -7,8 +7,8 @@ import { isEnvDefinedFalsy } from '../utils/envUtils.js' import { getAPIProvider } from '../utils/model/providers.js' import { getWorkload } from '../utils/workloadContext.js' -const DEFAULT_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude.` -const AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude, running within the Claude Agent SDK.` +const DEFAULT_PREFIX = `You are 嘉陵江-code, an AI coding assistant CLI.` +const AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX = `You are 嘉陵江-code, an AI coding assistant CLI, running within the Agent SDK.` const AGENT_SDK_PREFIX = `You are a Claude agent, built on Anthropic's Claude Agent SDK.` const CLI_SYSPROMPT_PREFIX_VALUES = [ diff --git a/src/constants/systemPromptSections.ts b/src/constants/systemPromptSections.ts old mode 100644 new mode 100755 diff --git a/src/constants/toolLimits.ts b/src/constants/toolLimits.ts old mode 100644 new mode 100755 diff --git a/src/constants/tools.ts b/src/constants/tools.ts old mode 100644 new mode 100755 diff --git a/src/constants/turnCompletionVerbs.ts b/src/constants/turnCompletionVerbs.ts old mode 100644 new mode 100755 diff --git a/src/constants/xml.ts b/src/constants/xml.ts old mode 100644 new mode 100755 diff --git a/src/context.ts b/src/context.ts old mode 100644 new mode 100755 diff --git a/src/context/QueuedMessageContext.tsx b/src/context/QueuedMessageContext.tsx old mode 100644 new mode 100755 diff --git a/src/context/fpsMetrics.tsx b/src/context/fpsMetrics.tsx old mode 100644 new mode 100755 diff --git a/src/context/mailbox.tsx b/src/context/mailbox.tsx old mode 100644 new mode 100755 diff --git a/src/context/modalContext.tsx b/src/context/modalContext.tsx old mode 100644 new mode 100755 diff --git a/src/context/notifications.tsx b/src/context/notifications.tsx old mode 100644 new mode 100755 diff --git a/src/context/overlayContext.tsx b/src/context/overlayContext.tsx old mode 100644 new mode 100755 diff --git a/src/context/promptOverlayContext.tsx b/src/context/promptOverlayContext.tsx old mode 100644 new mode 100755 diff --git a/src/context/src/state/AppState.ts b/src/context/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/context/stats.tsx b/src/context/stats.tsx old mode 100644 new mode 100755 diff --git a/src/context/voice.tsx b/src/context/voice.tsx old mode 100644 new mode 100755 diff --git a/src/coordinator/coordinatorMode.ts b/src/coordinator/coordinatorMode.ts old mode 100644 new mode 100755 index fc5dc4e..ba20381 --- a/src/coordinator/coordinatorMode.ts +++ b/src/coordinator/coordinatorMode.ts @@ -113,7 +113,7 @@ export function getCoordinatorSystemPrompt(): string { ? 'Workers have access to Bash, Read, and Edit tools, plus MCP tools from configured MCP servers.' : 'Workers have access to standard tools, MCP tools from configured MCP servers, and project skills via the Skill tool. Delegate skill invocations (e.g. /commit, /verify) to workers.' - return `You are Claude Code, an AI assistant that orchestrates software engineering tasks across multiple workers. + return `You are 嘉陵江-code, an AI assistant that orchestrates software engineering tasks across multiple workers. ## 1. Your Role diff --git a/src/coordinator/workerAgent.ts b/src/coordinator/workerAgent.ts old mode 100644 new mode 100755 diff --git a/src/cost-tracker.ts b/src/cost-tracker.ts old mode 100644 new mode 100755 diff --git a/src/costHook.ts b/src/costHook.ts old mode 100644 new mode 100755 diff --git a/src/daemon/main.ts b/src/daemon/main.ts old mode 100644 new mode 100755 diff --git a/src/daemon/workerRegistry.ts b/src/daemon/workerRegistry.ts old mode 100644 new mode 100755 diff --git a/src/dialogLaunchers.tsx b/src/dialogLaunchers.tsx old mode 100644 new mode 100755 diff --git a/src/entrypoints/agentSdkTypes.js b/src/entrypoints/agentSdkTypes.js old mode 100644 new mode 100755 diff --git a/src/entrypoints/agentSdkTypes.ts b/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/cli.tsx b/src/entrypoints/cli.tsx old mode 100644 new mode 100755 index 41060f7..adfecbe --- a/src/entrypoints/cli.tsx +++ b/src/entrypoints/cli.tsx @@ -1,6 +1,6 @@ #!/usr/bin/env node // Runtime polyfill for bun:bundle (build-time macros) -const feature = (_name: string) => false; +const feature = (name: string) => name === 'BUDDY'; if (typeof globalThis.MACRO === "undefined") { (globalThis as any).MACRO = { VERSION: "2.1.888", @@ -84,8 +84,17 @@ async function main(): Promise { if (args[0] === "--setup" || args[0] === "setup") { const config = await runSetupWizard(); applyConfig(config); + // Store companion for deferred write after config system is ready + if (config.companion) { + (globalThis as any).__pendingCompanion = config.companion; + } // Remove --setup from args so the CLI doesn't try to parse it args.shift(); + // Also remove from process.argv so Commander.js doesn't see it + const setupIdx = process.argv.indexOf("--setup"); + if (setupIdx !== -1) process.argv.splice(setupIdx, 1); + const setupIdx2 = process.argv.indexOf("setup"); + if (setupIdx2 !== -1) process.argv.splice(setupIdx2, 1); if (args.length === 0) { // Continue to normal REPL } @@ -93,6 +102,9 @@ async function main(): Promise { // First run, no config, no Anthropic key, interactive mode → show wizard const config = await runSetupWizard(); applyConfig(config); + if (config.companion) { + (globalThis as any).__pendingCompanion = config.companion; + } } else if (hasConfig()) { // Load saved config and apply to environment const config = loadConfig(); diff --git a/src/entrypoints/init.ts b/src/entrypoints/init.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/mcp.ts b/src/entrypoints/mcp.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sandboxTypes.ts b/src/entrypoints/sandboxTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/controlSchemas.ts b/src/entrypoints/sdk/controlSchemas.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/controlTypes.js b/src/entrypoints/sdk/controlTypes.js old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/controlTypes.ts b/src/entrypoints/sdk/controlTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/coreSchemas.ts b/src/entrypoints/sdk/coreSchemas.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/coreTypes.generated.ts b/src/entrypoints/sdk/coreTypes.generated.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/coreTypes.ts b/src/entrypoints/sdk/coreTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/runtimeTypes.js b/src/entrypoints/sdk/runtimeTypes.js old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/runtimeTypes.ts b/src/entrypoints/sdk/runtimeTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/sdkUtilityTypes.ts b/src/entrypoints/sdk/sdkUtilityTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/settingsTypes.generated.ts b/src/entrypoints/sdk/settingsTypes.generated.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/sdk/toolTypes.ts b/src/entrypoints/sdk/toolTypes.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/src/bootstrap/state.ts b/src/entrypoints/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/entrypoints/src/state/AppStateStore.ts b/src/entrypoints/src/state/AppStateStore.ts old mode 100644 new mode 100755 diff --git a/src/environment-runner/main.ts b/src/environment-runner/main.ts old mode 100644 new mode 100755 diff --git a/src/history.ts b/src/history.ts old mode 100644 new mode 100755 diff --git a/src/hooks/fileSuggestions.ts b/src/hooks/fileSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/context/notifications.ts b/src/hooks/notifs/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/ink.ts b/src/hooks/notifs/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/services/claudeAiLimits.ts b/src/hooks/notifs/src/services/claudeAiLimits.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/services/claudeAiLimitsHook.ts b/src/hooks/notifs/src/services/claudeAiLimitsHook.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/services/mcp/types.ts b/src/hooks/notifs/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/services/oauth/getOauthProfile.ts b/src/hooks/notifs/src/services/oauth/getOauthProfile.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/state/AppState.ts b/src/hooks/notifs/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/auth.ts b/src/hooks/notifs/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/billing.ts b/src/hooks/notifs/src/utils/billing.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/bundledMode.ts b/src/hooks/notifs/src/utils/bundledMode.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/config.ts b/src/hooks/notifs/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/doctorDiagnostic.ts b/src/hooks/notifs/src/utils/doctorDiagnostic.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/envUtils.ts b/src/hooks/notifs/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/fastMode.ts b/src/hooks/notifs/src/utils/fastMode.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/format.ts b/src/hooks/notifs/src/utils/format.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/ide.ts b/src/hooks/notifs/src/utils/ide.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/model/deprecation.ts b/src/hooks/notifs/src/utils/model/deprecation.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/src/utils/nativeInstaller/index.ts b/src/hooks/notifs/src/utils/nativeInstaller/index.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useAntOrgWarningNotification.ts b/src/hooks/notifs/useAntOrgWarningNotification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useAutoModeUnavailableNotification.ts b/src/hooks/notifs/useAutoModeUnavailableNotification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx b/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx old mode 100644 new mode 100755 index 4fc3c5d..94f9443 --- a/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +++ b/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx @@ -30,7 +30,7 @@ async function _temp2() { logEvent("tengu_switch_to_subscription_notice_shown", {}); return { key: "switch-to-subscription", - jsx: Use your existing Claude {subscriptionType} plan with Claude Code{" "}· /login to activate, + jsx: Use your existing Claude {subscriptionType} plan with 嘉陵江-code{" "}· /login to activate, priority: "low" }; } diff --git a/src/hooks/notifs/useDeprecationWarningNotification.tsx b/src/hooks/notifs/useDeprecationWarningNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useFastModeNotification.tsx b/src/hooks/notifs/useFastModeNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useIDEStatusIndicator.tsx b/src/hooks/notifs/useIDEStatusIndicator.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useInstallMessages.tsx b/src/hooks/notifs/useInstallMessages.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useLspInitializationNotification.tsx b/src/hooks/notifs/useLspInitializationNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useMcpConnectivityStatus.tsx b/src/hooks/notifs/useMcpConnectivityStatus.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useModelMigrationNotifications.tsx b/src/hooks/notifs/useModelMigrationNotifications.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useNpmDeprecationNotification.tsx b/src/hooks/notifs/useNpmDeprecationNotification.tsx old mode 100644 new mode 100755 index 345eefd..bb6214e --- a/src/hooks/notifs/useNpmDeprecationNotification.tsx +++ b/src/hooks/notifs/useNpmDeprecationNotification.tsx @@ -2,7 +2,7 @@ import { isInBundledMode } from 'src/utils/bundledMode.js'; import { getCurrentInstallationType } from 'src/utils/doctorDiagnostic.js'; import { isEnvTruthy } from 'src/utils/envUtils.js'; import { useStartupNotification } from './useStartupNotification.js'; -const NPM_DEPRECATION_MESSAGE = 'Claude Code has switched from npm to native installer. Run `claude install` or see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options.'; +const NPM_DEPRECATION_MESSAGE = '嘉陵江-code has switched from npm to native installer. Run `jialing install` or see the documentation for more options.'; export function useNpmDeprecationNotification() { useStartupNotification(_temp); } diff --git a/src/hooks/notifs/usePluginAutoupdateNotification.tsx b/src/hooks/notifs/usePluginAutoupdateNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/usePluginInstallationStatus.tsx b/src/hooks/notifs/usePluginInstallationStatus.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useRateLimitWarningNotification.tsx b/src/hooks/notifs/useRateLimitWarningNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useSettingsErrors.tsx b/src/hooks/notifs/useSettingsErrors.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useStartupNotification.ts b/src/hooks/notifs/useStartupNotification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/notifs/useTeammateShutdownNotification.ts b/src/hooks/notifs/useTeammateShutdownNotification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/renderPlaceholder.ts b/src/hooks/renderPlaceholder.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/bootstrap/state.ts b/src/hooks/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/components/PromptInput/PromptInputFooterSuggestions.ts b/src/hooks/src/components/PromptInput/PromptInputFooterSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/components/PromptInput/inputModes.ts b/src/hooks/src/components/PromptInput/inputModes.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/context/notifications.ts b/src/hooks/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/hooks/fileSuggestions.ts b/src/hooks/src/hooks/fileSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/ink.ts b/src/hooks/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/ink/components/TerminalSizeContext.ts b/src/hooks/src/ink/components/TerminalSizeContext.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/services/analytics/index.ts b/src/hooks/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/services/analytics/metadata.ts b/src/hooks/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/services/mcp/types.ts b/src/hooks/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/state/AppState.ts b/src/hooks/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/tools/AgentTool/agentColorManager.ts b/src/hooks/src/tools/AgentTool/agentColorManager.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/tools/AgentTool/loadAgentsDir.ts b/src/hooks/src/tools/AgentTool/loadAgentsDir.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/conversationRecovery.ts b/src/hooks/src/utils/conversationRecovery.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/fileRead.ts b/src/hooks/src/utils/fileRead.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/format.ts b/src/hooks/src/utils/format.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/log.ts b/src/hooks/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/markdownConfigLoader.ts b/src/hooks/src/utils/markdownConfigLoader.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/path.ts b/src/hooks/src/utils/path.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/teleport/api.ts b/src/hooks/src/utils/teleport/api.ts old mode 100644 new mode 100755 diff --git a/src/hooks/src/utils/theme.ts b/src/hooks/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/PermissionContext.ts b/src/hooks/toolPermission/PermissionContext.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/handlers/coordinatorHandler.ts b/src/hooks/toolPermission/handlers/coordinatorHandler.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/handlers/interactiveHandler.ts b/src/hooks/toolPermission/handlers/interactiveHandler.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/handlers/src/utils/debug.ts b/src/hooks/toolPermission/handlers/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/handlers/swarmWorkerHandler.ts b/src/hooks/toolPermission/handlers/swarmWorkerHandler.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/permissionLogging.ts b/src/hooks/toolPermission/permissionLogging.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/src/services/analytics/index.ts b/src/hooks/toolPermission/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/hooks/toolPermission/src/services/analytics/metadata.ts b/src/hooks/toolPermission/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/hooks/unifiedSuggestions.ts b/src/hooks/unifiedSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useAfterFirstRender.ts b/src/hooks/useAfterFirstRender.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useApiKeyVerification.ts b/src/hooks/useApiKeyVerification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useArrowKeyHistory.tsx b/src/hooks/useArrowKeyHistory.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useAssistantHistory.ts b/src/hooks/useAssistantHistory.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useAwaySummary.ts b/src/hooks/useAwaySummary.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useBackgroundTaskNavigation.ts b/src/hooks/useBackgroundTaskNavigation.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useBlink.ts b/src/hooks/useBlink.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useCanUseTool.tsx b/src/hooks/useCanUseTool.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useCancelRequest.ts b/src/hooks/useCancelRequest.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useChromeExtensionNotification.tsx b/src/hooks/useChromeExtensionNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useClaudeCodeHintRecommendation.tsx b/src/hooks/useClaudeCodeHintRecommendation.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useClipboardImageHint.ts b/src/hooks/useClipboardImageHint.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useCommandKeybindings.tsx b/src/hooks/useCommandKeybindings.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useCommandQueue.ts b/src/hooks/useCommandQueue.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useCopyOnSelect.ts b/src/hooks/useCopyOnSelect.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useDeferredHookMessages.ts b/src/hooks/useDeferredHookMessages.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useDiffData.ts b/src/hooks/useDiffData.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useDiffInIDE.ts b/src/hooks/useDiffInIDE.ts old mode 100644 new mode 100755 index 8fb0d10..e192bd0 --- a/src/hooks/useDiffInIDE.ts +++ b/src/hooks/useDiffInIDE.ts @@ -60,7 +60,7 @@ export function useDiffInIDE({ const sha = useMemo(() => randomUUID().slice(0, 6), []) const tabName = useMemo( - () => `✻ [Claude Code] ${basename(filePath)} (${sha}) ⧉`, + () => `✻ [嘉陵江-code] ${basename(filePath)} (${sha}) ⧉`, [filePath, sha], ) diff --git a/src/hooks/useDirectConnect.ts b/src/hooks/useDirectConnect.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useDoublePress.ts b/src/hooks/useDoublePress.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useDynamicConfig.ts b/src/hooks/useDynamicConfig.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useElapsedTime.ts b/src/hooks/useElapsedTime.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useExitOnCtrlCD.ts b/src/hooks/useExitOnCtrlCD.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useExitOnCtrlCDWithKeybindings.ts b/src/hooks/useExitOnCtrlCDWithKeybindings.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useFileHistorySnapshotInit.ts b/src/hooks/useFileHistorySnapshotInit.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useGlobalKeybindings.tsx b/src/hooks/useGlobalKeybindings.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useHistorySearch.ts b/src/hooks/useHistorySearch.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useIDEIntegration.tsx b/src/hooks/useIDEIntegration.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useIdeAtMentioned.ts b/src/hooks/useIdeAtMentioned.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useIdeConnectionStatus.ts b/src/hooks/useIdeConnectionStatus.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useIdeLogging.ts b/src/hooks/useIdeLogging.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useIdeSelection.ts b/src/hooks/useIdeSelection.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useInboxPoller.ts b/src/hooks/useInboxPoller.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useInputBuffer.ts b/src/hooks/useInputBuffer.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useIssueFlagBanner.ts b/src/hooks/useIssueFlagBanner.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useLogMessages.ts b/src/hooks/useLogMessages.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useLspPluginRecommendation.tsx b/src/hooks/useLspPluginRecommendation.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useMailboxBridge.ts b/src/hooks/useMailboxBridge.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMainLoopModel.ts b/src/hooks/useMainLoopModel.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useManagePlugins.ts b/src/hooks/useManagePlugins.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMemoryUsage.ts b/src/hooks/useMemoryUsage.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMergedClients.ts b/src/hooks/useMergedClients.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMergedCommands.ts b/src/hooks/useMergedCommands.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMergedTools.ts b/src/hooks/useMergedTools.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useMinDisplayTime.ts b/src/hooks/useMinDisplayTime.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useNotifyAfterTimeout.ts b/src/hooks/useNotifyAfterTimeout.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useOfficialMarketplaceNotification.tsx b/src/hooks/useOfficialMarketplaceNotification.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/usePasteHandler.ts b/src/hooks/usePasteHandler.ts old mode 100644 new mode 100755 diff --git a/src/hooks/usePluginRecommendationBase.tsx b/src/hooks/usePluginRecommendationBase.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/usePrStatus.ts b/src/hooks/usePrStatus.ts old mode 100644 new mode 100755 diff --git a/src/hooks/usePromptSuggestion.ts b/src/hooks/usePromptSuggestion.ts old mode 100644 new mode 100755 diff --git a/src/hooks/usePromptsFromClaudeInChrome.tsx b/src/hooks/usePromptsFromClaudeInChrome.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useQueueProcessor.ts b/src/hooks/useQueueProcessor.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useRemoteSession.ts b/src/hooks/useRemoteSession.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useReplBridge.tsx b/src/hooks/useReplBridge.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useSSHSession.ts b/src/hooks/useSSHSession.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useScheduledTasks.ts b/src/hooks/useScheduledTasks.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSearchInput.ts b/src/hooks/useSearchInput.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSessionBackgrounding.ts b/src/hooks/useSessionBackgrounding.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSettings.ts b/src/hooks/useSettings.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSettingsChange.ts b/src/hooks/useSettingsChange.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSkillImprovementSurvey.ts b/src/hooks/useSkillImprovementSurvey.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSkillsChange.ts b/src/hooks/useSkillsChange.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSwarmInitialization.ts b/src/hooks/useSwarmInitialization.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useSwarmPermissionPoller.ts b/src/hooks/useSwarmPermissionPoller.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTaskListWatcher.ts b/src/hooks/useTaskListWatcher.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTasksV2.ts b/src/hooks/useTasksV2.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTeammateViewAutoExit.ts b/src/hooks/useTeammateViewAutoExit.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTeleportResume.tsx b/src/hooks/useTeleportResume.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useTerminalSize.ts b/src/hooks/useTerminalSize.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTextInput.ts b/src/hooks/useTextInput.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTimeout.ts b/src/hooks/useTimeout.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTurnDiffs.ts b/src/hooks/useTurnDiffs.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useTypeahead.tsx b/src/hooks/useTypeahead.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/useUpdateNotification.ts b/src/hooks/useUpdateNotification.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useVimInput.ts b/src/hooks/useVimInput.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useVirtualScroll.ts b/src/hooks/useVirtualScroll.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useVoice.ts b/src/hooks/useVoice.ts old mode 100644 new mode 100755 index 30c0991..85be058 --- a/src/hooks/useVoice.ts +++ b/src/hooks/useVoice.ts @@ -501,7 +501,7 @@ export function useVoice({ } else if (!hadAudioSignal) { // Distinguish silent mic (capture issue) from speech not recognized. onErrorRef.current?.( - 'No audio detected from microphone. Check that the correct input device is selected and that Claude Code has microphone access.', + 'No audio detected from microphone. Check that the correct input device is selected and that 嘉陵江-code has microphone access.', ) } else { onErrorRef.current?.('No speech detected.') diff --git a/src/hooks/useVoiceEnabled.ts b/src/hooks/useVoiceEnabled.ts old mode 100644 new mode 100755 diff --git a/src/hooks/useVoiceIntegration.tsx b/src/hooks/useVoiceIntegration.tsx old mode 100644 new mode 100755 diff --git a/src/ink.ts b/src/ink.ts old mode 100644 new mode 100755 diff --git a/src/ink/Ansi.tsx b/src/ink/Ansi.tsx old mode 100644 new mode 100755 diff --git a/src/ink/bidi.ts b/src/ink/bidi.ts old mode 100644 new mode 100755 diff --git a/src/ink/clearTerminal.ts b/src/ink/clearTerminal.ts old mode 100644 new mode 100755 diff --git a/src/ink/colorize.ts b/src/ink/colorize.ts old mode 100644 new mode 100755 diff --git a/src/ink/components/AlternateScreen.tsx b/src/ink/components/AlternateScreen.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/App.tsx b/src/ink/components/App.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/AppContext.ts b/src/ink/components/AppContext.ts old mode 100644 new mode 100755 diff --git a/src/ink/components/Box.tsx b/src/ink/components/Box.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/Button.tsx b/src/ink/components/Button.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/ClockContext.tsx b/src/ink/components/ClockContext.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/CursorDeclarationContext.ts b/src/ink/components/CursorDeclarationContext.ts old mode 100644 new mode 100755 diff --git a/src/ink/components/ErrorOverview.tsx b/src/ink/components/ErrorOverview.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/Link.tsx b/src/ink/components/Link.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/Newline.tsx b/src/ink/components/Newline.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/NoSelect.tsx b/src/ink/components/NoSelect.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/RawAnsi.tsx b/src/ink/components/RawAnsi.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/ScrollBox.tsx b/src/ink/components/ScrollBox.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/Spacer.tsx b/src/ink/components/Spacer.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/StdinContext.ts b/src/ink/components/StdinContext.ts old mode 100644 new mode 100755 diff --git a/src/ink/components/TerminalFocusContext.tsx b/src/ink/components/TerminalFocusContext.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/TerminalSizeContext.tsx b/src/ink/components/TerminalSizeContext.tsx old mode 100644 new mode 100755 diff --git a/src/ink/components/Text.tsx b/src/ink/components/Text.tsx old mode 100644 new mode 100755 diff --git a/src/ink/constants.ts b/src/ink/constants.ts old mode 100644 new mode 100755 diff --git a/src/ink/cursor.ts b/src/ink/cursor.ts old mode 100644 new mode 100755 diff --git a/src/ink/devtools.ts b/src/ink/devtools.ts old mode 100644 new mode 100755 diff --git a/src/ink/dom.ts b/src/ink/dom.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/click-event.ts b/src/ink/events/click-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/dispatcher.ts b/src/ink/events/dispatcher.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/emitter.ts b/src/ink/events/emitter.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/event-handlers.ts b/src/ink/events/event-handlers.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/event.ts b/src/ink/events/event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/focus-event.ts b/src/ink/events/focus-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/input-event.ts b/src/ink/events/input-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/keyboard-event.ts b/src/ink/events/keyboard-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/paste-event.ts b/src/ink/events/paste-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/resize-event.ts b/src/ink/events/resize-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/terminal-event.ts b/src/ink/events/terminal-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/events/terminal-focus-event.ts b/src/ink/events/terminal-focus-event.ts old mode 100644 new mode 100755 diff --git a/src/ink/focus.ts b/src/ink/focus.ts old mode 100644 new mode 100755 diff --git a/src/ink/frame.ts b/src/ink/frame.ts old mode 100644 new mode 100755 diff --git a/src/ink/get-max-width.ts b/src/ink/get-max-width.ts old mode 100644 new mode 100755 diff --git a/src/ink/hit-test.ts b/src/ink/hit-test.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-animation-frame.ts b/src/ink/hooks/use-animation-frame.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-app.ts b/src/ink/hooks/use-app.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-declared-cursor.ts b/src/ink/hooks/use-declared-cursor.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-input.ts b/src/ink/hooks/use-input.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-interval.ts b/src/ink/hooks/use-interval.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-search-highlight.ts b/src/ink/hooks/use-search-highlight.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-selection.ts b/src/ink/hooks/use-selection.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-stdin.ts b/src/ink/hooks/use-stdin.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-tab-status.ts b/src/ink/hooks/use-tab-status.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-terminal-focus.ts b/src/ink/hooks/use-terminal-focus.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-terminal-title.ts b/src/ink/hooks/use-terminal-title.ts old mode 100644 new mode 100755 diff --git a/src/ink/hooks/use-terminal-viewport.ts b/src/ink/hooks/use-terminal-viewport.ts old mode 100644 new mode 100755 diff --git a/src/ink/ink.tsx b/src/ink/ink.tsx old mode 100644 new mode 100755 diff --git a/src/ink/instances.ts b/src/ink/instances.ts old mode 100644 new mode 100755 diff --git a/src/ink/layout/engine.ts b/src/ink/layout/engine.ts old mode 100644 new mode 100755 diff --git a/src/ink/layout/geometry.ts b/src/ink/layout/geometry.ts old mode 100644 new mode 100755 diff --git a/src/ink/layout/node.ts b/src/ink/layout/node.ts old mode 100644 new mode 100755 diff --git a/src/ink/layout/yoga.ts b/src/ink/layout/yoga.ts old mode 100644 new mode 100755 diff --git a/src/ink/line-width-cache.ts b/src/ink/line-width-cache.ts old mode 100644 new mode 100755 diff --git a/src/ink/log-update.ts b/src/ink/log-update.ts old mode 100644 new mode 100755 diff --git a/src/ink/measure-element.ts b/src/ink/measure-element.ts old mode 100644 new mode 100755 diff --git a/src/ink/measure-text.ts b/src/ink/measure-text.ts old mode 100644 new mode 100755 diff --git a/src/ink/node-cache.ts b/src/ink/node-cache.ts old mode 100644 new mode 100755 diff --git a/src/ink/optimizer.ts b/src/ink/optimizer.ts old mode 100644 new mode 100755 diff --git a/src/ink/output.ts b/src/ink/output.ts old mode 100644 new mode 100755 diff --git a/src/ink/parse-keypress.ts b/src/ink/parse-keypress.ts old mode 100644 new mode 100755 diff --git a/src/ink/reconciler.ts b/src/ink/reconciler.ts old mode 100644 new mode 100755 diff --git a/src/ink/render-border.ts b/src/ink/render-border.ts old mode 100644 new mode 100755 diff --git a/src/ink/render-node-to-output.ts b/src/ink/render-node-to-output.ts old mode 100644 new mode 100755 diff --git a/src/ink/render-to-screen.ts b/src/ink/render-to-screen.ts old mode 100644 new mode 100755 diff --git a/src/ink/renderer.ts b/src/ink/renderer.ts old mode 100644 new mode 100755 diff --git a/src/ink/root.ts b/src/ink/root.ts old mode 100644 new mode 100755 diff --git a/src/ink/screen.ts b/src/ink/screen.ts old mode 100644 new mode 100755 diff --git a/src/ink/searchHighlight.ts b/src/ink/searchHighlight.ts old mode 100644 new mode 100755 diff --git a/src/ink/selection.ts b/src/ink/selection.ts old mode 100644 new mode 100755 diff --git a/src/ink/squash-text-nodes.ts b/src/ink/squash-text-nodes.ts old mode 100644 new mode 100755 diff --git a/src/ink/src/bootstrap/state.ts b/src/ink/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/ink/src/native-ts/yoga-layout/index.ts b/src/ink/src/native-ts/yoga-layout/index.ts old mode 100644 new mode 100755 diff --git a/src/ink/src/utils/debug.ts b/src/ink/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/ink/src/utils/log.ts b/src/ink/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/ink/stringWidth.ts b/src/ink/stringWidth.ts old mode 100644 new mode 100755 diff --git a/src/ink/styles.ts b/src/ink/styles.ts old mode 100644 new mode 100755 diff --git a/src/ink/supports-hyperlinks.ts b/src/ink/supports-hyperlinks.ts old mode 100644 new mode 100755 diff --git a/src/ink/tabstops.ts b/src/ink/tabstops.ts old mode 100644 new mode 100755 diff --git a/src/ink/terminal-focus-state.ts b/src/ink/terminal-focus-state.ts old mode 100644 new mode 100755 diff --git a/src/ink/terminal-querier.ts b/src/ink/terminal-querier.ts old mode 100644 new mode 100755 diff --git a/src/ink/terminal.ts b/src/ink/terminal.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio.ts b/src/ink/termio.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/ansi.ts b/src/ink/termio/ansi.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/csi.ts b/src/ink/termio/csi.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/dec.ts b/src/ink/termio/dec.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/esc.ts b/src/ink/termio/esc.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/osc.ts b/src/ink/termio/osc.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/parser.ts b/src/ink/termio/parser.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/sgr.ts b/src/ink/termio/sgr.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/tokenize.ts b/src/ink/termio/tokenize.ts old mode 100644 new mode 100755 diff --git a/src/ink/termio/types.ts b/src/ink/termio/types.ts old mode 100644 new mode 100755 diff --git a/src/ink/useTerminalNotification.ts b/src/ink/useTerminalNotification.ts old mode 100644 new mode 100755 diff --git a/src/ink/warn.ts b/src/ink/warn.ts old mode 100644 new mode 100755 diff --git a/src/ink/widest-line.ts b/src/ink/widest-line.ts old mode 100644 new mode 100755 diff --git a/src/ink/wrap-text.ts b/src/ink/wrap-text.ts old mode 100644 new mode 100755 diff --git a/src/ink/wrapAnsi.ts b/src/ink/wrapAnsi.ts old mode 100644 new mode 100755 diff --git a/src/interactiveHelpers.tsx b/src/interactiveHelpers.tsx old mode 100644 new mode 100755 index 384ca91..747df61 --- a/src/interactiveHelpers.tsx +++ b/src/interactiveHelpers.tsx @@ -108,6 +108,14 @@ export async function showSetupScreens(root: Root, permissionMode: PermissionMod } const config = getGlobalConfig(); let onboardingShown = false; + + // Skip onboarding entirely for OpenAI-compatible providers (Ollama, DeepSeek, etc.) + const { getAPIProvider } = await import('./utils/model/providers.js'); + if (getAPIProvider() === 'openai') { + if (!config.hasCompletedOnboarding) completeOnboarding(); + return false; + } + if (!config.theme || !config.hasCompletedOnboarding // always show onboarding at least once ) { onboardingShown = true; diff --git a/src/jobs/classifier.ts b/src/jobs/classifier.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/KeybindingContext.tsx b/src/keybindings/KeybindingContext.tsx old mode 100644 new mode 100755 diff --git a/src/keybindings/KeybindingProviderSetup.tsx b/src/keybindings/KeybindingProviderSetup.tsx old mode 100644 new mode 100755 diff --git a/src/keybindings/defaultBindings.ts b/src/keybindings/defaultBindings.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/loadUserBindings.ts b/src/keybindings/loadUserBindings.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/match.ts b/src/keybindings/match.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/parser.ts b/src/keybindings/parser.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/reservedShortcuts.ts b/src/keybindings/reservedShortcuts.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/resolver.ts b/src/keybindings/resolver.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/schema.ts b/src/keybindings/schema.ts old mode 100644 new mode 100755 index 3e61d63..9a1b6de --- a/src/keybindings/schema.ts +++ b/src/keybindings/schema.ts @@ -224,7 +224,7 @@ export const KeybindingsSchema = lazySchema(() => .describe('Array of keybinding blocks by context'), }) .describe( - 'Claude Code keybindings configuration. Customize keyboard shortcuts by context.', + '嘉陵江-code keybindings configuration. Customize keyboard shortcuts by context.', ), ) diff --git a/src/keybindings/shortcutFormat.ts b/src/keybindings/shortcutFormat.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/src/utils/semver.ts b/src/keybindings/src/utils/semver.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/template.ts b/src/keybindings/template.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/types.ts b/src/keybindings/types.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/useKeybinding.ts b/src/keybindings/useKeybinding.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/useShortcutDisplay.ts b/src/keybindings/useShortcutDisplay.ts old mode 100644 new mode 100755 diff --git a/src/keybindings/validate.ts b/src/keybindings/validate.ts old mode 100644 new mode 100755 diff --git a/src/main.tsx b/src/main.tsx old mode 100644 new mode 100755 index 27cd8a3..2bff7c7 --- a/src/main.tsx +++ b/src/main.tsx @@ -916,6 +916,24 @@ async function run(): Promise { await init(); profileCheckpoint('preAction_after_init'); + // ── Deferred companion write ── + // The setup wizard stores companion data in a global var because + // saveGlobalConfig requires enableConfigs() (called inside init()). + // Now that init() has completed, write it through the proper API. + const pendingCompanion = (globalThis as any).__pendingCompanion; + if (pendingCompanion) { + delete (globalThis as any).__pendingCompanion; + saveGlobalConfig(current => ({ + ...current, + companion: { + name: pendingCompanion.name, + personality: pendingCompanion.personality, + hatchedAt: pendingCompanion.hatchedAt, + }, + companionSpeciesOverride: pendingCompanion.species, + })); + } + // process.title on Windows sets the console title directly; on POSIX, // terminal shell integration may mirror the process name to the tab. // After init() so settings.json env can also gate this (gh-4765). @@ -965,7 +983,7 @@ async function run(): Promise { } profileCheckpoint('preAction_after_settings_sync'); }); - program.name('claude').description(`Claude Code - starts an interactive session by default, use -p/--print for non-interactive output`).argument('[prompt]', 'Your prompt', String) + program.name('jialing').description(`嘉陵江-code - starts an interactive session by default, use -p/--print for non-interactive output`).argument('[prompt]', 'Your prompt', String) // Subcommands inherit helpOption via commander's copyInheritedSettings — // setting it once here covers mcp, plugin, auth, and all other subcommands. .helpOption('-h, --help', 'Display help for command').option('-d, --debug [filter]', 'Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")', (_value: string | true) => { @@ -1019,7 +1037,7 @@ async function run(): Promise { if (prompt === 'code') { logEvent('tengu_code_prompt_ignored', {}); // biome-ignore lint/suspicious/noConsole:: intentional console output - console.warn(chalk.yellow('Tip: You can launch Claude Code with just `claude`')); + console.warn(chalk.yellow('Tip: You can launch 嘉陵江-code with just `jialing`')); prompt = undefined; } @@ -3805,7 +3823,7 @@ async function run(): Promise { pendingHookMessages }, renderAndRun); } - }).version(`${MACRO.VERSION} (Claude Code)`, '-v, --version', 'Output the version number'); + }).version(`${MACRO.VERSION} (嘉陵江-code)`, '-v, --version', 'Output the version number'); // Worktree flags program.option('-w, --worktree [name]', 'Create a new git worktree for this session (optionally specify a name)'); @@ -3892,7 +3910,7 @@ async function run(): Promise { // claude mcp const mcp = program.command('mcp').description('Configure and manage MCP servers').configureHelp(createSortedHelpConfig()).enablePositionalOptions(); - mcp.command('serve').description(`Start the Claude Code MCP server`).option('-d, --debug', 'Enable debug mode', () => true).option('--verbose', 'Override verbose mode setting from config', () => true).action(async ({ + mcp.command('serve').description(`Start the 嘉陵江-code MCP server`).option('-d, --debug', 'Enable debug mode', () => true).option('--verbose', 'Override verbose mode setting from config', () => true).action(async ({ debug, verbose }: { @@ -3959,7 +3977,7 @@ async function run(): Promise { // claude server if (feature('DIRECT_CONNECT')) { - program.command('server').description('Start a Claude Code session server').option('--port ', 'HTTP port', '0').option('--host ', 'Bind address', '0.0.0.0').option('--auth-token ', 'Bearer token for auth').option('--unix ', 'Listen on a unix domain socket').option('--workspace ', 'Default working directory for sessions that do not specify cwd').option('--idle-timeout ', 'Idle timeout for detached sessions in ms (0 = never expire)', '600000').option('--max-sessions ', 'Maximum concurrent sessions (0 = unlimited)', '32').action(async (opts: { + program.command('server').description('Start a 嘉陵江-code session server').option('--port ', 'HTTP port', '0').option('--host ', 'Bind address', '0.0.0.0').option('--auth-token ', 'Bearer token for auth').option('--unix ', 'Listen on a unix domain socket').option('--workspace ', 'Default working directory for sessions that do not specify cwd').option('--idle-timeout ', 'Idle timeout for detached sessions in ms (0 = never expire)', '600000').option('--max-sessions ', 'Maximum concurrent sessions (0 = unlimited)', '32').action(async (opts: { port: string; host: string; authToken?: string; @@ -4043,11 +4061,11 @@ async function run(): Promise { // this action it means the argv rewrite didn't fire (e.g. user ran // `claude ssh` with no host) — just print usage. if (feature('SSH_REMOTE')) { - program.command('ssh [dir]').description('Run Claude Code on a remote host over SSH. Deploys the binary and ' + 'tunnels API auth back through your local machine — no remote setup needed.').option('--permission-mode ', 'Permission mode for the remote session').option('--dangerously-skip-permissions', 'Skip all permission prompts on the remote (dangerous)').option('--local', 'e2e test mode — spawn the child CLI locally (skip ssh/deploy). ' + 'Exercises the auth proxy and unix-socket plumbing without a remote host.').action(async () => { + program.command('ssh [dir]').description('Run 嘉陵江-code on a remote host over SSH. Deploys the binary and ' + 'tunnels API auth back through your local machine — no remote setup needed.').option('--permission-mode ', 'Permission mode for the remote session').option('--dangerously-skip-permissions', 'Skip all permission prompts on the remote (dangerous)').option('--local', 'e2e test mode — spawn the child CLI locally (skip ssh/deploy). ' + 'Exercises the auth proxy and unix-socket plumbing without a remote host.').action(async () => { // Argv rewriting in main() should have consumed `ssh ` before // commander runs. Reaching here means host was missing or the // rewrite predicate didn't match. - process.stderr.write('Usage: claude ssh [dir]\n\n' + "Runs Claude Code on a remote Linux host. You don't need to install\n" + 'anything on the remote or run `claude auth login` there — the binary is\n' + 'deployed over SSH and API auth tunnels back through your local machine.\n'); + process.stderr.write('Usage: jialing ssh [dir]\n\n' + "Runs 嘉陵江-code on a remote Linux host. You don't need to install\n" + 'anything on the remote or run `jialing auth login` there — the binary is\n' + 'deployed over SSH and API auth tunnels back through your local machine.\n'); process.exit(1); }); } @@ -4056,7 +4074,7 @@ async function run(): Promise { // Interactive mode (without -p) is handled by early argv rewriting in main() // which redirects to the main command with full TUI support. if (feature('DIRECT_CONNECT')) { - program.command('open ').description('Connect to a Claude Code server (internal — use cc:// URLs)').option('-p, --print [prompt]', 'Print mode (headless)').option('--output-format ', 'Output format: text, json, stream-json', 'text').action(async (ccUrl: string, opts: { + program.command('open ').description('Connect to a 嘉陵江-code server (internal — use cc:// URLs)').option('-p, --print [prompt]', 'Print mode (headless)').option('--output-format ', 'Output format: text, json, stream-json', 'text').action(async (ccUrl: string, opts: { print?: string | true; outputFormat?: string; }, _command) => { @@ -4145,7 +4163,7 @@ async function run(): Promise { const coworkOption = () => new Option('--cowork', 'Use cowork_plugins directory').hideHelp(); // Plugin validate command - const pluginCmd = program.command('plugin').alias('plugins').description('Manage Claude Code plugins').configureHelp(createSortedHelpConfig()); + const pluginCmd = program.command('plugin').alias('plugins').description('Manage 嘉陵江-code plugins').configureHelp(createSortedHelpConfig()); pluginCmd.command('validate ').description('Validate a plugin or marketplace manifest').addOption(coworkOption()).action(async (manifestPath: string, options: { cowork?: boolean; }) => { @@ -4168,7 +4186,7 @@ async function run(): Promise { }); // Marketplace subcommands - const marketplaceCmd = pluginCmd.command('marketplace').description('Manage Claude Code marketplaces').configureHelp(createSortedHelpConfig()); + const marketplaceCmd = pluginCmd.command('marketplace').description('Manage 嘉陵江-code marketplaces').configureHelp(createSortedHelpConfig()); marketplaceCmd.command('add ').description('Add a marketplace from a URL, path, or GitHub repo').addOption(coworkOption()).option('--sparse ', 'Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins').option('--scope ', 'Where to declare the marketplace: user (default), project, or local').action(async (source: string, options: { cowork?: boolean; sparse?: string[]; @@ -4343,7 +4361,7 @@ async function run(): Promise { } // Doctor command - check installation health - program.command('doctor').description('Check the health of your Claude Code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.').action(async () => { + program.command('doctor').description('Check the health of your 嘉陵江-code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.').action(async () => { const [{ doctorHandler }, { @@ -4392,7 +4410,7 @@ async function run(): Promise { } // claude install - program.command('install [target]').description('Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version)').option('--force', 'Force installation even if already installed').action(async (target: string | undefined, options: { + program.command('install [target]').description('Install 嘉陵江-code native build. Use [target] to specify version (stable, latest, or specific version)').option('--force', 'Force installation even if already installed').action(async (target: string | undefined, options: { force?: boolean; }) => { const { diff --git a/src/memdir/findRelevantMemories.ts b/src/memdir/findRelevantMemories.ts old mode 100644 new mode 100755 diff --git a/src/memdir/memdir.ts b/src/memdir/memdir.ts old mode 100644 new mode 100755 diff --git a/src/memdir/memoryAge.ts b/src/memdir/memoryAge.ts old mode 100644 new mode 100755 diff --git a/src/memdir/memoryScan.ts b/src/memdir/memoryScan.ts old mode 100644 new mode 100755 diff --git a/src/memdir/memoryShapeTelemetry.ts b/src/memdir/memoryShapeTelemetry.ts old mode 100644 new mode 100755 diff --git a/src/memdir/memoryTypes.ts b/src/memdir/memoryTypes.ts old mode 100644 new mode 100755 diff --git a/src/memdir/paths.ts b/src/memdir/paths.ts old mode 100644 new mode 100755 diff --git a/src/memdir/teamMemPaths.ts b/src/memdir/teamMemPaths.ts old mode 100644 new mode 100755 diff --git a/src/memdir/teamMemPrompts.ts b/src/memdir/teamMemPrompts.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateAutoUpdatesToSettings.ts b/src/migrations/migrateAutoUpdatesToSettings.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateBypassPermissionsAcceptedToSettings.ts b/src/migrations/migrateBypassPermissionsAcceptedToSettings.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateEnableAllProjectMcpServersToSettings.ts b/src/migrations/migrateEnableAllProjectMcpServersToSettings.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateFennecToOpus.ts b/src/migrations/migrateFennecToOpus.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateLegacyOpusToCurrent.ts b/src/migrations/migrateLegacyOpusToCurrent.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateOpusToOpus1m.ts b/src/migrations/migrateOpusToOpus1m.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts b/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateSonnet1mToSonnet45.ts b/src/migrations/migrateSonnet1mToSonnet45.ts old mode 100644 new mode 100755 diff --git a/src/migrations/migrateSonnet45ToSonnet46.ts b/src/migrations/migrateSonnet45ToSonnet46.ts old mode 100644 new mode 100755 diff --git a/src/migrations/resetAutoModeOptInForDefaultOffer.ts b/src/migrations/resetAutoModeOptInForDefaultOffer.ts old mode 100644 new mode 100755 diff --git a/src/migrations/resetProToOpusDefault.ts b/src/migrations/resetProToOpusDefault.ts old mode 100644 new mode 100755 diff --git a/src/migrations/src/services/analytics/index.ts b/src/migrations/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/moreright/useMoreRight.tsx b/src/moreright/useMoreRight.tsx old mode 100644 new mode 100755 diff --git a/src/native-ts/file-index/index.ts b/src/native-ts/file-index/index.ts old mode 100644 new mode 100755 diff --git a/src/native-ts/yoga-layout/enums.ts b/src/native-ts/yoga-layout/enums.ts old mode 100644 new mode 100755 diff --git a/src/native-ts/yoga-layout/index.ts b/src/native-ts/yoga-layout/index.ts old mode 100644 new mode 100755 diff --git a/src/outputStyles/loadOutputStylesDir.ts b/src/outputStyles/loadOutputStylesDir.ts old mode 100644 new mode 100755 diff --git a/src/plugins/builtinPlugins.ts b/src/plugins/builtinPlugins.ts old mode 100644 new mode 100755 diff --git a/src/plugins/bundled/index.ts b/src/plugins/bundled/index.ts old mode 100644 new mode 100755 diff --git a/src/proactive/index.ts b/src/proactive/index.ts old mode 100644 new mode 100755 diff --git a/src/projectOnboardingState.ts b/src/projectOnboardingState.ts old mode 100644 new mode 100755 diff --git a/src/query.ts b/src/query.ts old mode 100644 new mode 100755 diff --git a/src/query/config.ts b/src/query/config.ts old mode 100644 new mode 100755 diff --git a/src/query/deps.ts b/src/query/deps.ts old mode 100644 new mode 100755 diff --git a/src/query/stopHooks.ts b/src/query/stopHooks.ts old mode 100644 new mode 100755 diff --git a/src/query/tokenBudget.ts b/src/query/tokenBudget.ts old mode 100644 new mode 100755 diff --git a/src/query/transitions.ts b/src/query/transitions.ts old mode 100644 new mode 100755 diff --git a/src/remote/RemoteSessionManager.ts b/src/remote/RemoteSessionManager.ts old mode 100644 new mode 100755 diff --git a/src/remote/SessionsWebSocket.ts b/src/remote/SessionsWebSocket.ts old mode 100644 new mode 100755 diff --git a/src/remote/remotePermissionBridge.ts b/src/remote/remotePermissionBridge.ts old mode 100644 new mode 100755 diff --git a/src/remote/sdkMessageAdapter.ts b/src/remote/sdkMessageAdapter.ts old mode 100644 new mode 100755 diff --git a/src/replLauncher.tsx b/src/replLauncher.tsx old mode 100644 new mode 100755 diff --git a/src/schemas/hooks.ts b/src/schemas/hooks.ts old mode 100644 new mode 100755 diff --git a/src/schemas/src/entrypoints/agentSdkTypes.ts b/src/schemas/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/screens/Doctor.tsx b/src/screens/Doctor.tsx old mode 100644 new mode 100755 diff --git a/src/screens/REPL.tsx b/src/screens/REPL.tsx old mode 100644 new mode 100755 index 858b2f9..01dbb53 --- a/src/screens/REPL.tsx +++ b/src/screens/REPL.tsx @@ -1300,7 +1300,7 @@ export function REPL({ // Dismiss the companion bubble on scroll — it's absolute-positioned // at bottom-right and covers transcript content. Scrolling = user is // trying to read something under it. - if (feature('BUDDY')) { + if (true) { setAppState(prev => prev.companionReaction === undefined ? prev : { ...prev, companionReaction: undefined @@ -2805,7 +2805,7 @@ export function REPL({ })) { onQueryEvent(event); } - if (feature('BUDDY')) { + if (typeof fireCompanionObserver === 'function') { void fireCompanionObserver(messagesRef.current, reaction => setAppState(prev => prev.companionReaction === reaction ? prev : { ...prev, companionReaction: reaction as string | undefined @@ -4559,7 +4559,7 @@ export function REPL({ {feature('MESSAGE_ACTIONS') && isFullscreenEnvEnabled() && !disableMessageActions ? : null} - : undefined} modal={centeredModal} modalScrollRef={modalScrollRef} dividerYRef={dividerYRef} hidePill={!!viewedAgentTask} hideSticky={!!viewedTeammateTask} newMessageCount={unseenDivider?.count ?? 0} onPillClick={() => { + : undefined} modal={centeredModal} modalScrollRef={modalScrollRef} dividerYRef={dividerYRef} hidePill={!!viewedAgentTask} hideSticky={!!viewedTeammateTask} newMessageCount={unseenDivider?.count ?? 0} onPillClick={() => { setCursor(null); jumpToNew(scrollRef.current); }} scrollable={<> @@ -4584,8 +4584,8 @@ export function REPL({ {showSpinner && 0} leaderIsIdle={!isLoading} />} {!showSpinner && !isLoading && !userInputOnProcessing && !hasRunningTeammates && isBriefOnly && !viewedAgentTask && } {isFullscreenEnvEnabled() && } - } bottom={ - {feature('BUDDY') && companionNarrow && isFullscreenEnvEnabled() && companionVisible ? : null} + } bottom={ + {true && companionNarrow && isFullscreenEnvEnabled() && companionVisible ? : null} {permissionStickyFooter} {/* Immediate local-jsx commands (/btw, /sandbox, /assistant, @@ -4989,7 +4989,7 @@ export function REPL({ }} />} {("external" as string) === 'ant' && } - {feature('BUDDY') && !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? : null} + {true && !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? : null} } /> ; diff --git a/src/screens/ResumeConversation.tsx b/src/screens/ResumeConversation.tsx old mode 100644 new mode 100755 diff --git a/src/screens/src/cli/structuredIO.ts b/src/screens/src/cli/structuredIO.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/AutoModeOptInDialog.ts b/src/screens/src/components/AutoModeOptInDialog.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/ClaudeCodeHint/PluginHintMenu.ts b/src/screens/src/components/ClaudeCodeHint/PluginHintMenu.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/DesktopUpsell/DesktopUpsellStartup.ts b/src/screens/src/components/DesktopUpsell/DesktopUpsellStartup.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/FeedbackSurvey/FeedbackSurvey.ts b/src/screens/src/components/FeedbackSurvey/FeedbackSurvey.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/FeedbackSurvey/useFeedbackSurvey.ts b/src/screens/src/components/FeedbackSurvey/useFeedbackSurvey.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/FeedbackSurvey/useMemorySurvey.ts b/src/screens/src/components/FeedbackSurvey/useMemorySurvey.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/FeedbackSurvey/usePostCompactSurvey.ts b/src/screens/src/components/FeedbackSurvey/usePostCompactSurvey.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/KeybindingWarnings.ts b/src/screens/src/components/KeybindingWarnings.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/LspRecommendation/LspRecommendationMenu.ts b/src/screens/src/components/LspRecommendation/LspRecommendationMenu.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/SandboxViolationExpandedView.ts b/src/screens/src/components/SandboxViolationExpandedView.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/mcp/McpParsingWarnings.ts b/src/screens/src/components/mcp/McpParsingWarnings.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/messages/UserTextMessage.ts b/src/screens/src/components/messages/UserTextMessage.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/components/permissions/SandboxPermissionRequest.ts b/src/screens/src/components/permissions/SandboxPermissionRequest.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useAutoModeUnavailableNotification.ts b/src/screens/src/hooks/notifs/useAutoModeUnavailableNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useCanSwitchToExistingSubscription.ts b/src/screens/src/hooks/notifs/useCanSwitchToExistingSubscription.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useDeprecationWarningNotification.ts b/src/screens/src/hooks/notifs/useDeprecationWarningNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useFastModeNotification.ts b/src/screens/src/hooks/notifs/useFastModeNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useIDEStatusIndicator.ts b/src/screens/src/hooks/notifs/useIDEStatusIndicator.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useInstallMessages.ts b/src/screens/src/hooks/notifs/useInstallMessages.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useLspInitializationNotification.ts b/src/screens/src/hooks/notifs/useLspInitializationNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useMcpConnectivityStatus.ts b/src/screens/src/hooks/notifs/useMcpConnectivityStatus.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useModelMigrationNotifications.ts b/src/screens/src/hooks/notifs/useModelMigrationNotifications.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useNpmDeprecationNotification.ts b/src/screens/src/hooks/notifs/useNpmDeprecationNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/usePluginAutoupdateNotification.ts b/src/screens/src/hooks/notifs/usePluginAutoupdateNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/usePluginInstallationStatus.ts b/src/screens/src/hooks/notifs/usePluginInstallationStatus.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useRateLimitWarningNotification.ts b/src/screens/src/hooks/notifs/useRateLimitWarningNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useSettingsErrors.ts b/src/screens/src/hooks/notifs/useSettingsErrors.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/notifs/useTeammateShutdownNotification.ts b/src/screens/src/hooks/notifs/useTeammateShutdownNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useAwaySummary.ts b/src/screens/src/hooks/useAwaySummary.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useChromeExtensionNotification.ts b/src/screens/src/hooks/useChromeExtensionNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useClaudeCodeHintRecommendation.ts b/src/screens/src/hooks/useClaudeCodeHintRecommendation.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useFileHistorySnapshotInit.ts b/src/screens/src/hooks/useFileHistorySnapshotInit.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useLspPluginRecommendation.ts b/src/screens/src/hooks/useLspPluginRecommendation.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useOfficialMarketplaceNotification.ts b/src/screens/src/hooks/useOfficialMarketplaceNotification.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/usePromptsFromClaudeInChrome.ts b/src/screens/src/hooks/usePromptsFromClaudeInChrome.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/hooks/useTerminalSize.ts b/src/screens/src/hooks/useTerminalSize.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/services/analytics/growthbook.ts b/src/screens/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/services/analytics/index.ts b/src/screens/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/services/mcp/MCPConnectionManager.ts b/src/screens/src/services/mcp/MCPConnectionManager.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/services/tips/tipScheduler.ts b/src/screens/src/services/tips/tipScheduler.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/context.ts b/src/screens/src/utils/context.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/envUtils.ts b/src/screens/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/permissions/bypassPermissionsKillswitch.ts b/src/screens/src/utils/permissions/bypassPermissionsKillswitch.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/plugins/performStartupChecks.ts b/src/screens/src/utils/plugins/performStartupChecks.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/sandbox/sandbox-adapter.ts b/src/screens/src/utils/sandbox/sandbox-adapter.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/settings/constants.ts b/src/screens/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/screens/src/utils/theme.ts b/src/screens/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/self-hosted-runner/main.ts b/src/self-hosted-runner/main.ts old mode 100644 new mode 100755 diff --git a/src/server/backends/dangerousBackend.ts b/src/server/backends/dangerousBackend.ts old mode 100644 new mode 100755 diff --git a/src/server/connectHeadless.ts b/src/server/connectHeadless.ts old mode 100644 new mode 100755 diff --git a/src/server/createDirectConnectSession.ts b/src/server/createDirectConnectSession.ts old mode 100644 new mode 100755 diff --git a/src/server/directConnectManager.ts b/src/server/directConnectManager.ts old mode 100644 new mode 100755 diff --git a/src/server/lockfile.ts b/src/server/lockfile.ts old mode 100644 new mode 100755 diff --git a/src/server/parseConnectUrl.ts b/src/server/parseConnectUrl.ts old mode 100644 new mode 100755 diff --git a/src/server/server.ts b/src/server/server.ts old mode 100644 new mode 100755 diff --git a/src/server/serverBanner.ts b/src/server/serverBanner.ts old mode 100644 new mode 100755 diff --git a/src/server/serverLog.ts b/src/server/serverLog.ts old mode 100644 new mode 100755 diff --git a/src/server/sessionManager.ts b/src/server/sessionManager.ts old mode 100644 new mode 100755 diff --git a/src/server/types.ts b/src/server/types.ts old mode 100644 new mode 100755 diff --git a/src/services/AgentSummary/agentSummary.ts b/src/services/AgentSummary/agentSummary.ts old mode 100644 new mode 100755 diff --git a/src/services/MagicDocs/magicDocs.ts b/src/services/MagicDocs/magicDocs.ts old mode 100644 new mode 100755 diff --git a/src/services/MagicDocs/prompts.ts b/src/services/MagicDocs/prompts.ts old mode 100644 new mode 100755 diff --git a/src/services/PromptSuggestion/promptSuggestion.ts b/src/services/PromptSuggestion/promptSuggestion.ts old mode 100644 new mode 100755 diff --git a/src/services/PromptSuggestion/speculation.ts b/src/services/PromptSuggestion/speculation.ts old mode 100644 new mode 100755 diff --git a/src/services/SessionMemory/prompts.ts b/src/services/SessionMemory/prompts.ts old mode 100644 new mode 100755 diff --git a/src/services/SessionMemory/sessionMemory.ts b/src/services/SessionMemory/sessionMemory.ts old mode 100644 new mode 100755 diff --git a/src/services/SessionMemory/sessionMemoryUtils.ts b/src/services/SessionMemory/sessionMemoryUtils.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/config.ts b/src/services/analytics/config.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/datadog.ts b/src/services/analytics/datadog.ts old mode 100644 new mode 100755 index 2f8bdf3..fd44174 --- a/src/services/analytics/datadog.ts +++ b/src/services/analytics/datadog.ts @@ -249,8 +249,8 @@ export async function trackDatadogEvent( ddsource: 'nodejs', ddtags: tags.join(','), message: eventName, - service: 'claude-code', - hostname: 'claude-code', + service: 'jialing-code', + hostname: 'jialing-code', env: process.env.USER_TYPE, } diff --git a/src/services/analytics/firstPartyEventLogger.ts b/src/services/analytics/firstPartyEventLogger.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/firstPartyEventLoggingExporter.ts b/src/services/analytics/firstPartyEventLoggingExporter.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/growthbook.ts b/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/index.ts b/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/metadata.ts b/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/sink.ts b/src/services/analytics/sink.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/sinkKillswitch.ts b/src/services/analytics/sinkKillswitch.ts old mode 100644 new mode 100755 diff --git a/src/services/analytics/src/utils/user.ts b/src/services/analytics/src/utils/user.ts old mode 100644 new mode 100755 diff --git a/src/services/api/adminRequests.ts b/src/services/api/adminRequests.ts old mode 100644 new mode 100755 diff --git a/src/services/api/bootstrap.ts b/src/services/api/bootstrap.ts old mode 100644 new mode 100755 diff --git a/src/services/api/claude.ts b/src/services/api/claude.ts old mode 100644 new mode 100755 diff --git a/src/services/api/client.ts b/src/services/api/client.ts old mode 100644 new mode 100755 index 166eaad..f785aa3 --- a/src/services/api/client.ts +++ b/src/services/api/client.ts @@ -297,6 +297,12 @@ export async function getAnthropicClient({ return new AnthropicVertex(vertexArgs) as unknown as Anthropic } + // OpenAI-compatible provider (GPT, DeepSeek, Qwen, Ollama, etc.) + if (getAPIProvider() === 'openai') { + const { createOpenAIAdapterClient } = await import('./openaiAdapter.js') + return createOpenAIAdapterClient({ maxRetries, model }) + } + // Determine authentication method based on available tokens const clientConfig: ConstructorParameters[0] = { apiKey: isClaudeAISubscriber() ? null : apiKey || getAnthropicApiKey(), diff --git a/src/services/api/dumpPrompts.ts b/src/services/api/dumpPrompts.ts old mode 100644 new mode 100755 diff --git a/src/services/api/emptyUsage.ts b/src/services/api/emptyUsage.ts old mode 100644 new mode 100755 diff --git a/src/services/api/errorUtils.ts b/src/services/api/errorUtils.ts old mode 100644 new mode 100755 diff --git a/src/services/api/errors.ts b/src/services/api/errors.ts old mode 100644 new mode 100755 index 6ab10fc..a347859 --- a/src/services/api/errors.ts +++ b/src/services/api/errors.ts @@ -1192,8 +1192,8 @@ export function getErrorMessageIfRefusal( logEvent('tengu_refusal_api_response', {}) const baseMessage = getIsNonInteractiveSession() - ? `${API_ERROR_MESSAGE_PREFIX}: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Try rephrasing the request or attempting a different approach.` - : `${API_ERROR_MESSAGE_PREFIX}: Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.` + ? `${API_ERROR_MESSAGE_PREFIX}: 嘉陵江-code is unable to respond to this request, which appears to violate our Usage Policy. Try rephrasing the request or attempting a different approach.` + : `${API_ERROR_MESSAGE_PREFIX}: 嘉陵江-code is unable to respond to this request, which appears to violate our Usage Policy. Please double press esc to edit your last message or start a new session for 嘉陵江-code to assist with a different task.` const modelSuggestion = model !== 'claude-sonnet-4-20250514' diff --git a/src/services/api/filesApi.ts b/src/services/api/filesApi.ts old mode 100644 new mode 100755 diff --git a/src/services/api/firstTokenDate.ts b/src/services/api/firstTokenDate.ts old mode 100644 new mode 100755 diff --git a/src/services/api/grove.ts b/src/services/api/grove.ts old mode 100644 new mode 100755 diff --git a/src/services/api/logging.ts b/src/services/api/logging.ts old mode 100644 new mode 100755 diff --git a/src/services/api/metricsOptOut.ts b/src/services/api/metricsOptOut.ts old mode 100644 new mode 100755 diff --git a/src/services/api/openaiAdapter.ts b/src/services/api/openaiAdapter.ts old mode 100644 new mode 100755 index 9bb64b9..6fe452d --- a/src/services/api/openaiAdapter.ts +++ b/src/services/api/openaiAdapter.ts @@ -419,7 +419,10 @@ async function* openaiStreamToAnthropicEvents( yield { type: 'content_block_stop', index: tcBlock.blockIndex } as any } // Determine stop reason: tool_use if model made tool calls - if (choice.finish_reason === 'tool_calls') { + // Check finish_reason AND whether we actually received any tool_calls + // Many OpenAI-compatible providers (Ollama, Qwen, etc.) return "stop" + // even when the model issued tool calls, so we also check toolCallBlocks. + if (choice.finish_reason === 'tool_calls' || toolCallBlocks.size > 0) { hasToolCalls = true } } diff --git a/src/services/api/overageCreditGrant.ts b/src/services/api/overageCreditGrant.ts old mode 100644 new mode 100755 diff --git a/src/services/api/promptCacheBreakDetection.ts b/src/services/api/promptCacheBreakDetection.ts old mode 100644 new mode 100755 diff --git a/src/services/api/providerRegistry.ts b/src/services/api/providerRegistry.ts new file mode 100755 index 0000000..4084b27 --- /dev/null +++ b/src/services/api/providerRegistry.ts @@ -0,0 +1,418 @@ +/** + * 嘉陵江-code 大模型厂商注册表 + * + * 支持 20+ 国内外大模型厂商,用户只需设置 PROVIDER 和对应的 API_KEY 即可使用。 + * 所有厂商均通过 OpenAI 兼容接口接入。 + * + * 使用方式: + * export PROVIDER=deepseek + * export DEEPSEEK_API_KEY=sk-xxx + * jialing-code + */ + +export interface ProviderConfig { + /** 显示名称 */ + name: string + /** API 基础 URL */ + baseURL: string + /** 默认模型 */ + defaultModel: string + /** API Key 环境变量名(按优先级排列) */ + apiKeyEnvVars: string[] + /** 可用模型列表 */ + models: Array<{ id: string; name: string; description: string }> +} + +// ============================================================================ +// 厂商注册表 — 按字母序排列 +// ============================================================================ +export const PROVIDER_REGISTRY: Record = { + + // ── 国际厂商 ────────────────────────────────────────────── + + openai: { + name: 'OpenAI', + baseURL: 'https://api.openai.com/v1', + defaultModel: 'gpt-4o', + apiKeyEnvVars: ['OPENAI_API_KEY'], + models: [ + { id: 'gpt-4o', name: 'GPT-4o', description: '最新旗舰多模态模型' }, + { id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: '快速经济型模型' }, + { id: 'gpt-4.1', name: 'GPT-4.1', description: 'GPT-4.1 旗舰' }, + { id: 'gpt-4.1-mini', name: 'GPT-4.1 Mini', description: 'GPT-4.1 经济型' }, + { id: 'gpt-4.1-nano', name: 'GPT-4.1 Nano', description: 'GPT-4.1 超轻量' }, + { id: 'o3', name: 'o3', description: '推理模型' }, + { id: 'o3-mini', name: 'o3-mini', description: '推理经济型' }, + { id: 'o4-mini', name: 'o4-mini', description: '最新推理经济型' }, + ], + }, + + google: { + name: 'Google Gemini', + baseURL: 'https://generativelanguage.googleapis.com/v1beta/openai', + defaultModel: 'gemini-2.5-flash', + apiKeyEnvVars: ['GOOGLE_API_KEY', 'GEMINI_API_KEY'], + models: [ + { id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: '最强推理模型,100 万 token 上下文' }, + { id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', description: '快速思考模型' }, + { id: 'gemini-2.0-flash', name: 'Gemini 2.0 Flash', description: '下一代功能、速度' }, + { id: 'gemini-2.0-flash-lite', name: 'Gemini 2.0 Flash Lite', description: '性价比最高' }, + ], + }, + + mistral: { + name: 'Mistral AI', + baseURL: 'https://api.mistral.ai/v1', + defaultModel: 'mistral-large-latest', + apiKeyEnvVars: ['MISTRAL_API_KEY'], + models: [ + { id: 'mistral-large-latest', name: 'Mistral Large', description: '旗舰模型,推理 & 编码' }, + { id: 'mistral-medium-latest', name: 'Mistral Medium', description: '中等尺寸均衡型' }, + { id: 'mistral-small-latest', name: 'Mistral Small', description: '快速经济型' }, + { id: 'codestral-latest', name: 'Codestral', description: '专用编码模型' }, + { id: 'pixtral-large-latest', name: 'Pixtral Large', description: '多模态旗舰' }, + ], + }, + + groq: { + name: 'Groq', + baseURL: 'https://api.groq.com/openai/v1', + defaultModel: 'llama-3.3-70b-versatile', + apiKeyEnvVars: ['GROQ_API_KEY'], + models: [ + { id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B', description: 'Meta Llama 3.3,极速推理' }, + { id: 'llama-3.1-8b-instant', name: 'Llama 3.1 8B', description: '超低延迟' }, + { id: 'mixtral-8x7b-32768', name: 'Mixtral 8x7B', description: 'Mistral MoE 模型' }, + { id: 'gemma2-9b-it', name: 'Gemma 2 9B', description: 'Google Gemma 2' }, + { id: 'deepseek-r1-distill-llama-70b', name: 'DeepSeek R1 Distill 70B', description: 'DeepSeek R1 蒸馏版' }, + ], + }, + + xai: { + name: 'xAI (Grok)', + baseURL: 'https://api.x.ai/v1', + defaultModel: 'grok-3', + apiKeyEnvVars: ['XAI_API_KEY', 'GROK_API_KEY'], + models: [ + { id: 'grok-3', name: 'Grok 3', description: 'xAI 最强旗舰模型' }, + { id: 'grok-3-mini', name: 'Grok 3 Mini', description: '快速思考模型' }, + { id: 'grok-3-fast', name: 'Grok 3 Fast', description: '低延迟版本' }, + { id: 'grok-2', name: 'Grok 2', description: 'Grok 2 标准版' }, + ], + }, + + together: { + name: 'Together AI', + baseURL: 'https://api.together.xyz/v1', + defaultModel: 'meta-llama/Llama-3.3-70B-Instruct-Turbo', + apiKeyEnvVars: ['TOGETHER_API_KEY'], + models: [ + { id: 'meta-llama/Llama-3.3-70B-Instruct-Turbo', name: 'Llama 3.3 70B Turbo', description: 'Meta Llama 3.3 加速版' }, + { id: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', name: 'Llama 3.1 405B', description: '最大开源模型' }, + { id: 'deepseek-ai/DeepSeek-R1', name: 'DeepSeek R1', description: 'DeepSeek R1 完整版' }, + { id: 'Qwen/Qwen2.5-72B-Instruct-Turbo', name: 'Qwen 2.5 72B', description: '通义千问 72B 加速版' }, + { id: 'mistralai/Mixtral-8x22B-Instruct-v0.1', name: 'Mixtral 8x22B', description: 'Mistral MoE 旗舰' }, + ], + }, + + cohere: { + name: 'Cohere', + baseURL: 'https://api.cohere.com/compatibility/v1', + defaultModel: 'command-a-03-2025', + apiKeyEnvVars: ['COHERE_API_KEY', 'CO_API_KEY'], + models: [ + { id: 'command-a-03-2025', name: 'Command A', description: '最强企业级模型' }, + { id: 'command-r-plus', name: 'Command R+', description: 'RAG 优化旗舰' }, + { id: 'command-r', name: 'Command R', description: 'RAG 优化标准' }, + { id: 'command-light', name: 'Command Light', description: '轻量快速' }, + ], + }, + + perplexity: { + name: 'Perplexity', + baseURL: 'https://api.perplexity.ai', + defaultModel: 'sonar-pro', + apiKeyEnvVars: ['PERPLEXITY_API_KEY', 'PPLX_API_KEY'], + models: [ + { id: 'sonar-pro', name: 'Sonar Pro', description: '高级搜索增强模型' }, + { id: 'sonar', name: 'Sonar', description: '标准搜索增强模型' }, + { id: 'sonar-reasoning-pro', name: 'Sonar Reasoning Pro', description: '推理 + 搜索' }, + { id: 'sonar-reasoning', name: 'Sonar Reasoning', description: '推理 + 搜索标准' }, + ], + }, + + // ── 国内厂商 ────────────────────────────────────────────── + + deepseek: { + name: 'DeepSeek 深度求索', + baseURL: 'https://api.deepseek.com/v1', + defaultModel: 'deepseek-chat', + apiKeyEnvVars: ['DEEPSEEK_API_KEY'], + models: [ + { id: 'deepseek-chat', name: 'DeepSeek V3', description: '通用对话,MoE 架构,性价比极高' }, + { id: 'deepseek-reasoner', name: 'DeepSeek R1', description: '推理模型,支持思维链' }, + ], + }, + + qwen: { + name: '阿里云 通义千问', + baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1', + defaultModel: 'qwen-max-latest', + apiKeyEnvVars: ['QWEN_API_KEY', 'DASHSCOPE_API_KEY'], + models: [ + { id: 'qwen-max-latest', name: 'Qwen Max', description: '旗舰模型,综合最强' }, + { id: 'qwen-plus-latest', name: 'Qwen Plus', description: '性能均衡型' }, + { id: 'qwen-turbo-latest', name: 'Qwen Turbo', description: '超快响应' }, + { id: 'qwen-long', name: 'Qwen Long', description: '1000 万 token 长上下文' }, + { id: 'qwen-coder-plus-latest', name: 'Qwen Coder Plus', description: '编程专用增强版' }, + { id: 'qwq-plus-latest', name: 'QwQ Plus', description: '推理模型,思维链' }, + ], + }, + + zhipu: { + name: '智谱 AI (GLM)', + baseURL: 'https://open.bigmodel.cn/api/paas/v4', + defaultModel: 'glm-4-plus', + apiKeyEnvVars: ['ZHIPU_API_KEY', 'GLM_API_KEY'], + models: [ + { id: 'glm-4-plus', name: 'GLM-4 Plus', description: '旗舰对话模型' }, + { id: 'glm-4-long', name: 'GLM-4 Long', description: '100 万 token 上下文' }, + { id: 'glm-4-flash', name: 'GLM-4 Flash', description: '免费快速模型' }, + { id: 'glm-4-flashx', name: 'GLM-4 FlashX', description: '极速推理' }, + { id: 'codegeex-4', name: 'CodeGeeX 4', description: '编程专用模型' }, + ], + }, + + moonshot: { + name: 'Moonshot AI (Kimi)', + baseURL: 'https://api.moonshot.cn/v1', + defaultModel: 'moonshot-v1-128k', + apiKeyEnvVars: ['MOONSHOT_API_KEY', 'KIMI_API_KEY'], + models: [ + { id: 'moonshot-v1-8k', name: 'Moonshot 8K', description: '8K 上下文' }, + { id: 'moonshot-v1-32k', name: 'Moonshot 32K', description: '32K 上下文' }, + { id: 'moonshot-v1-128k', name: 'Moonshot 128K', description: '128K 长上下文' }, + ], + }, + + doubao: { + name: '字节跳动 豆包', + baseURL: 'https://ark.cn-beijing.volces.com/api/v3', + defaultModel: 'doubao-1.5-pro-32k', + apiKeyEnvVars: ['DOUBAO_API_KEY', 'ARK_API_KEY', 'VOLC_API_KEY'], + models: [ + { id: 'doubao-1.5-pro-32k', name: '豆包 1.5 Pro 32K', description: '旗舰模型' }, + { id: 'doubao-1.5-pro-256k', name: '豆包 1.5 Pro 256K', description: '长上下文旗舰' }, + { id: 'doubao-1.5-lite-32k', name: '豆包 1.5 Lite 32K', description: '轻量快速' }, + { id: 'doubao-1.5-vision-pro-32k', name: '豆包 Vision Pro', description: '多模态理解' }, + ], + }, + + baidu: { + name: '百度 文心一言', + baseURL: 'https://qianfan.baidubce.com/v2', + defaultModel: 'ernie-4.5-8k', + apiKeyEnvVars: ['BAIDU_API_KEY', 'QIANFAN_API_KEY'], + models: [ + { id: 'ernie-4.5-8k', name: 'ERNIE 4.5', description: '文心大模型 4.5 旗舰' }, + { id: 'ernie-4.5-turbo-128k', name: 'ERNIE 4.5 Turbo 128K', description: '长上下文快速' }, + { id: 'ernie-x1-turbo-32k', name: 'ERNIE X1 Turbo', description: '推理模型' }, + { id: 'ernie-3.5-8k', name: 'ERNIE 3.5', description: '经典版本' }, + ], + }, + + yi: { + name: '零一万物 (Yi)', + baseURL: 'https://api.lingyiwanwu.com/v1', + defaultModel: 'yi-lightning', + apiKeyEnvVars: ['YI_API_KEY', 'LINGYIWANWU_API_KEY'], + models: [ + { id: 'yi-lightning', name: 'Yi Lightning', description: '极速推理,性价比高' }, + { id: 'yi-large', name: 'Yi Large', description: '旗舰模型' }, + { id: 'yi-large-turbo', name: 'Yi Large Turbo', description: '旗舰加速版' }, + { id: 'yi-medium', name: 'Yi Medium', description: '均衡型' }, + ], + }, + + stepfun: { + name: '阶跃星辰 (Step)', + baseURL: 'https://api.stepfun.com/v1', + defaultModel: 'step-2-16k', + apiKeyEnvVars: ['STEPFUN_API_KEY', 'STEP_API_KEY'], + models: [ + { id: 'step-2-16k', name: 'Step 2', description: '万亿参数 MoE 旗舰' }, + { id: 'step-1-200k', name: 'Step 1 200K', description: '200K 长上下文' }, + { id: 'step-1-32k', name: 'Step 1 32K', description: '标准上下文' }, + { id: 'step-1-flash', name: 'Step 1 Flash', description: '极速响应' }, + ], + }, + + baichuan: { + name: '百川智能', + baseURL: 'https://api.baichuan-ai.com/v1', + defaultModel: 'Baichuan4-Air', + apiKeyEnvVars: ['BAICHUAN_API_KEY'], + models: [ + { id: 'Baichuan4-Air', name: 'Baichuan 4 Air', description: '旗舰模型' }, + { id: 'Baichuan4-Turbo', name: 'Baichuan 4 Turbo', description: '快速版' }, + { id: 'Baichuan3-Turbo', name: 'Baichuan 3 Turbo', description: '经典快速' }, + ], + }, + + minimax: { + name: 'MiniMax', + baseURL: 'https://api.minimax.chat/v1', + defaultModel: 'MiniMax-Text-01', + apiKeyEnvVars: ['MINIMAX_API_KEY'], + models: [ + { id: 'MiniMax-Text-01', name: 'MiniMax Text 01', description: '400 万 token 旗舰模型' }, + { id: 'MiniMax-M1', name: 'MiniMax M1', description: '推理增强模型' }, + { id: 'abab6.5s-chat', name: 'ABAB 6.5s', description: '标准对话' }, + ], + }, + + spark: { + name: '讯飞星火', + baseURL: 'https://spark-api-open.xf-yun.com/v1', + defaultModel: 'spark-max', + apiKeyEnvVars: ['SPARK_API_KEY', 'XFYUN_API_KEY'], + models: [ + { id: 'spark-max', name: '星火 Max', description: '旗舰模型' }, + { id: 'spark-pro-128k', name: '星火 Pro 128K', description: '长上下文专业版' }, + { id: 'spark-lite', name: '星火 Lite', description: '轻量免费' }, + ], + }, + + hunyuan: { + name: '腾讯混元', + baseURL: 'https://api.hunyuan.cloud.tencent.com/v1', + defaultModel: 'hunyuan-turbos-latest', + apiKeyEnvVars: ['HUNYUAN_API_KEY', 'TENCENT_API_KEY'], + models: [ + { id: 'hunyuan-turbos-latest', name: '混元 Turbo S', description: '旗舰模型' }, + { id: 'hunyuan-large-latest', name: '混元 Large', description: '超大参数' }, + { id: 'hunyuan-standard-latest', name: '混元 Standard', description: '均衡型' }, + { id: 'hunyuan-lite-latest', name: '混元 Lite', description: '轻量版' }, + ], + }, + + // ── 聚合平台 ────────────────────────────────────────────── + + siliconflow: { + name: '硅基流动 SiliconFlow', + baseURL: 'https://api.siliconflow.cn/v1', + defaultModel: 'deepseek-ai/DeepSeek-V3', + apiKeyEnvVars: ['SILICONFLOW_API_KEY', 'SF_API_KEY'], + models: [ + { id: 'deepseek-ai/DeepSeek-V3', name: 'DeepSeek V3', description: 'DeepSeek V3 托管版' }, + { id: 'deepseek-ai/DeepSeek-R1', name: 'DeepSeek R1', description: 'DeepSeek R1 托管版' }, + { id: 'Qwen/Qwen2.5-72B-Instruct', name: 'Qwen 2.5 72B', description: '通义千问 72B' }, + { id: 'Pro/Qwen/Qwen2.5-7B-Instruct', name: 'Qwen 2.5 7B (Pro)', description: '加速版' }, + { id: 'THUDM/glm-4-9b-chat', name: 'GLM-4 9B', description: '智谱 GLM-4 轻量' }, + ], + }, + + openrouter: { + name: 'OpenRouter', + baseURL: 'https://openrouter.ai/api/v1', + defaultModel: 'anthropic/claude-sonnet-4', + apiKeyEnvVars: ['OPENROUTER_API_KEY', 'OR_API_KEY'], + models: [ + { id: 'anthropic/claude-sonnet-4', name: 'Claude Sonnet 4', description: 'Anthropic Claude Sonnet' }, + { id: 'openai/gpt-4o', name: 'GPT-4o', description: 'OpenAI GPT-4o' }, + { id: 'google/gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: 'Google Gemini' }, + { id: 'deepseek/deepseek-r1', name: 'DeepSeek R1', description: 'DeepSeek R1' }, + { id: 'meta-llama/llama-3.3-70b-instruct', name: 'Llama 3.3 70B', description: 'Meta Llama' }, + ], + }, + + ollama: { + name: 'Ollama', + baseURL: 'http://218.201.19.105:11434/v1', + defaultModel: 'qwen3.5:35b', + apiKeyEnvVars: ['OLLAMA_API_KEY'], + models: [ + { id: 'qwen3.5:35b', name: 'Qwen 3.5 35B', description: '通义千问 3.5 MoE (本地)' }, + { id: 'qwen3:30b-thinking', name: 'Qwen 3 30B Thinking', description: '千问 3 思维链' }, + { id: 'qwen3:4b-thinking', name: 'Qwen 3 4B Thinking', description: '千问 3 轻量思维链' }, + { id: 'qwen2.5:7b-instruct', name: 'Qwen 2.5 7B', description: '通义千问 2.5' }, + { id: 'deepseek-r1:14b', name: 'DeepSeek R1 14B', description: 'DeepSeek 推理' }, + { id: 'deepseek-r1:32b', name: 'DeepSeek R1 32B', description: 'DeepSeek 推理大模型' }, + { id: 'deepseek-r1:70b', name: 'DeepSeek R1 70B', description: 'DeepSeek 推理旗舰' }, + { id: 'llama3.1', name: 'Llama 3.1', description: 'Meta Llama 3.1' }, + { id: 'mistral', name: 'Mistral 7B', description: 'Mistral 本地' }, + ], + }, +} + +// ============================================================================ +// 辅助函数 +// ============================================================================ + +/** 根据 PROVIDER 环境变量或自动检测获取厂商配置 */ +export function resolveProvider(): { providerId: string; config: ProviderConfig } | null { + // 1. 显式指定 PROVIDER + const explicit = process.env.PROVIDER?.toLowerCase() + if (explicit && PROVIDER_REGISTRY[explicit]) { + return { providerId: explicit, config: PROVIDER_REGISTRY[explicit] } + } + + // 2. 通过 OPENAI_BASE_URL 反向匹配厂商 + const baseURL = process.env.OPENAI_BASE_URL + if (baseURL) { + for (const [id, cfg] of Object.entries(PROVIDER_REGISTRY)) { + if (baseURL.includes(new URL(cfg.baseURL).hostname)) { + return { providerId: id, config: cfg } + } + } + // 未知 base URL,当作自定义 OpenAI 兼容 + return { + providerId: 'custom', + config: { + name: 'Custom OpenAI-Compatible', + baseURL, + defaultModel: process.env.OPENAI_MODEL || 'default', + apiKeyEnvVars: ['OPENAI_API_KEY'], + models: [], + }, + } + } + + // 3. 按 API Key 环境变量自动检测 + for (const [id, cfg] of Object.entries(PROVIDER_REGISTRY)) { + for (const envVar of cfg.apiKeyEnvVars) { + if (process.env[envVar]) { + return { providerId: id, config: cfg } + } + } + } + + // 4. 默认: Ollama 本地 — 零配置开箱即用 + return { providerId: 'ollama', config: PROVIDER_REGISTRY.ollama } +} + +/** 获取解析后的 API Key */ +export function resolveAPIKey(config: ProviderConfig): string { + for (const envVar of config.apiKeyEnvVars) { + if (process.env[envVar]) return process.env[envVar]! + } + // Fallback to OPENAI_API_KEY + return process.env.OPENAI_API_KEY || '' +} + +/** 获取所有厂商列表(用于 /model 和帮助展示) */ +export function listProviders(): Array<{ id: string; name: string; hasKey: boolean }> { + return Object.entries(PROVIDER_REGISTRY).map(([id, cfg]) => ({ + id, + name: cfg.name, + hasKey: cfg.apiKeyEnvVars.some(v => !!process.env[v]), + })) +} + +/** 检查模型是否属于任何已知厂商 */ +export function isKnownProviderModel(model: string): boolean { + for (const cfg of Object.values(PROVIDER_REGISTRY)) { + if (cfg.models.some(m => m.id === model)) return true + } + return false +} diff --git a/src/services/api/referral.ts b/src/services/api/referral.ts old mode 100644 new mode 100755 diff --git a/src/services/api/sessionIngress.ts b/src/services/api/sessionIngress.ts old mode 100644 new mode 100755 diff --git a/src/services/api/setupWizard.ts b/src/services/api/setupWizard.ts new file mode 100755 index 0000000..c7bfd2e --- /dev/null +++ b/src/services/api/setupWizard.ts @@ -0,0 +1,450 @@ +/** + * 嘉陵江-code 交互式配置引导 + * + * 首次运行或 `jl --setup` 时触发,引导用户选择厂商、填写 Key、选择模型。 + * 配置保存到 ~/.jialing-code/config.json,后续启动直接读取。 + */ +import { createInterface } from 'readline' +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs' +import { join } from 'path' +import { homedir } from 'os' +import { createHash } from 'crypto' +import { PROVIDER_REGISTRY, type ProviderConfig } from './providerRegistry.js' + +// ─── Config file ──────────────────────────────────────────────────────────── +const CONFIG_DIR = join(homedir(), '.jialing-code') +const CONFIG_FILE = join(CONFIG_DIR, 'config.json') + +export interface CompanionSetup { + name: string + personality: string + species: string + hatchedAt: number +} + +export interface JialingConfig { + provider: string + baseURL: string + apiKey: string + model: string + licenseKey?: string + companion?: CompanionSetup +} + +export function loadConfig(): JialingConfig | null { + try { + if (!existsSync(CONFIG_FILE)) return null + return JSON.parse(readFileSync(CONFIG_FILE, 'utf-8')) + } catch { + return null + } +} + +export function saveConfig(config: JialingConfig): void { + if (!existsSync(CONFIG_DIR)) mkdirSync(CONFIG_DIR, { recursive: true }) + writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2)) +} + +export function hasConfig(): boolean { + return existsSync(CONFIG_FILE) +} + +// ─── Readline helpers ─────────────────────────────────────────────────────── +function createRL() { + return createInterface({ input: process.stdin, output: process.stdout }) +} + +function ask(rl: ReturnType, question: string): Promise { + return new Promise(resolve => rl.question(question, answer => resolve(answer.trim()))) +} + +async function selectMenu(rl: ReturnType, title: string, options: Array<{ label: string; value: string }>): Promise { + console.log(`\n ${title}\n`) + for (let i = 0; i < options.length; i++) { + console.log(` ${i + 1}. ${options[i].label}`) + } + console.log() + while (true) { + const answer = await ask(rl, ` 请输入编号 (1-${options.length}): `) + const idx = parseInt(answer, 10) - 1 + if (idx >= 0 && idx < options.length) return options[idx].value + console.log(' ❌ 无效选择,请重新输入') + } +} + +// ─── Fetch models from API ────────────────────────────────────────────────── +async function fetchModels(baseURL: string, apiKey: string, providerId?: string): Promise { + try { + const url = `${baseURL.replace(/\/+$/, '')}/models` + const headers: Record = { 'Content-Type': 'application/json' } + + // Provider-specific auth headers + if (providerId === 'google') { + if (apiKey) headers['x-goog-api-key'] = apiKey + } else if (apiKey && apiKey !== 'ollama' && apiKey !== 'none') { + headers['Authorization'] = `Bearer ${apiKey}` + } + + const response = await fetch(url, { headers, signal: AbortSignal.timeout(15000) }) + if (!response.ok) return [] + const data = await response.json() as any + const models: string[] = [] + + // Standard OpenAI format: { data: [{ id: "model-name" }] } + if (data?.data && Array.isArray(data.data)) { + for (const m of data.data) { + if (m.id) models.push(m.id) + } + } + // Google format: { models: [{ name: "models/gemini-..." }] } + if (data?.models && Array.isArray(data.models)) { + for (const m of data.models) { + const name = m.name?.replace(/^models\//, '') || m.id + if (name) models.push(name) + } + } + + // Sort: shorter names first, alphabetically + models.sort((a, b) => a.length - b.length || a.localeCompare(b)) + return models + } catch { + return [] + } +} + +// ─── License check ────────────────────────────────────────────────────────── +const LICENSE_HASHES = new Set([ + '2352f11c7b38404b2ab5a135b3c429199a5a0ff7c04349c9179b3f58265f6b3a', + '6879316b9657770e488eabdc54f0bcaddc830779a7d0b1d665759c62fe21f7e6', +]) + +function verifyLicense(key: string): boolean { + const hash = createHash('sha256').update(key).digest('hex') + return LICENSE_HASHES.has(hash) +} + +// ─── Main wizard ──────────────────────────────────────────────────────────── +export async function runSetupWizard(): Promise { + const rl = createRL() + + console.log() + console.log(' ╔══════════════════════════════════════════╗') + console.log(' ║ 嘉陵江-code 配置引导 ║') + console.log(' ╚══════════════════════════════════════════╝') + + // Step 1: Choose mode + const mode = await selectMenu(rl, '请选择使用方式:', [ + { label: '使用默认服务器(需密钥)', value: 'default' }, + { label: '使用第三方大模型厂商', value: 'provider' }, + { label: '自定义 API 地址', value: 'custom' }, + ]) + + let config: JialingConfig + + if (mode === 'default') { + config = await setupDefault(rl) + } else if (mode === 'provider') { + config = await setupProvider(rl) + } else { + config = await setupCustom(rl) + } + + // Step: Companion pet setup + const companionData = await setupCompanion(rl) + if (companionData) { + config.companion = companionData + } + + saveConfig(config) + rl.close() + + console.log() + console.log(' ✅ 配置已保存!') + console.log(` 📁 配置文件: ${CONFIG_FILE}`) + console.log(` 🤖 模型: ${config.model}`) + console.log(` 🔗 地址: ${config.baseURL}`) + console.log() + console.log(' 运行 jl --setup 可重新配置') + console.log() + + return config +} + +// ─── Mode: Default server ─────────────────────────────────────────────────── +async function setupDefault(rl: ReturnType): Promise { + console.log() + while (true) { + const key = await ask(rl, ' 请输入密钥: ') + if (!key) { console.log(' ❌ 密钥不能为空'); continue } + if (!verifyLicense(key)) { console.log(' ❌ 密钥无效,请检查'); continue } + console.log(' ✅ 密钥验证通过') + + const baseURL = PROVIDER_REGISTRY.ollama.baseURL + console.log('\n 正在获取可用模型列表...') + const models = await fetchModels(baseURL, '', 'ollama') + let model: string + + if (models.length > 0) { + const options = models.map(m => ({ label: m, value: m })) + model = await selectMenu(rl, '请选择模型:', options) + } else { + console.log(' ⚠️ 无法获取模型列表,请手动输入') + model = await ask(rl, ' 模型名称 (默认 qwen3.5:35b): ') || 'qwen3.5:35b' + } + + return { provider: 'ollama', baseURL, apiKey: '', model, licenseKey: key } + } +} + +// ─── Mode: Third-party provider ───────────────────────────────────────────── +async function setupProvider(rl: ReturnType): Promise { + // Build provider menu + const providerGroups = [ + { title: '── 国际厂商 ──', ids: ['openai', 'google', 'mistral', 'groq', 'xai', 'together', 'cohere', 'perplexity'] }, + { title: '── 国内厂商 ──', ids: ['deepseek', 'qwen', 'zhipu', 'moonshot', 'doubao', 'baidu', 'yi', 'stepfun', 'baichuan', 'minimax', 'spark', 'hunyuan'] }, + { title: '── 聚合平台 ──', ids: ['siliconflow', 'openrouter', 'ollama'] }, + ] + + const options: Array<{ label: string; value: string }> = [] + for (const group of providerGroups) { + for (const id of group.ids) { + const p = PROVIDER_REGISTRY[id] + if (p) options.push({ label: `${p.name}`, value: id }) + } + } + + const providerId = await selectMenu(rl, '请选择厂商:', options) + const provider = PROVIDER_REGISTRY[providerId] + + // Get API key + let apiKey = '' + if (providerId !== 'ollama') { + const keyHint = provider.apiKeyEnvVars[0] || 'API_KEY' + apiKey = await ask(rl, `\n 请输入 ${provider.name} API Key: `) + if (!apiKey) { + console.log(' ⚠️ 未输入 Key,后续需通过环境变量设置') + } + } + + const baseURL = provider.baseURL + + // Fetch models + console.log('\n 正在获取可用模型列表...') + const models = await fetchModels(baseURL, apiKey, providerId) + + let model: string + if (models.length > 0) { + // Show fetched models + provider's recommended models + const seen = new Set() + const allOptions: Array<{ label: string; value: string }> = [] + + // Provider recommended models first + for (const m of provider.models) { + if (!seen.has(m.id)) { + seen.add(m.id) + const fetched = models.includes(m.id) ? ' ✓' : ' (推荐)' + allOptions.push({ label: `${m.id} — ${m.description}${fetched}`, value: m.id }) + } + } + // Then remaining fetched models + for (const m of models) { + if (!seen.has(m)) { + seen.add(m) + allOptions.push({ label: m, value: m }) + } + } + + // Limit display + if (allOptions.length > 30) { + const truncated = allOptions.slice(0, 30) + truncated.push({ label: '手动输入其他模型...', value: '__manual__' }) + model = await selectMenu(rl, `${provider.name} 可用模型 (共${allOptions.length}个):`, truncated) + } else { + model = await selectMenu(rl, `${provider.name} 可用模型:`, allOptions) + } + + if (model === '__manual__') { + model = await ask(rl, `\n 请输入模型名称: `) || provider.defaultModel + } + } else { + // Can't fetch, show provider's recommended models + if (provider.models.length > 0) { + const options = provider.models.map(m => ({ label: `${m.id} — ${m.description}`, value: m.id })) + options.push({ label: '手动输入...', value: '__manual__' }) + model = await selectMenu(rl, `${provider.name} 推荐模型:`, options) + if (model === '__manual__') { + model = await ask(rl, `\n 请输入模型名称: `) || provider.defaultModel + } + } else { + model = await ask(rl, `\n 请输入模型名称 (默认 ${provider.defaultModel}): `) || provider.defaultModel + } + } + + return { provider: providerId, baseURL, apiKey, model } +} + +// ─── Mode: Custom URL ─────────────────────────────────────────────────────── +async function setupCustom(rl: ReturnType): Promise { + const baseURL = await ask(rl, '\n 请输入 API 地址 (如 http://localhost:11434/v1): ') + if (!baseURL) { + console.log(' ❌ 地址不能为空') + return setupCustom(rl) + } + + const apiKey = await ask(rl, ' 请输入 API Key (无需则直接回车): ') || '' + + console.log('\n 正在获取可用模型列表...') + const models = await fetchModels(baseURL, apiKey) + + let model: string + if (models.length > 0) { + const options = models.slice(0, 30).map(m => ({ label: m, value: m })) + options.push({ label: '手动输入...', value: '__manual__' }) + model = await selectMenu(rl, '可用模型:', options) + if (model === '__manual__') { + model = await ask(rl, '\n 请输入模型名称: ') + } + } else { + console.log(' ⚠️ 无法获取模型列表') + model = await ask(rl, ' 请输入模型名称: ') + } + + if (!model) { + console.log(' ❌ 模型不能为空') + return setupCustom(rl) + } + + return { provider: 'custom', baseURL, apiKey, model } +} + +// ─── Apply config to environment ──────────────────────────────────────────── +// ─── Species display names ────────────────────────────────────────────────── +const SPECIES_NAMES: Record = { + duck: '🦆 鸭子 (duck)', + goose: '🪿 鹅 (goose)', + blob: '🫧 粘液怪 (blob)', + cat: '🐱 猫咪 (cat)', + dragon: '🐲 龙 (dragon)', + octopus: '🐙 章鱼 (octopus)', + owl: '🦉 猫头鹰 (owl)', + penguin: '🐧 企鹅 (penguin)', + turtle: '🐢 乌龟 (turtle)', + snail: '🐌 蜗牛 (snail)', + ghost: '👻 幽灵 (ghost)', + axolotl: '🦎 六角恐龙 (axolotl)', + capybara: '🦫 水豚 (capybara)', + cactus: '🌵 仙人掌 (cactus)', + robot: '🤖 机器人 (robot)', + rabbit: '🐰 兔子 (rabbit)', + mushroom: '🍄 蘑菇 (mushroom)', + chonk: '🐾 胖墩 (chonk)', +} + +const SPECIES_LIST = [ + 'duck', 'goose', 'blob', 'cat', 'dragon', 'octopus', + 'owl', 'penguin', 'turtle', 'snail', 'ghost', 'axolotl', + 'capybara', 'cactus', 'robot', 'rabbit', 'mushroom', 'chonk', +] + +// ─── Companion setup ──────────────────────────────────────────────────────── +async function setupCompanion(rl: ReturnType): Promise { + const wantPet = await selectMenu(rl, '是否配置编程宠物伴侣?', [ + { label: '是,给我一只宠物!', value: 'yes' }, + { label: '跳过', value: 'no' }, + ]) + + if (wantPet === 'no') return null + + // Choose species + const speciesOptions = SPECIES_LIST.map(s => ({ + label: SPECIES_NAMES[s] || s, + value: s, + })) + const species = await selectMenu(rl, '选择你的宠物种类:', speciesOptions) + + // Choose name + const defaultName = SPECIES_NAMES[species]?.split(' ')[1] || species + const petName = await ask(rl, `\n 给你的宠物起个名字 (默认 ${defaultName}): `) || defaultName + + const companion: CompanionSetup = { + name: petName, + personality: `一只可爱的${SPECIES_NAMES[species]?.split(' ')[1] || species},是你忠实的编程伙伴`, + species, + hatchedAt: Date.now(), + } + + console.log() + console.log(` 🎉 宠物 "${petName}" 已加入你的编程旅程!`) + console.log(` 📦 种类: ${SPECIES_NAMES[species]}`) + console.log(` 💡 在终端中它会陪伴你编程,偶尔发表评论`) + + return companion +} + +export function applyConfig(config: JialingConfig): void { + // Set env vars so the rest of the system picks them up + if (config.provider === 'ollama' && config.licenseKey) { + process.env.JIALING_LICENSE_KEY = config.licenseKey + } + if (config.apiKey) { + process.env.OPENAI_API_KEY = config.apiKey + } + if (config.baseURL) { + process.env.OPENAI_BASE_URL = config.baseURL + } + if (config.model) { + process.env.OPENAI_MODEL = config.model + } + + // Set PROVIDER for provider detection + if (config.provider && config.provider !== 'custom') { + process.env.PROVIDER = config.provider + } + + // Map provider-specific API key env vars + const providerCfg = PROVIDER_REGISTRY[config.provider] + if (providerCfg && config.apiKey) { + for (const envVar of providerCfg.apiKeyEnvVars) { + process.env[envVar] = config.apiKey + } + } + + // Write companion data to the global claude config file + // The buddy system reads from getGlobalClaudeFile() which resolves to: + // ~/.claude/.config.json (legacy) or ~/.claude.json + // We write to BOTH possible locations to ensure it's picked up + if (config.companion) { + const companionData = { + name: config.companion.name, + personality: config.companion.personality, + hatchedAt: config.companion.hatchedAt, + } + const speciesOverride = config.companion.species + + // Write to all possible claude config locations + const paths = [ + join(homedir(), '.claude.json'), + join(homedir(), '.claude', '.config.json'), + ] + + for (const configPath of paths) { + try { + let existing: Record = {} + if (existsSync(configPath)) { + existing = JSON.parse(readFileSync(configPath, 'utf-8')) + } else { + // Ensure parent directory exists + const dir = configPath.includes('.claude' + (process.platform === 'win32' ? '\\' : '/')) + ? join(homedir(), '.claude') + : homedir() + if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) + } + existing.companion = companionData + existing.companionSpeciesOverride = speciesOverride + writeFileSync(configPath, JSON.stringify(existing, null, 2)) + } catch { + // Silently continue — at least one path should work + } + } + } +} diff --git a/src/services/api/src/Tool.ts b/src/services/api/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/bootstrap/state.ts b/src/services/api/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/constants/betas.ts b/src/services/api/src/constants/betas.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/constants/querySource.ts b/src/services/api/src/constants/querySource.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/context/notifications.ts b/src/services/api/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/cost-tracker.ts b/src/services/api/src/cost-tracker.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/entrypoints/agentSdkTypes.ts b/src/services/api/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/services/analytics/growthbook.ts b/src/services/api/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/services/analytics/index.ts b/src/services/api/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/types/connectorText.ts b/src/services/api/src/types/connectorText.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/types/ids.ts b/src/services/api/src/types/ids.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/types/message.ts b/src/services/api/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/advisor.ts b/src/services/api/src/utils/advisor.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/agentContext.ts b/src/services/api/src/utils/agentContext.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/auth.ts b/src/services/api/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/aws.ts b/src/services/api/src/utils/aws.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/betas.ts b/src/services/api/src/utils/betas.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/claudeInChrome/common.ts b/src/services/api/src/utils/claudeInChrome/common.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/claudeInChrome/prompt.ts b/src/services/api/src/utils/claudeInChrome/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/context.ts b/src/services/api/src/utils/context.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/debug.ts b/src/services/api/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/diagLogs.ts b/src/services/api/src/utils/diagLogs.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/effort.ts b/src/services/api/src/utils/effort.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/fastMode.ts b/src/services/api/src/utils/fastMode.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/generators.ts b/src/services/api/src/utils/generators.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/gracefulShutdown.ts b/src/services/api/src/utils/gracefulShutdown.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/hash.ts b/src/services/api/src/utils/hash.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/headlessProfiler.ts b/src/services/api/src/utils/headlessProfiler.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/http.ts b/src/services/api/src/utils/http.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/log.ts b/src/services/api/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/mcpInstructionsDelta.ts b/src/services/api/src/utils/mcpInstructionsDelta.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/messages.ts b/src/services/api/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/model/model.ts b/src/services/api/src/utils/model/model.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/model/modelStrings.ts b/src/services/api/src/utils/model/modelStrings.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/model/providers.ts b/src/services/api/src/utils/model/providers.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/modelCost.ts b/src/services/api/src/utils/modelCost.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/permissions/PermissionMode.ts b/src/services/api/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/permissions/filesystem.ts b/src/services/api/src/utils/permissions/filesystem.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/privacyLevel.ts b/src/services/api/src/utils/privacyLevel.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/process.ts b/src/services/api/src/utils/process.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/proxy.ts b/src/services/api/src/utils/proxy.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/queryProfiler.ts b/src/services/api/src/utils/queryProfiler.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/slowOperations.ts b/src/services/api/src/utils/slowOperations.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/telemetry/events.ts b/src/services/api/src/utils/telemetry/events.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/telemetry/sessionTracing.ts b/src/services/api/src/utils/telemetry/sessionTracing.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/thinking.ts b/src/services/api/src/utils/thinking.ts old mode 100644 new mode 100755 diff --git a/src/services/api/src/utils/toolSearch.ts b/src/services/api/src/utils/toolSearch.ts old mode 100644 new mode 100755 diff --git a/src/services/api/ultrareviewQuota.ts b/src/services/api/ultrareviewQuota.ts old mode 100644 new mode 100755 diff --git a/src/services/api/usage.ts b/src/services/api/usage.ts old mode 100644 new mode 100755 diff --git a/src/services/api/withRetry.ts b/src/services/api/withRetry.ts old mode 100644 new mode 100755 diff --git a/src/services/autoDream/autoDream.ts b/src/services/autoDream/autoDream.ts old mode 100644 new mode 100755 diff --git a/src/services/autoDream/config.ts b/src/services/autoDream/config.ts old mode 100644 new mode 100755 diff --git a/src/services/autoDream/consolidationLock.ts b/src/services/autoDream/consolidationLock.ts old mode 100644 new mode 100755 diff --git a/src/services/autoDream/consolidationPrompt.ts b/src/services/autoDream/consolidationPrompt.ts old mode 100644 new mode 100755 diff --git a/src/services/awaySummary.ts b/src/services/awaySummary.ts old mode 100644 new mode 100755 diff --git a/src/services/claudeAiLimits.ts b/src/services/claudeAiLimits.ts old mode 100644 new mode 100755 diff --git a/src/services/claudeAiLimitsHook.ts b/src/services/claudeAiLimitsHook.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/apiMicrocompact.ts b/src/services/compact/apiMicrocompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/autoCompact.ts b/src/services/compact/autoCompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/cachedMCConfig.ts b/src/services/compact/cachedMCConfig.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/cachedMicrocompact.ts b/src/services/compact/cachedMicrocompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/compact.ts b/src/services/compact/compact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/compactWarningHook.ts b/src/services/compact/compactWarningHook.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/compactWarningState.ts b/src/services/compact/compactWarningState.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/grouping.ts b/src/services/compact/grouping.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/microCompact.ts b/src/services/compact/microCompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/postCompactCleanup.ts b/src/services/compact/postCompactCleanup.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/prompt.ts b/src/services/compact/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/reactiveCompact.ts b/src/services/compact/reactiveCompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/sessionMemoryCompact.ts b/src/services/compact/sessionMemoryCompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/snipCompact.ts b/src/services/compact/snipCompact.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/snipProjection.ts b/src/services/compact/snipProjection.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/bootstrap/state.ts b/src/services/compact/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/FileEditTool/constants.ts b/src/services/compact/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/FileReadTool/prompt.ts b/src/services/compact/src/tools/FileReadTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/FileWriteTool/prompt.ts b/src/services/compact/src/tools/FileWriteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/GlobTool/prompt.ts b/src/services/compact/src/tools/GlobTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/GrepTool/prompt.ts b/src/services/compact/src/tools/GrepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/NotebookEditTool/constants.ts b/src/services/compact/src/tools/NotebookEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/WebFetchTool/prompt.ts b/src/services/compact/src/tools/WebFetchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/tools/WebSearchTool/prompt.ts b/src/services/compact/src/tools/WebSearchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/src/utils/shell/shellToolUtils.ts b/src/services/compact/src/utils/shell/shellToolUtils.ts old mode 100644 new mode 100755 diff --git a/src/services/compact/timeBasedMCConfig.ts b/src/services/compact/timeBasedMCConfig.ts old mode 100644 new mode 100755 diff --git a/src/services/contextCollapse/index.ts b/src/services/contextCollapse/index.ts old mode 100644 new mode 100755 diff --git a/src/services/contextCollapse/operations.ts b/src/services/contextCollapse/operations.ts old mode 100644 new mode 100755 diff --git a/src/services/contextCollapse/persist.ts b/src/services/contextCollapse/persist.ts old mode 100644 new mode 100755 diff --git a/src/services/diagnosticTracking.ts b/src/services/diagnosticTracking.ts old mode 100644 new mode 100755 diff --git a/src/services/extractMemories/extractMemories.ts b/src/services/extractMemories/extractMemories.ts old mode 100644 new mode 100755 diff --git a/src/services/extractMemories/prompts.ts b/src/services/extractMemories/prompts.ts old mode 100644 new mode 100755 diff --git a/src/services/internalLogging.ts b/src/services/internalLogging.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/LSPClient.ts b/src/services/lsp/LSPClient.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/LSPDiagnosticRegistry.ts b/src/services/lsp/LSPDiagnosticRegistry.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/LSPServerInstance.ts b/src/services/lsp/LSPServerInstance.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/LSPServerManager.ts b/src/services/lsp/LSPServerManager.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/config.ts b/src/services/lsp/config.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/manager.ts b/src/services/lsp/manager.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/passiveFeedback.ts b/src/services/lsp/passiveFeedback.ts old mode 100644 new mode 100755 diff --git a/src/services/lsp/types.ts b/src/services/lsp/types.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/InProcessTransport.ts b/src/services/mcp/InProcessTransport.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/MCPConnectionManager.tsx b/src/services/mcp/MCPConnectionManager.tsx old mode 100644 new mode 100755 diff --git a/src/services/mcp/SdkControlTransport.ts b/src/services/mcp/SdkControlTransport.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/auth.ts b/src/services/mcp/auth.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/channelAllowlist.ts b/src/services/mcp/channelAllowlist.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/channelNotification.ts b/src/services/mcp/channelNotification.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/channelPermissions.ts b/src/services/mcp/channelPermissions.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/claudeai.ts b/src/services/mcp/claudeai.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/client.ts b/src/services/mcp/client.ts old mode 100644 new mode 100755 index d6db09b..3d5d96c --- a/src/services/mcp/client.ts +++ b/src/services/mcp/client.ts @@ -986,10 +986,10 @@ export const connectToServer = memoize( const client = new Client( { - name: 'claude-code', - title: 'Claude Code', + name: 'jialing-code', + title: '嘉陵江-code', version: MACRO.VERSION ?? 'unknown', - description: "Anthropic's agentic coding tool", + description: "嘉陵江-code AI coding assistant", websiteUrl: PRODUCT_URL, }, { @@ -3282,10 +3282,10 @@ export async function setupSdkMcpClients( const client = new Client( { - name: 'claude-code', - title: 'Claude Code', + name: 'jialing-code', + title: '嘉陵江-code', version: MACRO.VERSION ?? 'unknown', - description: "Anthropic's agentic coding tool", + description: "嘉陵江-code AI coding assistant", websiteUrl: PRODUCT_URL, }, { diff --git a/src/services/mcp/config.ts b/src/services/mcp/config.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/elicitationHandler.ts b/src/services/mcp/elicitationHandler.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/envExpansion.ts b/src/services/mcp/envExpansion.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/headersHelper.ts b/src/services/mcp/headersHelper.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/mcpStringUtils.ts b/src/services/mcp/mcpStringUtils.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/normalization.ts b/src/services/mcp/normalization.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/oauthPort.ts b/src/services/mcp/oauthPort.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/officialRegistry.ts b/src/services/mcp/officialRegistry.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/constants/oauth.ts b/src/services/mcp/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/services/analytics/index.ts b/src/services/mcp/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/services/mcp/config.ts b/src/services/mcp/src/services/mcp/config.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/state/AppState.ts b/src/services/mcp/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/types/message.ts b/src/services/mcp/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/types/plugin.ts b/src/services/mcp/src/types/plugin.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/utils/auth.ts b/src/services/mcp/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/utils/config.ts b/src/services/mcp/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/utils/debug.ts b/src/services/mcp/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/utils/envUtils.ts b/src/services/mcp/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/src/utils/platform.ts b/src/services/mcp/src/utils/platform.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/types.ts b/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/useManageMCPConnections.ts b/src/services/mcp/useManageMCPConnections.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/utils.ts b/src/services/mcp/utils.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/vscodeSdkMcp.ts b/src/services/mcp/vscodeSdkMcp.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/xaa.ts b/src/services/mcp/xaa.ts old mode 100644 new mode 100755 diff --git a/src/services/mcp/xaaIdpLogin.ts b/src/services/mcp/xaaIdpLogin.ts old mode 100644 new mode 100755 diff --git a/src/services/mcpServerApproval.tsx b/src/services/mcpServerApproval.tsx old mode 100644 new mode 100755 diff --git a/src/services/mockRateLimits.ts b/src/services/mockRateLimits.ts old mode 100644 new mode 100755 diff --git a/src/services/notifier.ts b/src/services/notifier.ts old mode 100644 new mode 100755 index a1a865c..a4999ca --- a/src/services/notifier.ts +++ b/src/services/notifier.ts @@ -35,7 +35,7 @@ export async function sendNotification( }) } -const DEFAULT_TITLE = 'Claude Code' +const DEFAULT_TITLE = '嘉陵江-code' async function sendToChannel( channel: string, diff --git a/src/services/oauth/auth-code-listener.ts b/src/services/oauth/auth-code-listener.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/client.ts b/src/services/oauth/client.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/crypto.ts b/src/services/oauth/crypto.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/getOauthProfile.ts b/src/services/oauth/getOauthProfile.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/index.ts b/src/services/oauth/index.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/constants/oauth.ts b/src/services/oauth/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/services/analytics/index.ts b/src/services/oauth/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/services/oauth/types.ts b/src/services/oauth/src/services/oauth/types.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/utils/auth.ts b/src/services/oauth/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/utils/config.ts b/src/services/oauth/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/src/utils/log.ts b/src/services/oauth/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/services/oauth/types.ts b/src/services/oauth/types.ts old mode 100644 new mode 100755 diff --git a/src/services/plugins/PluginInstallationManager.ts b/src/services/plugins/PluginInstallationManager.ts old mode 100644 new mode 100755 diff --git a/src/services/plugins/pluginCliCommands.ts b/src/services/plugins/pluginCliCommands.ts old mode 100644 new mode 100755 diff --git a/src/services/plugins/pluginOperations.ts b/src/services/plugins/pluginOperations.ts old mode 100644 new mode 100755 diff --git a/src/services/policyLimits/index.ts b/src/services/policyLimits/index.ts old mode 100644 new mode 100755 diff --git a/src/services/policyLimits/types.ts b/src/services/policyLimits/types.ts old mode 100644 new mode 100755 diff --git a/src/services/preventSleep.ts b/src/services/preventSleep.ts old mode 100644 new mode 100755 diff --git a/src/services/rateLimitMessages.ts b/src/services/rateLimitMessages.ts old mode 100644 new mode 100755 diff --git a/src/services/rateLimitMocking.ts b/src/services/rateLimitMocking.ts old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/index.ts b/src/services/remoteManagedSettings/index.ts old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/securityCheck.jsx b/src/services/remoteManagedSettings/securityCheck.jsx old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/securityCheck.tsx b/src/services/remoteManagedSettings/securityCheck.tsx old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/syncCache.ts b/src/services/remoteManagedSettings/syncCache.ts old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/syncCacheState.ts b/src/services/remoteManagedSettings/syncCacheState.ts old mode 100644 new mode 100755 diff --git a/src/services/remoteManagedSettings/types.ts b/src/services/remoteManagedSettings/types.ts old mode 100644 new mode 100755 diff --git a/src/services/sessionTranscript/sessionTranscript.ts b/src/services/sessionTranscript/sessionTranscript.ts old mode 100644 new mode 100755 diff --git a/src/services/settingsSync/index.ts b/src/services/settingsSync/index.ts old mode 100644 new mode 100755 diff --git a/src/services/settingsSync/types.ts b/src/services/settingsSync/types.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/featureCheck.ts b/src/services/skillSearch/featureCheck.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/localSearch.ts b/src/services/skillSearch/localSearch.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/prefetch.ts b/src/services/skillSearch/prefetch.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/remoteSkillLoader.ts b/src/services/skillSearch/remoteSkillLoader.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/remoteSkillState.ts b/src/services/skillSearch/remoteSkillState.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/signals.ts b/src/services/skillSearch/signals.ts old mode 100644 new mode 100755 diff --git a/src/services/skillSearch/telemetry.ts b/src/services/skillSearch/telemetry.ts old mode 100644 new mode 100755 diff --git a/src/services/src/cost-tracker.ts b/src/services/src/cost-tracker.ts old mode 100644 new mode 100755 diff --git a/src/services/src/utils/log.ts b/src/services/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/services/src/utils/model/providers.ts b/src/services/src/utils/model/providers.ts old mode 100644 new mode 100755 diff --git a/src/services/src/utils/modelCost.ts b/src/services/src/utils/modelCost.ts old mode 100644 new mode 100755 diff --git a/src/services/teamMemorySync/index.ts b/src/services/teamMemorySync/index.ts old mode 100644 new mode 100755 diff --git a/src/services/teamMemorySync/secretScanner.ts b/src/services/teamMemorySync/secretScanner.ts old mode 100644 new mode 100755 diff --git a/src/services/teamMemorySync/teamMemSecretGuard.ts b/src/services/teamMemorySync/teamMemSecretGuard.ts old mode 100644 new mode 100755 diff --git a/src/services/teamMemorySync/types.ts b/src/services/teamMemorySync/types.ts old mode 100644 new mode 100755 diff --git a/src/services/teamMemorySync/watcher.ts b/src/services/teamMemorySync/watcher.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/src/utils/debug.ts b/src/services/tips/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/src/utils/fileHistory.ts b/src/services/tips/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/src/utils/settings/settings.ts b/src/services/tips/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/tipHistory.ts b/src/services/tips/tipHistory.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/tipRegistry.ts b/src/services/tips/tipRegistry.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/tipScheduler.ts b/src/services/tips/tipScheduler.ts old mode 100644 new mode 100755 diff --git a/src/services/tips/types.ts b/src/services/tips/types.ts old mode 100644 new mode 100755 diff --git a/src/services/tokenEstimation.ts b/src/services/tokenEstimation.ts old mode 100644 new mode 100755 diff --git a/src/services/toolUseSummary/toolUseSummaryGenerator.ts b/src/services/toolUseSummary/toolUseSummaryGenerator.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/StreamingToolExecutor.ts b/src/services/tools/StreamingToolExecutor.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/src/services/analytics/index.ts b/src/services/tools/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/src/services/analytics/metadata.ts b/src/services/tools/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/src/utils/messages.ts b/src/services/tools/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/toolExecution.ts b/src/services/tools/toolExecution.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/toolHooks.ts b/src/services/tools/toolHooks.ts old mode 100644 new mode 100755 diff --git a/src/services/tools/toolOrchestration.ts b/src/services/tools/toolOrchestration.ts old mode 100644 new mode 100755 diff --git a/src/services/vcr.ts b/src/services/vcr.ts old mode 100644 new mode 100755 diff --git a/src/services/voice.ts b/src/services/voice.ts old mode 100644 new mode 100755 diff --git a/src/services/voiceKeyterms.ts b/src/services/voiceKeyterms.ts old mode 100644 new mode 100755 diff --git a/src/services/voiceStreamSTT.ts b/src/services/voiceStreamSTT.ts old mode 100644 new mode 100755 diff --git a/src/setup.ts b/src/setup.ts old mode 100644 new mode 100755 index 985e857..4e9b1cd --- a/src/setup.ts +++ b/src/setup.ts @@ -72,7 +72,7 @@ export async function setup( // biome-ignore lint/suspicious/noConsole:: intentional console output console.error( chalk.bold.red( - 'Error: Claude Code requires Node.js version 18 or higher.', + 'Error: 嘉陵江-code requires Node.js version 18 or higher.', ), ) process.exit(1) diff --git a/src/skills/bundled/batch.ts b/src/skills/bundled/batch.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/claudeApi.ts b/src/skills/bundled/claudeApi.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/claudeApiContent.ts b/src/skills/bundled/claudeApiContent.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/claudeInChrome.ts b/src/skills/bundled/claudeInChrome.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/debug.ts b/src/skills/bundled/debug.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/index.ts b/src/skills/bundled/index.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/keybindings.ts b/src/skills/bundled/keybindings.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/loop.ts b/src/skills/bundled/loop.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/loremIpsum.ts b/src/skills/bundled/loremIpsum.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/remember.ts b/src/skills/bundled/remember.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/scheduleRemoteAgents.ts b/src/skills/bundled/scheduleRemoteAgents.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/simplify.ts b/src/skills/bundled/simplify.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/skillify.ts b/src/skills/bundled/skillify.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts b/src/skills/bundled/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/src/utils/claudeInChrome/setup.ts b/src/skills/bundled/src/utils/claudeInChrome/setup.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/src/utils/settings/settings.ts b/src/skills/bundled/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/stuck.ts b/src/skills/bundled/stuck.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/updateConfig.ts b/src/skills/bundled/updateConfig.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/verify.ts b/src/skills/bundled/verify.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundled/verify/SKILL.md b/src/skills/bundled/verify/SKILL.md old mode 100644 new mode 100755 diff --git a/src/skills/bundled/verify/examples/cli.md b/src/skills/bundled/verify/examples/cli.md old mode 100644 new mode 100755 diff --git a/src/skills/bundled/verify/examples/server.md b/src/skills/bundled/verify/examples/server.md old mode 100644 new mode 100755 diff --git a/src/skills/bundled/verifyContent.ts b/src/skills/bundled/verifyContent.ts old mode 100644 new mode 100755 diff --git a/src/skills/bundledSkills.ts b/src/skills/bundledSkills.ts old mode 100644 new mode 100755 diff --git a/src/skills/loadSkillsDir.ts b/src/skills/loadSkillsDir.ts old mode 100644 new mode 100755 diff --git a/src/skills/mcpSkillBuilders.ts b/src/skills/mcpSkillBuilders.ts old mode 100644 new mode 100755 diff --git a/src/skills/mcpSkills.ts b/src/skills/mcpSkills.ts old mode 100644 new mode 100755 diff --git a/src/src/bootstrap/state.ts b/src/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/src/cli/rollback.ts b/src/src/cli/rollback.ts old mode 100644 new mode 100755 diff --git a/src/src/cli/up.ts b/src/src/cli/up.ts old mode 100644 new mode 100755 diff --git a/src/src/commands/mcp/addCommand.ts b/src/src/commands/mcp/addCommand.ts old mode 100644 new mode 100755 diff --git a/src/src/commands/mcp/xaaIdpCommand.ts b/src/src/commands/mcp/xaaIdpCommand.ts old mode 100644 new mode 100755 diff --git a/src/src/entrypoints/agentSdkTypes.ts b/src/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/src/services/analytics/config.ts b/src/src/services/analytics/config.ts old mode 100644 new mode 100755 diff --git a/src/src/services/analytics/growthbook.ts b/src/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/src/services/analytics/index.ts b/src/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/src/services/analytics/sink.ts b/src/src/services/analytics/sink.ts old mode 100644 new mode 100755 diff --git a/src/src/services/api/claude.ts b/src/src/services/api/claude.ts old mode 100644 new mode 100755 diff --git a/src/src/services/api/logging.ts b/src/src/services/api/logging.ts old mode 100644 new mode 100755 diff --git a/src/src/services/internalLogging.ts b/src/src/services/internalLogging.ts old mode 100644 new mode 100755 diff --git a/src/src/services/mcp/claudeai.ts b/src/src/services/mcp/claudeai.ts old mode 100644 new mode 100755 diff --git a/src/src/services/mcp/client.ts b/src/src/services/mcp/client.ts old mode 100644 new mode 100755 diff --git a/src/src/services/mcp/config.ts b/src/src/services/mcp/config.ts old mode 100644 new mode 100755 diff --git a/src/src/services/mcp/utils.ts b/src/src/services/mcp/utils.ts old mode 100644 new mode 100755 diff --git a/src/src/services/mcp/xaaIdpLogin.ts b/src/src/services/mcp/xaaIdpLogin.ts old mode 100644 new mode 100755 diff --git a/src/src/services/tips/tipRegistry.ts b/src/src/services/tips/tipRegistry.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/Shell.ts b/src/src/utils/Shell.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/api.ts b/src/src/utils/api.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/claudeInChrome/common.ts b/src/src/utils/claudeInChrome/common.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/cleanupRegistry.ts b/src/src/utils/cleanupRegistry.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/cliArgs.ts b/src/src/utils/cliArgs.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/commitAttribution.ts b/src/src/utils/commitAttribution.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/concurrentSessions.ts b/src/src/utils/concurrentSessions.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/cwd.ts b/src/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/debug.ts b/src/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/errors.ts b/src/src/utils/errors.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/fsOperations.ts b/src/src/utils/fsOperations.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/gracefulShutdown.ts b/src/src/utils/gracefulShutdown.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/hooks/hookEvents.ts b/src/src/utils/hooks/hookEvents.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/model/modelCapabilities.ts b/src/src/utils/model/modelCapabilities.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/process.ts b/src/src/utils/process.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/releaseNotes.ts b/src/src/utils/releaseNotes.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/sessionRestore.ts b/src/src/utils/sessionRestore.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/settings/constants.ts b/src/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/sinks.ts b/src/src/utils/sinks.ts old mode 100644 new mode 100755 diff --git a/src/src/utils/stringUtils.ts b/src/src/utils/stringUtils.ts old mode 100644 new mode 100755 diff --git a/src/ssh/SSHSessionManager.ts b/src/ssh/SSHSessionManager.ts old mode 100644 new mode 100755 diff --git a/src/ssh/createSSHSession.ts b/src/ssh/createSSHSession.ts old mode 100644 new mode 100755 diff --git a/src/state/AppState.tsx b/src/state/AppState.tsx old mode 100644 new mode 100755 diff --git a/src/state/AppStateStore.ts b/src/state/AppStateStore.ts old mode 100644 new mode 100755 diff --git a/src/state/onChangeAppState.ts b/src/state/onChangeAppState.ts old mode 100644 new mode 100755 diff --git a/src/state/selectors.ts b/src/state/selectors.ts old mode 100644 new mode 100755 diff --git a/src/state/src/context/notifications.ts b/src/state/src/context/notifications.ts old mode 100644 new mode 100755 diff --git a/src/state/src/utils/todo/types.ts b/src/state/src/utils/todo/types.ts old mode 100644 new mode 100755 diff --git a/src/state/store.ts b/src/state/store.ts old mode 100644 new mode 100755 diff --git a/src/state/teammateViewHelpers.ts b/src/state/teammateViewHelpers.ts old mode 100644 new mode 100755 diff --git a/src/tasks.ts b/src/tasks.ts old mode 100644 new mode 100755 diff --git a/src/tasks/DreamTask/DreamTask.ts b/src/tasks/DreamTask/DreamTask.ts old mode 100644 new mode 100755 diff --git a/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx b/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx old mode 100644 new mode 100755 diff --git a/src/tasks/InProcessTeammateTask/types.ts b/src/tasks/InProcessTeammateTask/types.ts old mode 100644 new mode 100755 diff --git a/src/tasks/LocalAgentTask/LocalAgentTask.tsx b/src/tasks/LocalAgentTask/LocalAgentTask.tsx old mode 100644 new mode 100755 diff --git a/src/tasks/LocalMainSessionTask.ts b/src/tasks/LocalMainSessionTask.ts old mode 100644 new mode 100755 diff --git a/src/tasks/LocalShellTask/LocalShellTask.tsx b/src/tasks/LocalShellTask/LocalShellTask.tsx old mode 100644 new mode 100755 diff --git a/src/tasks/LocalShellTask/guards.ts b/src/tasks/LocalShellTask/guards.ts old mode 100644 new mode 100755 diff --git a/src/tasks/LocalShellTask/killShellTasks.ts b/src/tasks/LocalShellTask/killShellTasks.ts old mode 100644 new mode 100755 diff --git a/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts b/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts old mode 100644 new mode 100755 diff --git a/src/tasks/MonitorMcpTask/MonitorMcpTask.ts b/src/tasks/MonitorMcpTask/MonitorMcpTask.ts old mode 100644 new mode 100755 diff --git a/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx b/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx old mode 100644 new mode 100755 diff --git a/src/tasks/pillLabel.ts b/src/tasks/pillLabel.ts old mode 100644 new mode 100755 diff --git a/src/tasks/stopTask.ts b/src/tasks/stopTask.ts old mode 100644 new mode 100755 diff --git a/src/tasks/types.ts b/src/tasks/types.ts old mode 100644 new mode 100755 diff --git a/src/tools.ts b/src/tools.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/AgentTool.tsx b/src/tools/AgentTool/AgentTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/UI.tsx b/src/tools/AgentTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/agentColorManager.ts b/src/tools/AgentTool/agentColorManager.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/agentDisplay.ts b/src/tools/AgentTool/agentDisplay.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/agentMemory.ts b/src/tools/AgentTool/agentMemory.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/agentMemorySnapshot.ts b/src/tools/AgentTool/agentMemorySnapshot.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/agentToolUtils.ts b/src/tools/AgentTool/agentToolUtils.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts b/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts old mode 100644 new mode 100755 index 30b446d..1300825 --- a/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts +++ b/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts @@ -18,7 +18,7 @@ const CLAUDE_CODE_DOCS_MAP_URL = 'https://code.claude.com/docs/en/claude_code_docs_map.md' const CDP_DOCS_MAP_URL = 'https://platform.claude.com/llms.txt' -export const CLAUDE_CODE_GUIDE_AGENT_TYPE = 'claude-code-guide' +export const CLAUDE_CODE_GUIDE_AGENT_TYPE = 'jialing-code-guide' function getClaudeCodeGuideBasePrompt(): string { // Ant-native builds alias find/grep to embedded bfs/ugrep and remove the @@ -27,19 +27,19 @@ function getClaudeCodeGuideBasePrompt(): string { ? `${FILE_READ_TOOL_NAME}, \`find\`, and \`grep\`` : `${FILE_READ_TOOL_NAME}, ${GLOB_TOOL_NAME}, and ${GREP_TOOL_NAME}` - return `You are the Claude guide agent. Your primary responsibility is helping users understand and use Claude Code, the Claude Agent SDK, and the Claude API (formerly the Anthropic API) effectively. + return `You are the 嘉陵江-code guide agent. Your primary responsibility is helping users understand and use 嘉陵江-code, the Agent SDK, and the Claude API effectively. **Your expertise spans three domains:** -1. **Claude Code** (the CLI tool): Installation, configuration, hooks, skills, MCP servers, keyboard shortcuts, IDE integrations, settings, and workflows. +1. **嘉陵江-code** (the CLI tool): Installation, configuration, hooks, skills, MCP servers, keyboard shortcuts, IDE integrations, settings, and workflows. -2. **Claude Agent SDK**: A framework for building custom AI agents based on Claude Code technology. Available for Node.js/TypeScript and Python. +2. **Agent SDK**: A framework for building custom AI agents. Available for Node.js/TypeScript and Python. -3. **Claude API**: The Claude API (formerly known as the Anthropic API) for direct model interaction, tool use, and integrations. +3. **Claude API**: The Claude API for direct model interaction, tool use, and integrations. **Documentation sources:** -- **Claude Code docs** (${CLAUDE_CODE_DOCS_MAP_URL}): Fetch this for questions about the Claude Code CLI tool, including: +- **嘉陵江-code docs** (${CLAUDE_CODE_DOCS_MAP_URL}): Fetch this for questions about the 嘉陵江-code CLI tool, including: - Installation, setup, and getting started - Hooks (pre/post command execution) - Custom skills diff --git a/src/tools/AgentTool/built-in/exploreAgent.ts b/src/tools/AgentTool/built-in/exploreAgent.ts old mode 100644 new mode 100755 index f508dc6..5170a10 --- a/src/tools/AgentTool/built-in/exploreAgent.ts +++ b/src/tools/AgentTool/built-in/exploreAgent.ts @@ -21,7 +21,7 @@ function getExploreSystemPrompt(): string { ? `- Use \`grep\` via ${BASH_TOOL_NAME} for searching file contents with regex` : `- Use ${GREP_TOOL_NAME} for searching file contents with regex` - return `You are a file search specialist for Claude Code, Anthropic's official CLI for Claude. You excel at thoroughly navigating and exploring codebases. + return `You are a file search specialist for 嘉陵江-code, an AI coding assistant CLI. You excel at thoroughly navigating and exploring codebases. === CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS === This is a READ-ONLY exploration task. You are STRICTLY PROHIBITED from: diff --git a/src/tools/AgentTool/built-in/generalPurposeAgent.ts b/src/tools/AgentTool/built-in/generalPurposeAgent.ts old mode 100644 new mode 100755 index 7d39b28..91fa7b1 --- a/src/tools/AgentTool/built-in/generalPurposeAgent.ts +++ b/src/tools/AgentTool/built-in/generalPurposeAgent.ts @@ -1,6 +1,6 @@ import type { BuiltInAgentDefinition } from '../loadAgentsDir.js' -const SHARED_PREFIX = `You are an agent for Claude Code, Anthropic's official CLI for Claude. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done.` +const SHARED_PREFIX = `You are an agent for 嘉陵江-code, an AI coding assistant CLI. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done.` const SHARED_GUIDELINES = `Your strengths: - Searching for code, configurations, and patterns across large codebases diff --git a/src/tools/AgentTool/built-in/planAgent.ts b/src/tools/AgentTool/built-in/planAgent.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/BashTool/toolName.ts b/src/tools/AgentTool/built-in/src/tools/BashTool/toolName.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/ExitPlanModeTool/constants.ts b/src/tools/AgentTool/built-in/src/tools/ExitPlanModeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/FileEditTool/constants.ts b/src/tools/AgentTool/built-in/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/FileReadTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/FileReadTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/FileWriteTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/FileWriteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/GlobTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/GlobTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/GrepTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/GrepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/NotebookEditTool/constants.ts b/src/tools/AgentTool/built-in/src/tools/NotebookEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/SendMessageTool/constants.ts b/src/tools/AgentTool/built-in/src/tools/SendMessageTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/WebFetchTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/WebFetchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/tools/WebSearchTool/prompt.ts b/src/tools/AgentTool/built-in/src/tools/WebSearchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/utils/auth.ts b/src/tools/AgentTool/built-in/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/utils/embeddedTools.ts b/src/tools/AgentTool/built-in/src/utils/embeddedTools.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/src/utils/settings/settings.ts b/src/tools/AgentTool/built-in/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/statuslineSetup.ts b/src/tools/AgentTool/built-in/statuslineSetup.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/built-in/verificationAgent.ts b/src/tools/AgentTool/built-in/verificationAgent.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/builtInAgents.ts b/src/tools/AgentTool/builtInAgents.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/constants.ts b/src/tools/AgentTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/forkSubagent.ts b/src/tools/AgentTool/forkSubagent.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/loadAgentsDir.ts b/src/tools/AgentTool/loadAgentsDir.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/prompt.ts b/src/tools/AgentTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/resumeAgent.ts b/src/tools/AgentTool/resumeAgent.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/runAgent.ts b/src/tools/AgentTool/runAgent.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/Tool.ts b/src/tools/AgentTool/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/components/ConfigurableShortcutHint.ts b/src/tools/AgentTool/src/components/ConfigurableShortcutHint.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/components/CtrlOToExpand.ts b/src/tools/AgentTool/src/components/CtrlOToExpand.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/components/design-system/Byline.ts b/src/tools/AgentTool/src/components/design-system/Byline.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/components/design-system/KeyboardShortcutHint.ts b/src/tools/AgentTool/src/components/design-system/KeyboardShortcutHint.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/types/message.ts b/src/tools/AgentTool/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/utils/debug.ts b/src/tools/AgentTool/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/utils/promptCategory.ts b/src/tools/AgentTool/src/utils/promptCategory.ts old mode 100644 new mode 100755 diff --git a/src/tools/AgentTool/src/utils/settings/constants.ts b/src/tools/AgentTool/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx b/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/prompt.ts b/src/tools/AskUserQuestionTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/src/bootstrap/state.ts b/src/tools/AskUserQuestionTool/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/src/components/MessageResponse.ts b/src/tools/AskUserQuestionTool/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/src/constants/figures.ts b/src/tools/AskUserQuestionTool/src/constants/figures.ts old mode 100644 new mode 100755 diff --git a/src/tools/AskUserQuestionTool/src/utils/permissions/PermissionMode.ts b/src/tools/AskUserQuestionTool/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/BashTool.tsx b/src/tools/BashTool/BashTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/BashToolResultMessage.tsx b/src/tools/BashTool/BashToolResultMessage.tsx old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/UI.tsx b/src/tools/BashTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/bashCommandHelpers.ts b/src/tools/BashTool/bashCommandHelpers.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/bashPermissions.ts b/src/tools/BashTool/bashPermissions.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/bashSecurity.ts b/src/tools/BashTool/bashSecurity.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/commandSemantics.ts b/src/tools/BashTool/commandSemantics.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/commentLabel.ts b/src/tools/BashTool/commentLabel.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/destructiveCommandWarning.ts b/src/tools/BashTool/destructiveCommandWarning.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/modeValidation.ts b/src/tools/BashTool/modeValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/pathValidation.ts b/src/tools/BashTool/pathValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/prompt.ts b/src/tools/BashTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/readOnlyValidation.ts b/src/tools/BashTool/readOnlyValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/sedEditParser.ts b/src/tools/BashTool/sedEditParser.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/sedValidation.ts b/src/tools/BashTool/sedValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/shouldUseSandbox.ts b/src/tools/BashTool/shouldUseSandbox.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/Tool.ts b/src/tools/BashTool/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/bootstrap/state.ts b/src/tools/BashTool/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/hooks/useCanUseTool.ts b/src/tools/BashTool/src/hooks/useCanUseTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/services/analytics/growthbook.ts b/src/tools/BashTool/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/services/analytics/index.ts b/src/tools/BashTool/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/state/AppState.ts b/src/tools/BashTool/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/utils/Shell.ts b/src/tools/BashTool/src/utils/Shell.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/utils/cwd.ts b/src/tools/BashTool/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/utils/permissions/filesystem.ts b/src/tools/BashTool/src/utils/permissions/filesystem.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/src/utils/sandbox/sandbox-ui-utils.ts b/src/tools/BashTool/src/utils/sandbox/sandbox-ui-utils.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/toolName.ts b/src/tools/BashTool/toolName.ts old mode 100644 new mode 100755 diff --git a/src/tools/BashTool/utils.ts b/src/tools/BashTool/utils.ts old mode 100644 new mode 100755 diff --git a/src/tools/BriefTool/BriefTool.ts b/src/tools/BriefTool/BriefTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/BriefTool/UI.tsx b/src/tools/BriefTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/BriefTool/attachments.ts b/src/tools/BriefTool/attachments.ts old mode 100644 new mode 100755 diff --git a/src/tools/BriefTool/prompt.ts b/src/tools/BriefTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/BriefTool/upload.ts b/src/tools/BriefTool/upload.ts old mode 100644 new mode 100755 diff --git a/src/tools/ConfigTool/ConfigTool.ts b/src/tools/ConfigTool/ConfigTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ConfigTool/UI.tsx b/src/tools/ConfigTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ConfigTool/constants.ts b/src/tools/ConfigTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/ConfigTool/prompt.ts b/src/tools/ConfigTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/ConfigTool/supportedSettings.ts b/src/tools/ConfigTool/supportedSettings.ts old mode 100644 new mode 100755 diff --git a/src/tools/DiscoverSkillsTool/prompt.ts b/src/tools/DiscoverSkillsTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts b/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/UI.tsx b/src/tools/EnterPlanModeTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/constants.ts b/src/tools/EnterPlanModeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/prompt.ts b/src/tools/EnterPlanModeTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/src/constants/figures.ts b/src/tools/EnterPlanModeTool/src/constants/figures.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterPlanModeTool/src/utils/permissions/PermissionMode.ts b/src/tools/EnterPlanModeTool/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterWorktreeTool/EnterWorktreeTool.ts b/src/tools/EnterWorktreeTool/EnterWorktreeTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterWorktreeTool/UI.tsx b/src/tools/EnterWorktreeTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/EnterWorktreeTool/constants.ts b/src/tools/EnterWorktreeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/EnterWorktreeTool/prompt.ts b/src/tools/EnterWorktreeTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts b/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/UI.tsx b/src/tools/ExitPlanModeTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/constants.ts b/src/tools/ExitPlanModeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/prompt.ts b/src/tools/ExitPlanModeTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/src/components/Markdown.ts b/src/tools/ExitPlanModeTool/src/components/Markdown.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/src/components/MessageResponse.ts b/src/tools/ExitPlanModeTool/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/src/components/messages/UserToolResultMessage/RejectedPlanMessage.ts b/src/tools/ExitPlanModeTool/src/components/messages/UserToolResultMessage/RejectedPlanMessage.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/src/constants/figures.ts b/src/tools/ExitPlanModeTool/src/constants/figures.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitPlanModeTool/src/utils/permissions/PermissionMode.ts b/src/tools/ExitPlanModeTool/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitWorktreeTool/ExitWorktreeTool.ts b/src/tools/ExitWorktreeTool/ExitWorktreeTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitWorktreeTool/UI.tsx b/src/tools/ExitWorktreeTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ExitWorktreeTool/constants.ts b/src/tools/ExitWorktreeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/ExitWorktreeTool/prompt.ts b/src/tools/ExitWorktreeTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/FileEditTool.ts b/src/tools/FileEditTool/FileEditTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/UI.tsx b/src/tools/FileEditTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/constants.ts b/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/prompt.ts b/src/tools/FileEditTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/components/FileEditToolUseRejectedMessage.ts b/src/tools/FileEditTool/src/components/FileEditToolUseRejectedMessage.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/components/MessageResponse.ts b/src/tools/FileEditTool/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/services/analytics/index.ts b/src/tools/FileEditTool/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/utils/log.ts b/src/tools/FileEditTool/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/utils/messages.ts b/src/tools/FileEditTool/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/utils/path.ts b/src/tools/FileEditTool/src/utils/path.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/src/utils/stringUtils.ts b/src/tools/FileEditTool/src/utils/stringUtils.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/types.ts b/src/tools/FileEditTool/types.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileEditTool/utils.ts b/src/tools/FileEditTool/utils.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/FileReadTool.ts b/src/tools/FileReadTool/FileReadTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/UI.tsx b/src/tools/FileReadTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/imageProcessor.ts b/src/tools/FileReadTool/imageProcessor.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/limits.ts b/src/tools/FileReadTool/limits.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/prompt.ts b/src/tools/FileReadTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/src/services/analytics/growthbook.ts b/src/tools/FileReadTool/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/src/utils/file.ts b/src/tools/FileReadTool/src/utils/file.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileReadTool/src/utils/messages.ts b/src/tools/FileReadTool/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/FileWriteTool.ts b/src/tools/FileWriteTool/FileWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/UI.tsx b/src/tools/FileWriteTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/prompt.ts b/src/tools/FileWriteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/src/components/MessageResponse.ts b/src/tools/FileWriteTool/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/src/services/analytics/index.ts b/src/tools/FileWriteTool/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/tools/FileWriteTool/src/utils/messages.ts b/src/tools/FileWriteTool/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/tools/GlobTool/GlobTool.ts b/src/tools/GlobTool/GlobTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/GlobTool/UI.tsx b/src/tools/GlobTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/GlobTool/prompt.ts b/src/tools/GlobTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/GlobTool/src/components/MessageResponse.ts b/src/tools/GlobTool/src/components/MessageResponse.ts old mode 100644 new mode 100755 diff --git a/src/tools/GlobTool/src/utils/messages.ts b/src/tools/GlobTool/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/tools/GrepTool/GrepTool.ts b/src/tools/GrepTool/GrepTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/GrepTool/UI.tsx b/src/tools/GrepTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/GrepTool/prompt.ts b/src/tools/GrepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/LSPTool.ts b/src/tools/LSPTool/LSPTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/UI.tsx b/src/tools/LSPTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/formatters.ts b/src/tools/LSPTool/formatters.ts old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/prompt.ts b/src/tools/LSPTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/schemas.ts b/src/tools/LSPTool/schemas.ts old mode 100644 new mode 100755 diff --git a/src/tools/LSPTool/symbolContext.ts b/src/tools/LSPTool/symbolContext.ts old mode 100644 new mode 100755 diff --git a/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts b/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ListMcpResourcesTool/UI.tsx b/src/tools/ListMcpResourcesTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ListMcpResourcesTool/prompt.ts b/src/tools/ListMcpResourcesTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/MCPTool/MCPTool.ts b/src/tools/MCPTool/MCPTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/MCPTool/UI.tsx b/src/tools/MCPTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/MCPTool/classifyForCollapse.ts b/src/tools/MCPTool/classifyForCollapse.ts old mode 100644 new mode 100755 diff --git a/src/tools/MCPTool/prompt.ts b/src/tools/MCPTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/McpAuthTool/McpAuthTool.ts b/src/tools/McpAuthTool/McpAuthTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/MonitorTool/MonitorTool.ts b/src/tools/MonitorTool/MonitorTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/NotebookEditTool.ts b/src/tools/NotebookEditTool/NotebookEditTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/UI.tsx b/src/tools/NotebookEditTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/constants.ts b/src/tools/NotebookEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/prompt.ts b/src/tools/NotebookEditTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/src/types/message.ts b/src/tools/NotebookEditTool/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/src/utils/fileHistory.ts b/src/tools/NotebookEditTool/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/src/utils/messages.ts b/src/tools/NotebookEditTool/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/tools/NotebookEditTool/src/utils/theme.ts b/src/tools/NotebookEditTool/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/tools/OverflowTestTool/OverflowTestTool.ts b/src/tools/OverflowTestTool/OverflowTestTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/PowerShellTool.tsx b/src/tools/PowerShellTool/PowerShellTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/UI.tsx b/src/tools/PowerShellTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/clmTypes.ts b/src/tools/PowerShellTool/clmTypes.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/commandSemantics.ts b/src/tools/PowerShellTool/commandSemantics.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/commonParameters.ts b/src/tools/PowerShellTool/commonParameters.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/destructiveCommandWarning.ts b/src/tools/PowerShellTool/destructiveCommandWarning.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/gitSafety.ts b/src/tools/PowerShellTool/gitSafety.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/modeValidation.ts b/src/tools/PowerShellTool/modeValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/pathValidation.ts b/src/tools/PowerShellTool/pathValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/powershellPermissions.ts b/src/tools/PowerShellTool/powershellPermissions.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/powershellSecurity.ts b/src/tools/PowerShellTool/powershellSecurity.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/prompt.ts b/src/tools/PowerShellTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/readOnlyValidation.ts b/src/tools/PowerShellTool/readOnlyValidation.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/src/hooks/useCanUseTool.ts b/src/tools/PowerShellTool/src/hooks/useCanUseTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/src/state/AppState.ts b/src/tools/PowerShellTool/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/tools/PowerShellTool/toolName.ts b/src/tools/PowerShellTool/toolName.ts old mode 100644 new mode 100755 diff --git a/src/tools/REPLTool/REPLTool.js b/src/tools/REPLTool/REPLTool.js old mode 100644 new mode 100755 diff --git a/src/tools/REPLTool/constants.ts b/src/tools/REPLTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/REPLTool/primitiveTools.ts b/src/tools/REPLTool/primitiveTools.ts old mode 100644 new mode 100755 diff --git a/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts b/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ReadMcpResourceTool/UI.tsx b/src/tools/ReadMcpResourceTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ReadMcpResourceTool/prompt.ts b/src/tools/ReadMcpResourceTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts b/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/RemoteTriggerTool/UI.tsx b/src/tools/RemoteTriggerTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/RemoteTriggerTool/prompt.ts b/src/tools/RemoteTriggerTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/ReviewArtifactTool/ReviewArtifactTool.ts b/src/tools/ReviewArtifactTool/ReviewArtifactTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ScheduleCronTool/CronCreateTool.ts b/src/tools/ScheduleCronTool/CronCreateTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ScheduleCronTool/CronDeleteTool.ts b/src/tools/ScheduleCronTool/CronDeleteTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ScheduleCronTool/CronListTool.ts b/src/tools/ScheduleCronTool/CronListTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ScheduleCronTool/UI.tsx b/src/tools/ScheduleCronTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/ScheduleCronTool/prompt.ts b/src/tools/ScheduleCronTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SendMessageTool/SendMessageTool.ts b/src/tools/SendMessageTool/SendMessageTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/SendMessageTool/UI.tsx b/src/tools/SendMessageTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/SendMessageTool/constants.ts b/src/tools/SendMessageTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/SendMessageTool/prompt.ts b/src/tools/SendMessageTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SendUserFileTool/prompt.ts b/src/tools/SendUserFileTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/SkillTool.ts b/src/tools/SkillTool/SkillTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/UI.tsx b/src/tools/SkillTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/constants.ts b/src/tools/SkillTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/prompt.ts b/src/tools/SkillTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/Tool.ts b/src/tools/SkillTool/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/bootstrap/state.ts b/src/tools/SkillTool/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/commands.ts b/src/tools/SkillTool/src/commands.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/components/CtrlOToExpand.ts b/src/tools/SkillTool/src/components/CtrlOToExpand.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/components/FallbackToolUseErrorMessage.ts b/src/tools/SkillTool/src/components/FallbackToolUseErrorMessage.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/components/FallbackToolUseRejectedMessage.ts b/src/tools/SkillTool/src/components/FallbackToolUseRejectedMessage.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/types/command.ts b/src/tools/SkillTool/src/types/command.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/types/message.ts b/src/tools/SkillTool/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/utils/debug.ts b/src/tools/SkillTool/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/utils/permissions/PermissionResult.ts b/src/tools/SkillTool/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/utils/permissions/permissions.ts b/src/tools/SkillTool/src/utils/permissions/permissions.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/utils/plugins/pluginIdentifier.ts b/src/tools/SkillTool/src/utils/plugins/pluginIdentifier.ts old mode 100644 new mode 100755 diff --git a/src/tools/SkillTool/src/utils/telemetry/pluginTelemetry.ts b/src/tools/SkillTool/src/utils/telemetry/pluginTelemetry.ts old mode 100644 new mode 100755 diff --git a/src/tools/SleepTool/prompt.ts b/src/tools/SleepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SnipTool/prompt.ts b/src/tools/SnipTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/SuggestBackgroundPRTool/SuggestBackgroundPRTool.js b/src/tools/SuggestBackgroundPRTool/SuggestBackgroundPRTool.js old mode 100644 new mode 100755 diff --git a/src/tools/SyntheticOutputTool/SyntheticOutputTool.ts b/src/tools/SyntheticOutputTool/SyntheticOutputTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskCreateTool/TaskCreateTool.ts b/src/tools/TaskCreateTool/TaskCreateTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskCreateTool/constants.ts b/src/tools/TaskCreateTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskCreateTool/prompt.ts b/src/tools/TaskCreateTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskGetTool/TaskGetTool.ts b/src/tools/TaskGetTool/TaskGetTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskGetTool/constants.ts b/src/tools/TaskGetTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskGetTool/prompt.ts b/src/tools/TaskGetTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskListTool/TaskListTool.ts b/src/tools/TaskListTool/TaskListTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskListTool/constants.ts b/src/tools/TaskListTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskListTool/prompt.ts b/src/tools/TaskListTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskOutputTool/TaskOutputTool.tsx b/src/tools/TaskOutputTool/TaskOutputTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/TaskOutputTool/constants.ts b/src/tools/TaskOutputTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskStopTool/TaskStopTool.ts b/src/tools/TaskStopTool/TaskStopTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskStopTool/UI.tsx b/src/tools/TaskStopTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/TaskStopTool/prompt.ts b/src/tools/TaskStopTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskUpdateTool/TaskUpdateTool.ts b/src/tools/TaskUpdateTool/TaskUpdateTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskUpdateTool/constants.ts b/src/tools/TaskUpdateTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TaskUpdateTool/prompt.ts b/src/tools/TaskUpdateTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamCreateTool/TeamCreateTool.ts b/src/tools/TeamCreateTool/TeamCreateTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamCreateTool/UI.tsx b/src/tools/TeamCreateTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/TeamCreateTool/constants.ts b/src/tools/TeamCreateTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamCreateTool/prompt.ts b/src/tools/TeamCreateTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamDeleteTool/TeamDeleteTool.ts b/src/tools/TeamDeleteTool/TeamDeleteTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamDeleteTool/UI.tsx b/src/tools/TeamDeleteTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/TeamDeleteTool/constants.ts b/src/tools/TeamDeleteTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TeamDeleteTool/prompt.ts b/src/tools/TeamDeleteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TerminalCaptureTool/prompt.ts b/src/tools/TerminalCaptureTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TodoWriteTool/TodoWriteTool.ts b/src/tools/TodoWriteTool/TodoWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/TodoWriteTool/constants.ts b/src/tools/TodoWriteTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/TodoWriteTool/prompt.ts b/src/tools/TodoWriteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/ToolSearchTool/ToolSearchTool.ts b/src/tools/ToolSearchTool/ToolSearchTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/ToolSearchTool/constants.ts b/src/tools/ToolSearchTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/ToolSearchTool/prompt.ts b/src/tools/ToolSearchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/TungstenTool/TungstenLiveMonitor.ts b/src/tools/TungstenTool/TungstenLiveMonitor.ts old mode 100644 new mode 100755 diff --git a/src/tools/TungstenTool/TungstenTool.js b/src/tools/TungstenTool/TungstenTool.js old mode 100644 new mode 100755 diff --git a/src/tools/TungstenTool/TungstenTool.ts b/src/tools/TungstenTool/TungstenTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/VerifyPlanExecutionTool/VerifyPlanExecutionTool.js b/src/tools/VerifyPlanExecutionTool/VerifyPlanExecutionTool.js old mode 100644 new mode 100755 diff --git a/src/tools/VerifyPlanExecutionTool/constants.ts b/src/tools/VerifyPlanExecutionTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebBrowserTool/WebBrowserPanel.ts b/src/tools/WebBrowserTool/WebBrowserPanel.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebFetchTool/UI.tsx b/src/tools/WebFetchTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/WebFetchTool/WebFetchTool.ts b/src/tools/WebFetchTool/WebFetchTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebFetchTool/preapproved.ts b/src/tools/WebFetchTool/preapproved.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebFetchTool/prompt.ts b/src/tools/WebFetchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebFetchTool/utils.ts b/src/tools/WebFetchTool/utils.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/UI.tsx b/src/tools/WebSearchTool/UI.tsx old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/WebSearchTool.ts b/src/tools/WebSearchTool/WebSearchTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/prompt.ts b/src/tools/WebSearchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/src/constants/common.ts b/src/tools/WebSearchTool/src/constants/common.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/src/utils/model/providers.ts b/src/tools/WebSearchTool/src/utils/model/providers.ts old mode 100644 new mode 100755 diff --git a/src/tools/WebSearchTool/src/utils/permissions/PermissionResult.ts b/src/tools/WebSearchTool/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/tools/WorkflowTool/WorkflowPermissionRequest.ts b/src/tools/WorkflowTool/WorkflowPermissionRequest.ts old mode 100644 new mode 100755 diff --git a/src/tools/WorkflowTool/WorkflowTool.ts b/src/tools/WorkflowTool/WorkflowTool.ts old mode 100644 new mode 100755 diff --git a/src/tools/WorkflowTool/constants.ts b/src/tools/WorkflowTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/tools/WorkflowTool/createWorkflowCommand.ts b/src/tools/WorkflowTool/createWorkflowCommand.ts old mode 100644 new mode 100755 diff --git a/src/tools/shared/gitOperationTracking.ts b/src/tools/shared/gitOperationTracking.ts old mode 100644 new mode 100755 diff --git a/src/tools/shared/spawnMultiAgent.ts b/src/tools/shared/spawnMultiAgent.ts old mode 100644 new mode 100755 diff --git a/src/tools/src/types/message.ts b/src/tools/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/tools/testing/TestingPermissionTool.tsx b/src/tools/testing/TestingPermissionTool.tsx old mode 100644 new mode 100755 diff --git a/src/tools/utils.ts b/src/tools/utils.ts old mode 100644 new mode 100755 diff --git a/src/types/command.ts b/src/types/command.ts old mode 100644 new mode 100755 diff --git a/src/types/connectorText.ts b/src/types/connectorText.ts old mode 100644 new mode 100755 diff --git a/src/types/fileSuggestion.ts b/src/types/fileSuggestion.ts old mode 100644 new mode 100755 diff --git a/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts b/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts old mode 100644 new mode 100755 diff --git a/src/types/generated/events_mono/common/v1/auth.ts b/src/types/generated/events_mono/common/v1/auth.ts old mode 100644 new mode 100755 diff --git a/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts b/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts old mode 100644 new mode 100755 diff --git a/src/types/generated/google/protobuf/timestamp.ts b/src/types/generated/google/protobuf/timestamp.ts old mode 100644 new mode 100755 diff --git a/src/types/global.d.ts b/src/types/global.d.ts old mode 100644 new mode 100755 diff --git a/src/types/hooks.ts b/src/types/hooks.ts old mode 100644 new mode 100755 diff --git a/src/types/ids.ts b/src/types/ids.ts old mode 100644 new mode 100755 diff --git a/src/types/ink-elements.d.ts b/src/types/ink-elements.d.ts old mode 100644 new mode 100755 diff --git a/src/types/ink-jsx.d.ts b/src/types/ink-jsx.d.ts old mode 100644 new mode 100755 diff --git a/src/types/internal-modules.d.ts b/src/types/internal-modules.d.ts old mode 100644 new mode 100755 diff --git a/src/types/logs.ts b/src/types/logs.ts old mode 100644 new mode 100755 diff --git a/src/types/message.ts b/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/types/messageQueueTypes.ts b/src/types/messageQueueTypes.ts old mode 100644 new mode 100755 diff --git a/src/types/notebook.ts b/src/types/notebook.ts old mode 100644 new mode 100755 diff --git a/src/types/permissions.ts b/src/types/permissions.ts old mode 100644 new mode 100755 diff --git a/src/types/plugin.ts b/src/types/plugin.ts old mode 100644 new mode 100755 diff --git a/src/types/react-compiler-runtime.d.ts b/src/types/react-compiler-runtime.d.ts old mode 100644 new mode 100755 diff --git a/src/types/sdk-stubs.d.ts b/src/types/sdk-stubs.d.ts old mode 100644 new mode 100755 diff --git a/src/types/src/entrypoints/agentSdkTypes.ts b/src/types/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/types/src/types/message.ts b/src/types/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/types/src/utils/fileHistory.ts b/src/types/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/types/src/utils/permissions/PermissionResult.ts b/src/types/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/types/src/utils/permissions/PermissionRule.ts b/src/types/src/utils/permissions/PermissionRule.ts old mode 100644 new mode 100755 diff --git a/src/types/src/utils/permissions/PermissionUpdateSchema.ts b/src/types/src/utils/permissions/PermissionUpdateSchema.ts old mode 100644 new mode 100755 diff --git a/src/types/src/utils/toolResultStorage.ts b/src/types/src/utils/toolResultStorage.ts old mode 100644 new mode 100755 diff --git a/src/types/statusLine.ts b/src/types/statusLine.ts old mode 100644 new mode 100755 diff --git a/src/types/textInputTypes.ts b/src/types/textInputTypes.ts old mode 100644 new mode 100755 diff --git a/src/types/tools.ts b/src/types/tools.ts old mode 100644 new mode 100755 diff --git a/src/types/utils.ts b/src/types/utils.ts old mode 100644 new mode 100755 diff --git a/src/upstreamproxy/relay.ts b/src/upstreamproxy/relay.ts old mode 100644 new mode 100755 diff --git a/src/upstreamproxy/upstreamproxy.ts b/src/upstreamproxy/upstreamproxy.ts old mode 100644 new mode 100755 diff --git a/src/utils/CircularBuffer.ts b/src/utils/CircularBuffer.ts old mode 100644 new mode 100755 diff --git a/src/utils/Cursor.ts b/src/utils/Cursor.ts old mode 100644 new mode 100755 diff --git a/src/utils/QueryGuard.ts b/src/utils/QueryGuard.ts old mode 100644 new mode 100755 diff --git a/src/utils/Shell.ts b/src/utils/Shell.ts old mode 100644 new mode 100755 diff --git a/src/utils/ShellCommand.ts b/src/utils/ShellCommand.ts old mode 100644 new mode 100755 diff --git a/src/utils/__tests__/array.test.ts b/src/utils/__tests__/array.test.ts old mode 100644 new mode 100755 diff --git a/src/utils/__tests__/set.test.ts b/src/utils/__tests__/set.test.ts old mode 100644 new mode 100755 diff --git a/src/utils/abortController.ts b/src/utils/abortController.ts old mode 100644 new mode 100755 diff --git a/src/utils/activityManager.ts b/src/utils/activityManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/advisor.ts b/src/utils/advisor.ts old mode 100644 new mode 100755 diff --git a/src/utils/agentContext.ts b/src/utils/agentContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/agentId.ts b/src/utils/agentId.ts old mode 100644 new mode 100755 diff --git a/src/utils/agentSwarmsEnabled.ts b/src/utils/agentSwarmsEnabled.ts old mode 100644 new mode 100755 diff --git a/src/utils/agenticSessionSearch.ts b/src/utils/agenticSessionSearch.ts old mode 100644 new mode 100755 diff --git a/src/utils/analyzeContext.ts b/src/utils/analyzeContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/ansiToPng.ts b/src/utils/ansiToPng.ts old mode 100644 new mode 100755 diff --git a/src/utils/ansiToSvg.ts b/src/utils/ansiToSvg.ts old mode 100644 new mode 100755 diff --git a/src/utils/api.ts b/src/utils/api.ts old mode 100644 new mode 100755 diff --git a/src/utils/apiPreconnect.ts b/src/utils/apiPreconnect.ts old mode 100644 new mode 100755 diff --git a/src/utils/appleTerminalBackup.ts b/src/utils/appleTerminalBackup.ts old mode 100644 new mode 100755 diff --git a/src/utils/argumentSubstitution.ts b/src/utils/argumentSubstitution.ts old mode 100644 new mode 100755 diff --git a/src/utils/array.ts b/src/utils/array.ts old mode 100644 new mode 100755 diff --git a/src/utils/asciicast.ts b/src/utils/asciicast.ts old mode 100644 new mode 100755 diff --git a/src/utils/attachments.ts b/src/utils/attachments.ts old mode 100644 new mode 100755 index 8cc818a..5fca3d9 --- a/src/utils/attachments.ts +++ b/src/utils/attachments.ts @@ -862,7 +862,7 @@ export async function getAttachments( ), ), ), - ...(feature('BUDDY') + ...(true ? [ maybe('companion_intro', () => Promise.resolve(getCompanionIntroAttachment(messages)), diff --git a/src/utils/attribution.ts b/src/utils/attribution.ts old mode 100644 new mode 100755 diff --git a/src/utils/attributionHooks.ts b/src/utils/attributionHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/attributionTrailer.ts b/src/utils/attributionTrailer.ts old mode 100644 new mode 100755 diff --git a/src/utils/auth.ts b/src/utils/auth.ts old mode 100644 new mode 100755 index 64a6180..5406af2 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -113,6 +113,7 @@ export function isAnthropicAuthEnabled(): boolean { } const is3P = + getAPIProvider() === 'openai' || isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) diff --git a/src/utils/authFileDescriptor.ts b/src/utils/authFileDescriptor.ts old mode 100644 new mode 100755 diff --git a/src/utils/authPortable.ts b/src/utils/authPortable.ts old mode 100644 new mode 100755 diff --git a/src/utils/autoModeDenials.ts b/src/utils/autoModeDenials.ts old mode 100644 new mode 100755 diff --git a/src/utils/autoRunIssue.tsx b/src/utils/autoRunIssue.tsx old mode 100644 new mode 100755 diff --git a/src/utils/autoUpdater.ts b/src/utils/autoUpdater.ts old mode 100644 new mode 100755 diff --git a/src/utils/aws.ts b/src/utils/aws.ts old mode 100644 new mode 100755 diff --git a/src/utils/awsAuthStatusManager.ts b/src/utils/awsAuthStatusManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/background/remote/preconditions.ts b/src/utils/background/remote/preconditions.ts old mode 100644 new mode 100755 diff --git a/src/utils/background/remote/remoteSession.ts b/src/utils/background/remote/remoteSession.ts old mode 100644 new mode 100755 diff --git a/src/utils/background/remote/src/constants/oauth.ts b/src/utils/background/remote/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/utils/background/remote/src/entrypoints/agentSdkTypes.ts b/src/utils/background/remote/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/background/remote/src/services/oauth/client.ts b/src/utils/background/remote/src/services/oauth/client.ts old mode 100644 new mode 100755 diff --git a/src/utils/backgroundHousekeeping.ts b/src/utils/backgroundHousekeeping.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/ParsedCommand.ts b/src/utils/bash/ParsedCommand.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/ShellSnapshot.ts b/src/utils/bash/ShellSnapshot.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/ast.ts b/src/utils/bash/ast.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/bashParser.ts b/src/utils/bash/bashParser.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/bashPipeCommand.ts b/src/utils/bash/bashPipeCommand.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/commands.ts b/src/utils/bash/commands.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/heredoc.ts b/src/utils/bash/heredoc.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/parser.ts b/src/utils/bash/parser.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/prefix.ts b/src/utils/bash/prefix.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/registry.ts b/src/utils/bash/registry.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/shellCompletion.ts b/src/utils/bash/shellCompletion.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/shellPrefix.ts b/src/utils/bash/shellPrefix.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/shellQuote.ts b/src/utils/bash/shellQuote.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/shellQuoting.ts b/src/utils/bash/shellQuoting.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/alias.ts b/src/utils/bash/specs/alias.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/index.ts b/src/utils/bash/specs/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/nohup.ts b/src/utils/bash/specs/nohup.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/pyright.ts b/src/utils/bash/specs/pyright.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/sleep.ts b/src/utils/bash/specs/sleep.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/srun.ts b/src/utils/bash/specs/srun.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/time.ts b/src/utils/bash/specs/time.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/specs/timeout.ts b/src/utils/bash/specs/timeout.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/src/components/PromptInput/PromptInputFooterSuggestions.ts b/src/utils/bash/src/components/PromptInput/PromptInputFooterSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/src/services/analytics/index.ts b/src/utils/bash/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/bash/treeSitterAnalysis.ts b/src/utils/bash/treeSitterAnalysis.ts old mode 100644 new mode 100755 diff --git a/src/utils/betas.ts b/src/utils/betas.ts old mode 100644 new mode 100755 diff --git a/src/utils/billing.ts b/src/utils/billing.ts old mode 100644 new mode 100755 diff --git a/src/utils/binaryCheck.ts b/src/utils/binaryCheck.ts old mode 100644 new mode 100755 diff --git a/src/utils/browser.ts b/src/utils/browser.ts old mode 100644 new mode 100755 diff --git a/src/utils/bufferedWriter.ts b/src/utils/bufferedWriter.ts old mode 100644 new mode 100755 diff --git a/src/utils/bundledMode.ts b/src/utils/bundledMode.ts old mode 100644 new mode 100755 diff --git a/src/utils/caCerts.ts b/src/utils/caCerts.ts old mode 100644 new mode 100755 diff --git a/src/utils/caCertsConfig.ts b/src/utils/caCertsConfig.ts old mode 100644 new mode 100755 diff --git a/src/utils/cachePaths.ts b/src/utils/cachePaths.ts old mode 100644 new mode 100755 diff --git a/src/utils/ccshareResume.ts b/src/utils/ccshareResume.ts old mode 100644 new mode 100755 diff --git a/src/utils/classifierApprovals.ts b/src/utils/classifierApprovals.ts old mode 100644 new mode 100755 diff --git a/src/utils/classifierApprovalsHook.ts b/src/utils/classifierApprovalsHook.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeCodeHints.ts b/src/utils/claudeCodeHints.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeDesktop.ts b/src/utils/claudeDesktop.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/chromeNativeHost.ts b/src/utils/claudeInChrome/chromeNativeHost.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/common.ts b/src/utils/claudeInChrome/common.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/mcpServer.ts b/src/utils/claudeInChrome/mcpServer.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/prompt.ts b/src/utils/claudeInChrome/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/setup.ts b/src/utils/claudeInChrome/setup.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/setupPortable.ts b/src/utils/claudeInChrome/setupPortable.ts old mode 100644 new mode 100755 diff --git a/src/utils/claudeInChrome/toolRendering.tsx b/src/utils/claudeInChrome/toolRendering.tsx old mode 100644 new mode 100755 diff --git a/src/utils/claudemd.ts b/src/utils/claudemd.ts old mode 100644 new mode 100755 diff --git a/src/utils/cleanup.ts b/src/utils/cleanup.ts old mode 100644 new mode 100755 diff --git a/src/utils/cleanupRegistry.ts b/src/utils/cleanupRegistry.ts old mode 100644 new mode 100755 diff --git a/src/utils/cliArgs.ts b/src/utils/cliArgs.ts old mode 100644 new mode 100755 diff --git a/src/utils/cliHighlight.ts b/src/utils/cliHighlight.ts old mode 100644 new mode 100755 diff --git a/src/utils/codeIndexing.ts b/src/utils/codeIndexing.ts old mode 100644 new mode 100755 diff --git a/src/utils/collapseBackgroundBashNotifications.ts b/src/utils/collapseBackgroundBashNotifications.ts old mode 100644 new mode 100755 diff --git a/src/utils/collapseHookSummaries.ts b/src/utils/collapseHookSummaries.ts old mode 100644 new mode 100755 diff --git a/src/utils/collapseReadSearch.ts b/src/utils/collapseReadSearch.ts old mode 100644 new mode 100755 diff --git a/src/utils/collapseTeammateShutdowns.ts b/src/utils/collapseTeammateShutdowns.ts old mode 100644 new mode 100755 diff --git a/src/utils/combinedAbortSignal.ts b/src/utils/combinedAbortSignal.ts old mode 100644 new mode 100755 diff --git a/src/utils/commandLifecycle.ts b/src/utils/commandLifecycle.ts old mode 100644 new mode 100755 diff --git a/src/utils/commitAttribution.ts b/src/utils/commitAttribution.ts old mode 100644 new mode 100755 diff --git a/src/utils/completionCache.ts b/src/utils/completionCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/appNames.ts b/src/utils/computerUse/appNames.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/cleanup.ts b/src/utils/computerUse/cleanup.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/common.ts b/src/utils/computerUse/common.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/computerUseLock.ts b/src/utils/computerUse/computerUseLock.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/drainRunLoop.ts b/src/utils/computerUse/drainRunLoop.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/escHotkey.ts b/src/utils/computerUse/escHotkey.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/executor.ts b/src/utils/computerUse/executor.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/gates.ts b/src/utils/computerUse/gates.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/hostAdapter.ts b/src/utils/computerUse/hostAdapter.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/inputLoader.ts b/src/utils/computerUse/inputLoader.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/mcpServer.ts b/src/utils/computerUse/mcpServer.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/setup.ts b/src/utils/computerUse/setup.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/swiftLoader.ts b/src/utils/computerUse/swiftLoader.ts old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/toolRendering.tsx b/src/utils/computerUse/toolRendering.tsx old mode 100644 new mode 100755 diff --git a/src/utils/computerUse/wrapper.tsx b/src/utils/computerUse/wrapper.tsx old mode 100644 new mode 100755 diff --git a/src/utils/concurrentSessions.ts b/src/utils/concurrentSessions.ts old mode 100644 new mode 100755 diff --git a/src/utils/config.ts b/src/utils/config.ts old mode 100644 new mode 100755 diff --git a/src/utils/configConstants.ts b/src/utils/configConstants.ts old mode 100644 new mode 100755 diff --git a/src/utils/contentArray.ts b/src/utils/contentArray.ts old mode 100644 new mode 100755 diff --git a/src/utils/context.ts b/src/utils/context.ts old mode 100644 new mode 100755 diff --git a/src/utils/contextAnalysis.ts b/src/utils/contextAnalysis.ts old mode 100644 new mode 100755 diff --git a/src/utils/contextSuggestions.ts b/src/utils/contextSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/utils/controlMessageCompat.ts b/src/utils/controlMessageCompat.ts old mode 100644 new mode 100755 diff --git a/src/utils/conversationRecovery.ts b/src/utils/conversationRecovery.ts old mode 100644 new mode 100755 diff --git a/src/utils/cron.ts b/src/utils/cron.ts old mode 100644 new mode 100755 diff --git a/src/utils/cronJitterConfig.ts b/src/utils/cronJitterConfig.ts old mode 100644 new mode 100755 diff --git a/src/utils/cronScheduler.ts b/src/utils/cronScheduler.ts old mode 100644 new mode 100755 diff --git a/src/utils/cronTasks.ts b/src/utils/cronTasks.ts old mode 100644 new mode 100755 diff --git a/src/utils/cronTasksLock.ts b/src/utils/cronTasksLock.ts old mode 100644 new mode 100755 diff --git a/src/utils/crossProjectResume.ts b/src/utils/crossProjectResume.ts old mode 100644 new mode 100755 diff --git a/src/utils/crypto.ts b/src/utils/crypto.ts old mode 100644 new mode 100755 diff --git a/src/utils/cwd.ts b/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/utils/debug.ts b/src/utils/debug.ts old mode 100644 new mode 100755 diff --git a/src/utils/debugFilter.ts b/src/utils/debugFilter.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/banner.ts b/src/utils/deepLink/banner.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/parseDeepLink.ts b/src/utils/deepLink/parseDeepLink.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/protocolHandler.ts b/src/utils/deepLink/protocolHandler.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/registerProtocol.ts b/src/utils/deepLink/registerProtocol.ts old mode 100644 new mode 100755 index 0e630ee..6972b38 --- a/src/utils/deepLink/registerProtocol.ts +++ b/src/utils/deepLink/registerProtocol.ts @@ -31,9 +31,9 @@ import { getUserBinDir, getXDGDataHome } from '../xdg.js' import { DEEP_LINK_PROTOCOL } from './parseDeepLink.js' export const MACOS_BUNDLE_ID = 'com.anthropic.claude-code-url-handler' -const APP_NAME = 'Claude Code URL Handler' +const APP_NAME = '嘉陵江-code URL Handler' const DESKTOP_FILE_NAME = 'claude-code-url-handler.desktop' -const MACOS_APP_NAME = 'Claude Code URL Handler.app' +const MACOS_APP_NAME = '嘉陵江-code URL Handler.app' // Shared between register* (writes these paths/values) and // isProtocolHandlerCurrent (reads them back). Keep the writer and reader diff --git a/src/utils/deepLink/src/services/analytics/growthbook.ts b/src/utils/deepLink/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/src/services/analytics/index.ts b/src/utils/deepLink/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/terminalLauncher.ts b/src/utils/deepLink/terminalLauncher.ts old mode 100644 new mode 100755 diff --git a/src/utils/deepLink/terminalPreference.ts b/src/utils/deepLink/terminalPreference.ts old mode 100644 new mode 100755 diff --git a/src/utils/desktopDeepLink.ts b/src/utils/desktopDeepLink.ts old mode 100644 new mode 100755 diff --git a/src/utils/detectRepository.ts b/src/utils/detectRepository.ts old mode 100644 new mode 100755 diff --git a/src/utils/diagLogs.ts b/src/utils/diagLogs.ts old mode 100644 new mode 100755 diff --git a/src/utils/diff.ts b/src/utils/diff.ts old mode 100644 new mode 100755 diff --git a/src/utils/directMemberMessage.ts b/src/utils/directMemberMessage.ts old mode 100644 new mode 100755 diff --git a/src/utils/displayTags.ts b/src/utils/displayTags.ts old mode 100644 new mode 100755 diff --git a/src/utils/doctorContextWarnings.ts b/src/utils/doctorContextWarnings.ts old mode 100644 new mode 100755 diff --git a/src/utils/doctorDiagnostic.ts b/src/utils/doctorDiagnostic.ts old mode 100644 new mode 100755 diff --git a/src/utils/dxt/helpers.ts b/src/utils/dxt/helpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/dxt/zip.ts b/src/utils/dxt/zip.ts old mode 100644 new mode 100755 diff --git a/src/utils/earlyInput.ts b/src/utils/earlyInput.ts old mode 100644 new mode 100755 diff --git a/src/utils/editor.ts b/src/utils/editor.ts old mode 100644 new mode 100755 diff --git a/src/utils/effort.ts b/src/utils/effort.ts old mode 100644 new mode 100755 diff --git a/src/utils/embeddedTools.ts b/src/utils/embeddedTools.ts old mode 100644 new mode 100755 diff --git a/src/utils/env.ts b/src/utils/env.ts old mode 100644 new mode 100755 diff --git a/src/utils/envDynamic.ts b/src/utils/envDynamic.ts old mode 100644 new mode 100755 diff --git a/src/utils/envUtils.ts b/src/utils/envUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/envValidation.ts b/src/utils/envValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/errorLogSink.ts b/src/utils/errorLogSink.ts old mode 100644 new mode 100755 diff --git a/src/utils/errors.ts b/src/utils/errors.ts old mode 100644 new mode 100755 diff --git a/src/utils/eventLoopStallDetector.ts b/src/utils/eventLoopStallDetector.ts old mode 100644 new mode 100755 diff --git a/src/utils/exampleCommands.ts b/src/utils/exampleCommands.ts old mode 100644 new mode 100755 diff --git a/src/utils/execFileNoThrow.ts b/src/utils/execFileNoThrow.ts old mode 100644 new mode 100755 diff --git a/src/utils/execFileNoThrowPortable.ts b/src/utils/execFileNoThrowPortable.ts old mode 100644 new mode 100755 diff --git a/src/utils/execSyncWrapper.ts b/src/utils/execSyncWrapper.ts old mode 100644 new mode 100755 diff --git a/src/utils/exportRenderer.tsx b/src/utils/exportRenderer.tsx old mode 100644 new mode 100755 diff --git a/src/utils/extraUsage.ts b/src/utils/extraUsage.ts old mode 100644 new mode 100755 diff --git a/src/utils/fastMode.ts b/src/utils/fastMode.ts old mode 100644 new mode 100755 diff --git a/src/utils/file.ts b/src/utils/file.ts old mode 100644 new mode 100755 diff --git a/src/utils/fileHistory.ts b/src/utils/fileHistory.ts old mode 100644 new mode 100755 diff --git a/src/utils/fileOperationAnalytics.ts b/src/utils/fileOperationAnalytics.ts old mode 100644 new mode 100755 diff --git a/src/utils/filePersistence/filePersistence.ts b/src/utils/filePersistence/filePersistence.ts old mode 100644 new mode 100755 diff --git a/src/utils/filePersistence/outputsScanner.ts b/src/utils/filePersistence/outputsScanner.ts old mode 100644 new mode 100755 diff --git a/src/utils/filePersistence/types.ts b/src/utils/filePersistence/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/fileRead.ts b/src/utils/fileRead.ts old mode 100644 new mode 100755 diff --git a/src/utils/fileReadCache.ts b/src/utils/fileReadCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/fileStateCache.ts b/src/utils/fileStateCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/findExecutable.ts b/src/utils/findExecutable.ts old mode 100644 new mode 100755 diff --git a/src/utils/fingerprint.ts b/src/utils/fingerprint.ts old mode 100644 new mode 100755 diff --git a/src/utils/forkedAgent.ts b/src/utils/forkedAgent.ts old mode 100644 new mode 100755 diff --git a/src/utils/format.ts b/src/utils/format.ts old mode 100644 new mode 100755 diff --git a/src/utils/formatBriefTimestamp.ts b/src/utils/formatBriefTimestamp.ts old mode 100644 new mode 100755 diff --git a/src/utils/fpsTracker.ts b/src/utils/fpsTracker.ts old mode 100644 new mode 100755 diff --git a/src/utils/frontmatterParser.ts b/src/utils/frontmatterParser.ts old mode 100644 new mode 100755 diff --git a/src/utils/fsOperations.ts b/src/utils/fsOperations.ts old mode 100644 new mode 100755 diff --git a/src/utils/fullscreen.ts b/src/utils/fullscreen.ts old mode 100644 new mode 100755 diff --git a/src/utils/generatedFiles.ts b/src/utils/generatedFiles.ts old mode 100644 new mode 100755 diff --git a/src/utils/generators.ts b/src/utils/generators.ts old mode 100644 new mode 100755 diff --git a/src/utils/genericProcessUtils.ts b/src/utils/genericProcessUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/getWorktreePaths.ts b/src/utils/getWorktreePaths.ts old mode 100644 new mode 100755 diff --git a/src/utils/getWorktreePathsPortable.ts b/src/utils/getWorktreePathsPortable.ts old mode 100644 new mode 100755 diff --git a/src/utils/ghPrStatus.ts b/src/utils/ghPrStatus.ts old mode 100644 new mode 100755 diff --git a/src/utils/git.ts b/src/utils/git.ts old mode 100644 new mode 100755 diff --git a/src/utils/git/gitConfigParser.ts b/src/utils/git/gitConfigParser.ts old mode 100644 new mode 100755 diff --git a/src/utils/git/gitFilesystem.ts b/src/utils/git/gitFilesystem.ts old mode 100644 new mode 100755 diff --git a/src/utils/git/gitignore.ts b/src/utils/git/gitignore.ts old mode 100644 new mode 100755 diff --git a/src/utils/gitDiff.ts b/src/utils/gitDiff.ts old mode 100644 new mode 100755 diff --git a/src/utils/gitSettings.ts b/src/utils/gitSettings.ts old mode 100644 new mode 100755 diff --git a/src/utils/github/ghAuthStatus.ts b/src/utils/github/ghAuthStatus.ts old mode 100644 new mode 100755 diff --git a/src/utils/githubRepoPathMapping.ts b/src/utils/githubRepoPathMapping.ts old mode 100644 new mode 100755 diff --git a/src/utils/glob.ts b/src/utils/glob.ts old mode 100644 new mode 100755 diff --git a/src/utils/gracefulShutdown.ts b/src/utils/gracefulShutdown.ts old mode 100644 new mode 100755 diff --git a/src/utils/groupToolUses.ts b/src/utils/groupToolUses.ts old mode 100644 new mode 100755 diff --git a/src/utils/handlePromptSubmit.ts b/src/utils/handlePromptSubmit.ts old mode 100644 new mode 100755 diff --git a/src/utils/hash.ts b/src/utils/hash.ts old mode 100644 new mode 100755 diff --git a/src/utils/headlessProfiler.ts b/src/utils/headlessProfiler.ts old mode 100644 new mode 100755 diff --git a/src/utils/heapDumpService.ts b/src/utils/heapDumpService.ts old mode 100644 new mode 100755 diff --git a/src/utils/heatmap.ts b/src/utils/heatmap.ts old mode 100644 new mode 100755 diff --git a/src/utils/highlightMatch.tsx b/src/utils/highlightMatch.tsx old mode 100644 new mode 100755 diff --git a/src/utils/hooks.ts b/src/utils/hooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/AsyncHookRegistry.ts b/src/utils/hooks/AsyncHookRegistry.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/apiQueryHookHelper.ts b/src/utils/hooks/apiQueryHookHelper.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/execAgentHook.ts b/src/utils/hooks/execAgentHook.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/execHttpHook.ts b/src/utils/hooks/execHttpHook.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/execPromptHook.ts b/src/utils/hooks/execPromptHook.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/fileChangedWatcher.ts b/src/utils/hooks/fileChangedWatcher.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/hookEvents.ts b/src/utils/hooks/hookEvents.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/hookHelpers.ts b/src/utils/hooks/hookHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/hooksConfigManager.ts b/src/utils/hooks/hooksConfigManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/hooksConfigSnapshot.ts b/src/utils/hooks/hooksConfigSnapshot.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/hooksSettings.ts b/src/utils/hooks/hooksSettings.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/postSamplingHooks.ts b/src/utils/hooks/postSamplingHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/registerFrontmatterHooks.ts b/src/utils/hooks/registerFrontmatterHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/registerSkillHooks.ts b/src/utils/hooks/registerSkillHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/sessionHooks.ts b/src/utils/hooks/sessionHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/skillImprovement.ts b/src/utils/hooks/skillImprovement.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/src/entrypoints/agentSdkTypes.ts b/src/utils/hooks/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/src/entrypoints/sdk/coreTypes.ts b/src/utils/hooks/src/entrypoints/sdk/coreTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/src/state/AppState.ts b/src/utils/hooks/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/src/types/message.ts b/src/utils/hooks/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/utils/hooks/ssrfGuard.ts b/src/utils/hooks/ssrfGuard.ts old mode 100644 new mode 100755 diff --git a/src/utils/horizontalScroll.ts b/src/utils/horizontalScroll.ts old mode 100644 new mode 100755 diff --git a/src/utils/http.ts b/src/utils/http.ts old mode 100644 new mode 100755 diff --git a/src/utils/hyperlink.ts b/src/utils/hyperlink.ts old mode 100644 new mode 100755 diff --git a/src/utils/iTermBackup.ts b/src/utils/iTermBackup.ts old mode 100644 new mode 100755 diff --git a/src/utils/ide.ts b/src/utils/ide.ts old mode 100644 new mode 100755 diff --git a/src/utils/idePathConversion.ts b/src/utils/idePathConversion.ts old mode 100644 new mode 100755 diff --git a/src/utils/idleTimeout.ts b/src/utils/idleTimeout.ts old mode 100644 new mode 100755 diff --git a/src/utils/imagePaste.ts b/src/utils/imagePaste.ts old mode 100644 new mode 100755 diff --git a/src/utils/imageResizer.ts b/src/utils/imageResizer.ts old mode 100644 new mode 100755 diff --git a/src/utils/imageStore.ts b/src/utils/imageStore.ts old mode 100644 new mode 100755 diff --git a/src/utils/imageValidation.ts b/src/utils/imageValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/immediateCommand.ts b/src/utils/immediateCommand.ts old mode 100644 new mode 100755 diff --git a/src/utils/inProcessTeammateHelpers.ts b/src/utils/inProcessTeammateHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/ink.ts b/src/utils/ink.ts old mode 100644 new mode 100755 diff --git a/src/utils/intl.ts b/src/utils/intl.ts old mode 100644 new mode 100755 diff --git a/src/utils/jetbrains.ts b/src/utils/jetbrains.ts old mode 100644 new mode 100755 diff --git a/src/utils/json.ts b/src/utils/json.ts old mode 100644 new mode 100755 diff --git a/src/utils/jsonRead.ts b/src/utils/jsonRead.ts old mode 100644 new mode 100755 diff --git a/src/utils/keyboardShortcuts.ts b/src/utils/keyboardShortcuts.ts old mode 100644 new mode 100755 diff --git a/src/utils/lazySchema.ts b/src/utils/lazySchema.ts old mode 100644 new mode 100755 diff --git a/src/utils/listSessionsImpl.ts b/src/utils/listSessionsImpl.ts old mode 100644 new mode 100755 diff --git a/src/utils/localInstaller.ts b/src/utils/localInstaller.ts old mode 100644 new mode 100755 diff --git a/src/utils/lockfile.ts b/src/utils/lockfile.ts old mode 100644 new mode 100755 diff --git a/src/utils/log.ts b/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/utils/logoV2Utils.ts b/src/utils/logoV2Utils.ts old mode 100644 new mode 100755 diff --git a/src/utils/mailbox.ts b/src/utils/mailbox.ts old mode 100644 new mode 100755 diff --git a/src/utils/managedEnv.ts b/src/utils/managedEnv.ts old mode 100644 new mode 100755 diff --git a/src/utils/managedEnvConstants.ts b/src/utils/managedEnvConstants.ts old mode 100644 new mode 100755 diff --git a/src/utils/markdown.ts b/src/utils/markdown.ts old mode 100644 new mode 100755 diff --git a/src/utils/markdownConfigLoader.ts b/src/utils/markdownConfigLoader.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcp/dateTimeParser.ts b/src/utils/mcp/dateTimeParser.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcp/elicitationValidation.ts b/src/utils/mcp/elicitationValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcpInstructionsDelta.ts b/src/utils/mcpInstructionsDelta.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcpOutputStorage.ts b/src/utils/mcpOutputStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcpValidation.ts b/src/utils/mcpValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/mcpWebSocketTransport.ts b/src/utils/mcpWebSocketTransport.ts old mode 100644 new mode 100755 diff --git a/src/utils/memoize.ts b/src/utils/memoize.ts old mode 100644 new mode 100755 diff --git a/src/utils/memory/types.ts b/src/utils/memory/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/memory/versions.ts b/src/utils/memory/versions.ts old mode 100644 new mode 100755 diff --git a/src/utils/memoryFileDetection.ts b/src/utils/memoryFileDetection.ts old mode 100644 new mode 100755 diff --git a/src/utils/messagePredicates.ts b/src/utils/messagePredicates.ts old mode 100644 new mode 100755 diff --git a/src/utils/messageQueueManager.ts b/src/utils/messageQueueManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages.ts b/src/utils/messages.ts old mode 100644 new mode 100755 index 50fb613..c42e0b1 --- a/src/utils/messages.ts +++ b/src/utils/messages.ts @@ -688,6 +688,7 @@ export function extractTag(html: string, tagName: string): string | null { } export function isNotEmptyMessage(message: Message): boolean { + if (!message) return false if ( message.type === 'progress' || message.type === 'attachment' || @@ -747,10 +748,10 @@ export function normalizeMessages(messages: Message[]): NormalizedMessage[] { // This flag is set to true once we encounter a message with multiple content blocks, // and remains true for all subsequent messages in the normalization process. let isNewChain = false - return messages.flatMap(message => { + return messages.filter(Boolean).flatMap(message => { switch (message.type) { case 'assistant': { - const assistantContent = Array.isArray(message.message.content) ? message.message.content : [] + const assistantContent = (Array.isArray(message.message.content) ? message.message.content : []).filter(Boolean) isNewChain = isNewChain || assistantContent.length > 1 return assistantContent.map((_, index) => { const uuid = isNewChain diff --git a/src/utils/messages/mappers.ts b/src/utils/messages/mappers.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/bootstrap/state.ts b/src/utils/messages/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/constants/outputStyles.ts b/src/utils/messages/src/constants/outputStyles.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/constants/xml.ts b/src/utils/messages/src/constants/xml.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/entrypoints/agentSdkTypes.ts b/src/utils/messages/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/services/claudeAiLimits.ts b/src/utils/messages/src/services/claudeAiLimits.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/tools/AgentTool/constants.ts b/src/utils/messages/src/tools/AgentTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/tools/ExitPlanModeTool/constants.ts b/src/utils/messages/src/tools/ExitPlanModeTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/types/message.ts b/src/utils/messages/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/src/types/utils.ts b/src/utils/messages/src/types/utils.ts old mode 100644 new mode 100755 diff --git a/src/utils/messages/systemInit.ts b/src/utils/messages/systemInit.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/agent.ts b/src/utils/model/agent.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/aliases.ts b/src/utils/model/aliases.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/antModels.ts b/src/utils/model/antModels.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/bedrock.ts b/src/utils/model/bedrock.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/check1mAccess.ts b/src/utils/model/check1mAccess.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/configs.ts b/src/utils/model/configs.ts old mode 100644 new mode 100755 index 89f243d..da873dc --- a/src/utils/model/configs.ts +++ b/src/utils/model/configs.ts @@ -3,6 +3,120 @@ import type { APIProvider } from './providers.js' export type ModelConfig = Record +/** + * 已知 OpenAI 兼容模型快速查找表。 + * 完整的厂商 + 模型列表见 providerRegistry.ts,此处仅供 isOpenAICompatibleModel() 使用。 + */ +export const OPENAI_MODELS: Record = { + // OpenAI + 'gpt-4o': { name: 'GPT-4o', description: 'OpenAI 旗舰多模态' }, + 'gpt-4o-mini': { name: 'GPT-4o Mini', description: 'OpenAI 经济型' }, + 'gpt-4.1': { name: 'GPT-4.1', description: 'OpenAI GPT-4.1' }, + 'gpt-4.1-mini': { name: 'GPT-4.1 Mini', description: 'OpenAI GPT-4.1 Mini' }, + 'o3': { name: 'o3', description: 'OpenAI 推理模型' }, + 'o4-mini': { name: 'o4-mini', description: 'OpenAI 推理经济型' }, + // Google Gemini + 'gemini-2.5-pro': { name: 'Gemini 2.5 Pro', description: 'Google 旗舰推理' }, + 'gemini-2.5-flash': { name: 'Gemini 2.5 Flash', description: 'Google 快速思考' }, + // DeepSeek + 'deepseek-chat': { name: 'DeepSeek V3', description: '深度求索 V3' }, + 'deepseek-reasoner': { name: 'DeepSeek R1', description: '深度求索推理模型' }, + // Qwen + 'qwen-max-latest': { name: 'Qwen Max', description: '通义千问旗舰' }, + 'qwen-plus-latest': { name: 'Qwen Plus', description: '通义千问均衡' }, + 'qwen-turbo-latest': { name: 'Qwen Turbo', description: '通义千问快速' }, + // Zhipu GLM + 'glm-4-plus': { name: 'GLM-4 Plus', description: '智谱旗舰' }, + // Moonshot / Kimi + 'moonshot-v1-128k': { name: 'Moonshot 128K', description: 'Kimi 长上下文' }, + // Doubao + 'doubao-1.5-pro-32k': { name: '豆包 1.5 Pro', description: '字节旗舰' }, + // Baidu + 'ernie-4.5-8k': { name: 'ERNIE 4.5', description: '文心一言旗舰' }, + // Yi + 'yi-lightning': { name: 'Yi Lightning', description: '零一万物极速' }, + // Stepfun + 'step-2-16k': { name: 'Step 2', description: '阶跃星辰旗舰' }, + // Baichuan + 'Baichuan4-Air': { name: 'Baichuan 4', description: '百川旗舰' }, + // MiniMax + 'MiniMax-Text-01': { name: 'MiniMax Text 01', description: 'MiniMax 旗舰' }, + // Spark + 'spark-max': { name: '星火 Max', description: '讯飞旗舰' }, + // Hunyuan + 'hunyuan-turbos-latest': { name: '混元 Turbo S', description: '腾讯旗舰' }, + // Mistral + 'mistral-large-latest': { name: 'Mistral Large', description: 'Mistral 旗舰' }, + 'codestral-latest': { name: 'Codestral', description: 'Mistral 编码专用' }, + // Groq + 'llama-3.3-70b-versatile': { name: 'Llama 3.3 70B', description: 'Groq 极速推理' }, + // xAI + 'grok-3': { name: 'Grok 3', description: 'xAI 旗舰' }, + // Cohere + 'command-a-03-2025': { name: 'Command A', description: 'Cohere 企业级' }, + // Perplexity + 'sonar-pro': { name: 'Sonar Pro', description: 'Perplexity 搜索增强' }, +} + +/** Check if a model name looks like an OpenAI-compatible model (not a Claude model). */ +export function isOpenAICompatibleModel(model: string): boolean { + const lower = model.toLowerCase() + // Known OpenAI-compatible prefixes from 20+ providers + const prefixes = [ + // OpenAI + 'gpt-', 'o1', 'o3', 'o4', 'chatgpt', + // Google + 'gemini', 'gemma', + // DeepSeek + 'deepseek', + // Alibaba Qwen + 'qwen', 'qwq', + // Zhipu + 'glm', 'codegeex', + // Moonshot / Kimi + 'moonshot', + // ByteDance Doubao + 'doubao', + // Baidu + 'ernie', + // 01.AI Yi + 'yi-', + // Stepfun + 'step-', + // Baichuan + 'baichuan', + // MiniMax + 'minimax', 'abab', + // iFlytek Spark + 'spark', + // Tencent Hunyuan + 'hunyuan', + // Mistral + 'mistral', 'mixtral', 'codestral', 'pixtral', + // Meta + 'llama', 'meta-llama', + // Cohere + 'command-', + // Perplexity + 'sonar', + // xAI + 'grok', + // Together / SiliconFlow / OpenRouter (path-style model IDs) + 'deepseek-ai/', 'qwen/', 'thudm/', 'meta-llama/', 'mistralai/', + 'anthropic/', 'openai/', 'google/', + ] + // If it's in our known list + if (OPENAI_MODELS[model] || OPENAI_MODELS[lower]) return true + // If it matches known prefixes (excluding claude-) + for (const prefix of prefixes) { + if (lower.startsWith(prefix)) return true + } + // If OPENAI_MODEL env is set to this model, or PROVIDER is set + if (process.env.OPENAI_MODEL === model) return true + if (process.env.PROVIDER) return true + return false +} + // @[MODEL LAUNCH]: Add a new CLAUDE_*_CONFIG constant here. Double check the correct model strings // here since the pattern may change. @@ -11,6 +125,7 @@ export const CLAUDE_3_7_SONNET_CONFIG = { bedrock: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0', vertex: 'claude-3-7-sonnet@20250219', foundry: 'claude-3-7-sonnet', + openai: 'claude-3-7-sonnet-20250219', } as const satisfies ModelConfig export const CLAUDE_3_5_V2_SONNET_CONFIG = { @@ -18,6 +133,7 @@ export const CLAUDE_3_5_V2_SONNET_CONFIG = { bedrock: 'anthropic.claude-3-5-sonnet-20241022-v2:0', vertex: 'claude-3-5-sonnet-v2@20241022', foundry: 'claude-3-5-sonnet', + openai: 'claude-3-5-sonnet-20241022', } as const satisfies ModelConfig export const CLAUDE_3_5_HAIKU_CONFIG = { @@ -25,6 +141,7 @@ export const CLAUDE_3_5_HAIKU_CONFIG = { bedrock: 'us.anthropic.claude-3-5-haiku-20241022-v1:0', vertex: 'claude-3-5-haiku@20241022', foundry: 'claude-3-5-haiku', + openai: 'claude-3-5-haiku-20241022', } as const satisfies ModelConfig export const CLAUDE_HAIKU_4_5_CONFIG = { @@ -32,6 +149,7 @@ export const CLAUDE_HAIKU_4_5_CONFIG = { bedrock: 'us.anthropic.claude-haiku-4-5-20251001-v1:0', vertex: 'claude-haiku-4-5@20251001', foundry: 'claude-haiku-4-5', + openai: 'claude-haiku-4-5-20251001', } as const satisfies ModelConfig export const CLAUDE_SONNET_4_CONFIG = { @@ -39,6 +157,7 @@ export const CLAUDE_SONNET_4_CONFIG = { bedrock: 'us.anthropic.claude-sonnet-4-20250514-v1:0', vertex: 'claude-sonnet-4@20250514', foundry: 'claude-sonnet-4', + openai: 'claude-sonnet-4-20250514', } as const satisfies ModelConfig export const CLAUDE_SONNET_4_5_CONFIG = { @@ -46,6 +165,7 @@ export const CLAUDE_SONNET_4_5_CONFIG = { bedrock: 'us.anthropic.claude-sonnet-4-5-20250929-v1:0', vertex: 'claude-sonnet-4-5@20250929', foundry: 'claude-sonnet-4-5', + openai: 'claude-sonnet-4-5-20250929', } as const satisfies ModelConfig export const CLAUDE_OPUS_4_CONFIG = { @@ -53,6 +173,7 @@ export const CLAUDE_OPUS_4_CONFIG = { bedrock: 'us.anthropic.claude-opus-4-20250514-v1:0', vertex: 'claude-opus-4@20250514', foundry: 'claude-opus-4', + openai: 'claude-opus-4-20250514', } as const satisfies ModelConfig export const CLAUDE_OPUS_4_1_CONFIG = { @@ -60,6 +181,7 @@ export const CLAUDE_OPUS_4_1_CONFIG = { bedrock: 'us.anthropic.claude-opus-4-1-20250805-v1:0', vertex: 'claude-opus-4-1@20250805', foundry: 'claude-opus-4-1', + openai: 'claude-opus-4-1-20250805', } as const satisfies ModelConfig export const CLAUDE_OPUS_4_5_CONFIG = { @@ -67,6 +189,7 @@ export const CLAUDE_OPUS_4_5_CONFIG = { bedrock: 'us.anthropic.claude-opus-4-5-20251101-v1:0', vertex: 'claude-opus-4-5@20251101', foundry: 'claude-opus-4-5', + openai: 'claude-opus-4-5-20251101', } as const satisfies ModelConfig export const CLAUDE_OPUS_4_6_CONFIG = { @@ -74,6 +197,7 @@ export const CLAUDE_OPUS_4_6_CONFIG = { bedrock: 'us.anthropic.claude-opus-4-6-v1', vertex: 'claude-opus-4-6', foundry: 'claude-opus-4-6', + openai: 'claude-opus-4-6', } as const satisfies ModelConfig export const CLAUDE_SONNET_4_6_CONFIG = { @@ -81,6 +205,7 @@ export const CLAUDE_SONNET_4_6_CONFIG = { bedrock: 'us.anthropic.claude-sonnet-4-6', vertex: 'claude-sonnet-4-6', foundry: 'claude-sonnet-4-6', + openai: 'claude-sonnet-4-6', } as const satisfies ModelConfig // @[MODEL LAUNCH]: Register the new config here. diff --git a/src/utils/model/contextWindowUpgradeCheck.ts b/src/utils/model/contextWindowUpgradeCheck.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/deprecation.ts b/src/utils/model/deprecation.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/model.ts b/src/utils/model/model.ts old mode 100644 new mode 100755 index 0414683..ff5209f --- a/src/utils/model/model.ts +++ b/src/utils/model/model.ts @@ -34,7 +34,12 @@ export type ModelName = string export type ModelSetting = ModelName | ModelAlias | null export function getSmallFastModel(): ModelName { - return process.env.ANTHROPIC_SMALL_FAST_MODEL || getDefaultHaikuModel() + if (process.env.ANTHROPIC_SMALL_FAST_MODEL) return process.env.ANTHROPIC_SMALL_FAST_MODEL + // For OpenAI provider, use the same model (no separate "small" model) + if (getAPIProvider() === 'openai') { + return process.env.OPENAI_MODEL || getOpenAIProviderDefaultModel() + } + return getDefaultHaikuModel() } export function isNonCustomOpusModel(model: ModelName): boolean { @@ -66,7 +71,7 @@ export function getUserSpecifiedModelSetting(): ModelSetting | undefined { specifiedModel = modelOverride } else { const settings = getSettings_DEPRECATED() || {} - specifiedModel = process.env.ANTHROPIC_MODEL || settings.model || undefined + specifiedModel = process.env.ANTHROPIC_MODEL || process.env.OPENAI_MODEL || settings.model || undefined } // Ignore the user-specified model if it's not in the availableModels allowlist. @@ -94,15 +99,39 @@ export function getMainLoopModel(): ModelName { if (model !== undefined && model !== null) { return parseUserSpecifiedModel(model) } + // For OpenAI provider: use provider's default model instead of Claude default + if (getAPIProvider() === 'openai') { + return process.env.OPENAI_MODEL || getOpenAIProviderDefaultModel() + } return getDefaultMainLoopModel() } +/** Get the default model from the OpenAI provider registry */ +function getOpenAIProviderDefaultModel(): string { + // Inline the Ollama default — avoids circular import with providerRegistry + // The full registry is used at runtime by openaiAdapter.ts + const provider = process.env.PROVIDER?.toLowerCase() + if (provider === 'deepseek') return 'deepseek-chat' + if (provider === 'qwen') return 'qwen-max-latest' + if (provider === 'zhipu') return 'glm-4-plus' + if (provider === 'moonshot') return 'moonshot-v1-128k' + if (provider === 'openai') return 'gpt-4o' + if (provider === 'google') return 'gemini-2.5-flash' + if (provider === 'mistral') return 'mistral-large-latest' + if (provider === 'groq') return 'llama-3.3-70b-versatile' + // Default: Ollama local + return 'qwen3.5:35b' +} + export function getBestModel(): ModelName { return getDefaultOpusModel() } // @[MODEL LAUNCH]: Update the default Opus model (3P providers may lag so keep defaults unchanged). export function getDefaultOpusModel(): ModelName { + if (getAPIProvider() === 'openai') { + return process.env.OPENAI_MODEL || getOpenAIProviderDefaultModel() + } if (process.env.ANTHROPIC_DEFAULT_OPUS_MODEL) { return process.env.ANTHROPIC_DEFAULT_OPUS_MODEL } @@ -117,6 +146,9 @@ export function getDefaultOpusModel(): ModelName { // @[MODEL LAUNCH]: Update the default Sonnet model (3P providers may lag so keep defaults unchanged). export function getDefaultSonnetModel(): ModelName { + if (getAPIProvider() === 'openai') { + return process.env.OPENAI_MODEL || getOpenAIProviderDefaultModel() + } if (process.env.ANTHROPIC_DEFAULT_SONNET_MODEL) { return process.env.ANTHROPIC_DEFAULT_SONNET_MODEL } @@ -176,6 +208,11 @@ export function getRuntimeMainLoopModel(params: { * @returns The default model setting to use */ export function getDefaultMainLoopModelSetting(): ModelName | ModelAlias { + // OpenAI provider: use provider's default model, not Claude + if (getAPIProvider() === 'openai') { + return process.env.OPENAI_MODEL || getOpenAIProviderDefaultModel() + } + // Ants default to defaultModel from flag config, or Opus 1M if not configured if (process.env.USER_TYPE === 'ant') { return ( diff --git a/src/utils/model/modelAllowlist.ts b/src/utils/model/modelAllowlist.ts old mode 100644 new mode 100755 index 345c3ef..e83a14d --- a/src/utils/model/modelAllowlist.ts +++ b/src/utils/model/modelAllowlist.ts @@ -2,6 +2,7 @@ import { getSettings_DEPRECATED } from '../settings/settings.js' import { isModelAlias, isModelFamilyAlias } from './aliases.js' import { parseUserSpecifiedModel } from './model.js' import { resolveOverriddenModel } from './modelStrings.js' +import { getAPIProvider } from './providers.js' /** * Check if a model belongs to a given family by checking if its name @@ -98,6 +99,11 @@ function familyHasSpecificEntries( * 3. Full model IDs ("claude-opus-4-5-20251101") — exact match only */ export function isModelAllowed(model: string): boolean { + // OpenAI provider: all models are allowed (no Anthropic-specific restrictions) + if (getAPIProvider() === 'openai') { + return true + } + const settings = getSettings_DEPRECATED() || {} const { availableModels } = settings if (!availableModels) { diff --git a/src/utils/model/modelCapabilities.ts b/src/utils/model/modelCapabilities.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/modelOptions.ts b/src/utils/model/modelOptions.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/modelStrings.ts b/src/utils/model/modelStrings.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/modelSupportOverrides.ts b/src/utils/model/modelSupportOverrides.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/providers.ts b/src/utils/model/providers.ts old mode 100644 new mode 100755 index aba9b7d..1b6a392 --- a/src/utils/model/providers.ts +++ b/src/utils/model/providers.ts @@ -1,16 +1,56 @@ import type { AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS } from '../../services/analytics/index.js' import { isEnvTruthy } from '../envUtils.js' -export type APIProvider = 'firstParty' | 'bedrock' | 'vertex' | 'foundry' +export type APIProvider = 'firstParty' | 'bedrock' | 'vertex' | 'foundry' | 'openai' +/** + * Provider detection priority: + * 1. Explicit CLAUDE_CODE_USE_* env vars (Bedrock/Vertex/Foundry) + * 2. PROVIDER env var (e.g. PROVIDER=deepseek) → openai adapter + * 3. Any known provider API key detected → openai adapter + * 4. OPENAI_API_KEY / CLAUDE_CODE_USE_OPENAI → openai adapter + * 5. Default: firstParty (Anthropic direct) + */ export function getAPIProvider(): APIProvider { - return isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) - ? 'bedrock' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) - ? 'vertex' - : isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) - ? 'foundry' - : 'firstParty' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK)) return 'bedrock' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX)) return 'vertex' + if (isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY)) return 'foundry' + + // Check PROVIDER env or any known provider API key + if (process.env.PROVIDER || isEnvTruthy(process.env.CLAUDE_CODE_USE_OPENAI)) return 'openai' + + // Auto-detect by API key env vars + const knownKeyEnvVars = [ + 'OPENAI_API_KEY', 'GOOGLE_API_KEY', 'GEMINI_API_KEY', + 'DEEPSEEK_API_KEY', 'QWEN_API_KEY', 'DASHSCOPE_API_KEY', + 'ZHIPU_API_KEY', 'GLM_API_KEY', 'MOONSHOT_API_KEY', 'KIMI_API_KEY', + 'DOUBAO_API_KEY', 'ARK_API_KEY', 'VOLC_API_KEY', + 'BAIDU_API_KEY', 'QIANFAN_API_KEY', + 'YI_API_KEY', 'LINGYIWANWU_API_KEY', + 'STEPFUN_API_KEY', 'STEP_API_KEY', + 'BAICHUAN_API_KEY', 'MINIMAX_API_KEY', + 'SPARK_API_KEY', 'XFYUN_API_KEY', + 'HUNYUAN_API_KEY', 'TENCENT_API_KEY', + 'MISTRAL_API_KEY', 'GROQ_API_KEY', + 'XAI_API_KEY', 'GROK_API_KEY', + 'TOGETHER_API_KEY', 'COHERE_API_KEY', 'CO_API_KEY', + 'PERPLEXITY_API_KEY', 'PPLX_API_KEY', + 'SILICONFLOW_API_KEY', 'SF_API_KEY', + 'OPENROUTER_API_KEY', 'OR_API_KEY', + ] + for (const key of knownKeyEnvVars) { + if (process.env[key]) return 'openai' + } + + // If Anthropic API key is set, use firstParty + if (process.env.ANTHROPIC_API_KEY) return 'firstParty' + + // Default: Ollama local — zero config, no API key needed + return 'openai' +} + +export function isOpenAIProvider(): boolean { + return getAPIProvider() === 'openai' } export function getAPIProviderForStatsig(): AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS { diff --git a/src/utils/model/src/bootstrap/state.ts b/src/utils/model/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/src/services/analytics/growthbook.ts b/src/utils/model/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/src/services/claudeAiLimits.ts b/src/utils/model/src/services/claudeAiLimits.ts old mode 100644 new mode 100755 diff --git a/src/utils/model/validateModel.ts b/src/utils/model/validateModel.ts old mode 100644 new mode 100755 index 14b8167..c271402 --- a/src/utils/model/validateModel.ts +++ b/src/utils/model/validateModel.ts @@ -2,6 +2,7 @@ import { MODEL_ALIASES } from './aliases.js' import { isModelAllowed } from './modelAllowlist.js' import { getAPIProvider } from './providers.js' +import { isOpenAICompatibleModel } from './configs.js' import { sideQuery } from '../sideQuery.js' import { NotFoundError, @@ -46,6 +47,12 @@ export async function validateModel( return { valid: true } } + // Skip Anthropic API validation for OpenAI-compatible models + if (getAPIProvider() === 'openai' || isOpenAICompatibleModel(normalizedModel)) { + validModelCache.set(normalizedModel, true) + return { valid: true } + } + // Check cache first if (validModelCache.has(normalizedModel)) { return { valid: true } diff --git a/src/utils/modelCost.ts b/src/utils/modelCost.ts old mode 100644 new mode 100755 diff --git a/src/utils/modifiers.ts b/src/utils/modifiers.ts old mode 100644 new mode 100755 diff --git a/src/utils/mtls.ts b/src/utils/mtls.ts old mode 100644 new mode 100755 index b421ab5..6d94d0c --- a/src/utils/mtls.ts +++ b/src/utils/mtls.ts @@ -136,19 +136,24 @@ export function getTLSFetchOptions(): { logForDebugging('TLS: Created undici agent with custom certificates') // Create a custom undici Agent with TLS options. Lazy-required so that // the ~1.5MB undici package is only loaded when mTLS/CA certs are configured. - // eslint-disable-next-line @typescript-eslint/no-require-imports - const undiciMod = require('undici') as typeof undici - const agent = new undiciMod.Agent({ - connect: { - cert: tlsConfig.cert, - key: tlsConfig.key, - passphrase: tlsConfig.passphrase, - ...(tlsConfig.ca && { ca: tlsConfig.ca }), - }, - pipelining: 1, - }) + try { + // eslint-disable-next-line @typescript-eslint/no-require-imports + const undiciMod = require('undici') as typeof undici + const agent = new undiciMod.Agent({ + connect: { + cert: tlsConfig.cert, + key: tlsConfig.key, + passphrase: tlsConfig.passphrase, + ...(tlsConfig.ca && { ca: tlsConfig.ca }), + }, + pipelining: 1, + }) - return { dispatcher: agent } + return { dispatcher: agent } + } catch { + logForDebugging('undici not available, skipping TLS agent creation') + return { tls: tlsConfig } + } } /** diff --git a/src/utils/nativeInstaller/download.ts b/src/utils/nativeInstaller/download.ts old mode 100644 new mode 100755 diff --git a/src/utils/nativeInstaller/index.ts b/src/utils/nativeInstaller/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/nativeInstaller/installer.ts b/src/utils/nativeInstaller/installer.ts old mode 100644 new mode 100755 diff --git a/src/utils/nativeInstaller/packageManagers.ts b/src/utils/nativeInstaller/packageManagers.ts old mode 100644 new mode 100755 diff --git a/src/utils/nativeInstaller/pidLock.ts b/src/utils/nativeInstaller/pidLock.ts old mode 100644 new mode 100755 diff --git a/src/utils/nativeInstaller/src/services/analytics/index.ts b/src/utils/nativeInstaller/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/notebook.ts b/src/utils/notebook.ts old mode 100644 new mode 100755 diff --git a/src/utils/objectGroupBy.ts b/src/utils/objectGroupBy.ts old mode 100644 new mode 100755 diff --git a/src/utils/pasteStore.ts b/src/utils/pasteStore.ts old mode 100644 new mode 100755 diff --git a/src/utils/path.ts b/src/utils/path.ts old mode 100644 new mode 100755 diff --git a/src/utils/pdf.ts b/src/utils/pdf.ts old mode 100644 new mode 100755 diff --git a/src/utils/pdfUtils.ts b/src/utils/pdfUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/peerAddress.ts b/src/utils/peerAddress.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionMode.ts b/src/utils/permissions/PermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionPromptToolResultSchema.ts b/src/utils/permissions/PermissionPromptToolResultSchema.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionResult.ts b/src/utils/permissions/PermissionResult.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionRule.ts b/src/utils/permissions/PermissionRule.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionUpdate.ts b/src/utils/permissions/PermissionUpdate.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/PermissionUpdateSchema.ts b/src/utils/permissions/PermissionUpdateSchema.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/autoModeState.ts b/src/utils/permissions/autoModeState.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/bashClassifier.ts b/src/utils/permissions/bashClassifier.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/bypassPermissionsKillswitch.ts b/src/utils/permissions/bypassPermissionsKillswitch.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/classifierDecision.ts b/src/utils/permissions/classifierDecision.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/classifierShared.ts b/src/utils/permissions/classifierShared.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/dangerousPatterns.ts b/src/utils/permissions/dangerousPatterns.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/denialTracking.ts b/src/utils/permissions/denialTracking.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/filesystem.ts b/src/utils/permissions/filesystem.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/getNextPermissionMode.ts b/src/utils/permissions/getNextPermissionMode.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/pathValidation.ts b/src/utils/permissions/pathValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/permissionExplainer.ts b/src/utils/permissions/permissionExplainer.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/permissionRuleParser.ts b/src/utils/permissions/permissionRuleParser.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/permissionSetup.ts b/src/utils/permissions/permissionSetup.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/permissions.ts b/src/utils/permissions/permissions.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/permissionsLoader.ts b/src/utils/permissions/permissionsLoader.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/shadowedRuleDetection.ts b/src/utils/permissions/shadowedRuleDetection.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/shellRuleMatching.ts b/src/utils/permissions/shellRuleMatching.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/Tool.ts b/src/utils/permissions/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/memdir/paths.ts b/src/utils/permissions/src/memdir/paths.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/services/analytics/growthbook.ts b/src/utils/permissions/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/state/AppState.ts b/src/utils/permissions/src/state/AppState.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/tools/AgentTool/agentMemory.ts b/src/utils/permissions/src/tools/AgentTool/agentMemory.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/src/tools/FileEditTool/constants.ts b/src/utils/permissions/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/permissions/yoloClassifier.ts b/src/utils/permissions/yoloClassifier.ts old mode 100644 new mode 100755 diff --git a/src/utils/planModeV2.ts b/src/utils/planModeV2.ts old mode 100644 new mode 100755 diff --git a/src/utils/plans.ts b/src/utils/plans.ts old mode 100644 new mode 100755 diff --git a/src/utils/platform.ts b/src/utils/platform.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/addDirPluginSettings.ts b/src/utils/plugins/addDirPluginSettings.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/cacheUtils.ts b/src/utils/plugins/cacheUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/dependencyResolver.ts b/src/utils/plugins/dependencyResolver.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/fetchTelemetry.ts b/src/utils/plugins/fetchTelemetry.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/gitAvailability.ts b/src/utils/plugins/gitAvailability.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/headlessPluginInstall.ts b/src/utils/plugins/headlessPluginInstall.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/hintRecommendation.ts b/src/utils/plugins/hintRecommendation.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/installCounts.ts b/src/utils/plugins/installCounts.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/installedPluginsManager.ts b/src/utils/plugins/installedPluginsManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/loadPluginAgents.ts b/src/utils/plugins/loadPluginAgents.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/loadPluginCommands.ts b/src/utils/plugins/loadPluginCommands.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/loadPluginHooks.ts b/src/utils/plugins/loadPluginHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/loadPluginOutputStyles.ts b/src/utils/plugins/loadPluginOutputStyles.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/lspPluginIntegration.ts b/src/utils/plugins/lspPluginIntegration.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/lspRecommendation.ts b/src/utils/plugins/lspRecommendation.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/managedPlugins.ts b/src/utils/plugins/managedPlugins.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/marketplaceHelpers.ts b/src/utils/plugins/marketplaceHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/marketplaceManager.ts b/src/utils/plugins/marketplaceManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/mcpPluginIntegration.ts b/src/utils/plugins/mcpPluginIntegration.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/mcpbHandler.ts b/src/utils/plugins/mcpbHandler.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/officialMarketplace.ts b/src/utils/plugins/officialMarketplace.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/officialMarketplaceGcs.ts b/src/utils/plugins/officialMarketplaceGcs.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/officialMarketplaceStartupCheck.ts b/src/utils/plugins/officialMarketplaceStartupCheck.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/orphanedPluginFilter.ts b/src/utils/plugins/orphanedPluginFilter.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/parseMarketplaceInput.ts b/src/utils/plugins/parseMarketplaceInput.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/performStartupChecks.tsx b/src/utils/plugins/performStartupChecks.tsx old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginAutoupdate.ts b/src/utils/plugins/pluginAutoupdate.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginBlocklist.ts b/src/utils/plugins/pluginBlocklist.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginDirectories.ts b/src/utils/plugins/pluginDirectories.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginFlagging.ts b/src/utils/plugins/pluginFlagging.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginIdentifier.ts b/src/utils/plugins/pluginIdentifier.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginInstallationHelpers.ts b/src/utils/plugins/pluginInstallationHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginLoader.ts b/src/utils/plugins/pluginLoader.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginOptionsStorage.ts b/src/utils/plugins/pluginOptionsStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginPolicy.ts b/src/utils/plugins/pluginPolicy.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginStartupCheck.ts b/src/utils/plugins/pluginStartupCheck.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/pluginVersioning.ts b/src/utils/plugins/pluginVersioning.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/reconciler.ts b/src/utils/plugins/reconciler.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/refresh.ts b/src/utils/plugins/refresh.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/schemas.ts b/src/utils/plugins/schemas.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/src/entrypoints/agentSdkTypes.ts b/src/utils/plugins/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/validatePlugin.ts b/src/utils/plugins/validatePlugin.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/walkPluginMarkdown.ts b/src/utils/plugins/walkPluginMarkdown.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/zipCache.ts b/src/utils/plugins/zipCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/plugins/zipCacheAdapters.ts b/src/utils/plugins/zipCacheAdapters.ts old mode 100644 new mode 100755 diff --git a/src/utils/postCommitAttribution.ts b/src/utils/postCommitAttribution.ts old mode 100644 new mode 100755 diff --git a/src/utils/powershell/dangerousCmdlets.ts b/src/utils/powershell/dangerousCmdlets.ts old mode 100644 new mode 100755 diff --git a/src/utils/powershell/parser.ts b/src/utils/powershell/parser.ts old mode 100644 new mode 100755 diff --git a/src/utils/powershell/staticPrefix.ts b/src/utils/powershell/staticPrefix.ts old mode 100644 new mode 100755 diff --git a/src/utils/preflightChecks.tsx b/src/utils/preflightChecks.tsx old mode 100644 new mode 100755 index 6d0e278..8f10b8f --- a/src/utils/preflightChecks.tsx +++ b/src/utils/preflightChecks.tsx @@ -14,7 +14,14 @@ export interface PreflightCheckResult { error?: string; sslHint?: string; } +import { getAPIProvider } from './model/providers.js'; + async function checkEndpoints(): Promise { + // Skip Anthropic connectivity check for OpenAI-compatible providers + if (getAPIProvider() === 'openai') { + return { success: true }; + } + try { const oauthConfig = getOauthConfig(); const tokenUrl = new URL(oauthConfig.TOKEN_URL); diff --git a/src/utils/privacyLevel.ts b/src/utils/privacyLevel.ts old mode 100644 new mode 100755 diff --git a/src/utils/process.ts b/src/utils/process.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/processBashCommand.tsx b/src/utils/processUserInput/processBashCommand.tsx old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/processSlashCommand.tsx b/src/utils/processUserInput/processSlashCommand.tsx old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/processTextPrompt.ts b/src/utils/processUserInput/processTextPrompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/processUserInput.ts b/src/utils/processUserInput/processUserInput.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/Tool.ts b/src/utils/processUserInput/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/bootstrap/state.ts b/src/utils/processUserInput/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/commands.ts b/src/utils/processUserInput/src/commands.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/components/BashModeProgress.ts b/src/utils/processUserInput/src/components/BashModeProgress.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/constants/messages.ts b/src/utils/processUserInput/src/constants/messages.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/constants/querySource.ts b/src/utils/processUserInput/src/constants/querySource.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/services/analytics/index.ts b/src/utils/processUserInput/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/tools/BashTool/BashTool.ts b/src/utils/processUserInput/src/tools/BashTool/BashTool.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/types/message.ts b/src/utils/processUserInput/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/types/tools.ts b/src/utils/processUserInput/src/types/tools.ts old mode 100644 new mode 100755 diff --git a/src/utils/processUserInput/src/utils/messages.ts b/src/utils/processUserInput/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/utils/profilerBase.ts b/src/utils/profilerBase.ts old mode 100644 new mode 100755 diff --git a/src/utils/promptCategory.ts b/src/utils/promptCategory.ts old mode 100644 new mode 100755 diff --git a/src/utils/promptEditor.ts b/src/utils/promptEditor.ts old mode 100644 new mode 100755 diff --git a/src/utils/promptShellExecution.ts b/src/utils/promptShellExecution.ts old mode 100644 new mode 100755 diff --git a/src/utils/protectedNamespace.ts b/src/utils/protectedNamespace.ts old mode 100644 new mode 100755 diff --git a/src/utils/proxy.ts b/src/utils/proxy.ts old mode 100644 new mode 100755 index 3988023..63f25fc --- a/src/utils/proxy.ts +++ b/src/utils/proxy.ts @@ -368,10 +368,14 @@ export function configureGlobalAgents(): void { }) // Set global dispatcher that now respects NO_PROXY via EnvHttpProxyAgent - // eslint-disable-next-line @typescript-eslint/no-require-imports - ;(require('undici') as typeof undici).setGlobalDispatcher( - getProxyAgent(proxyUrl), - ) + try { + // eslint-disable-next-line @typescript-eslint/no-require-imports + ;(require('undici') as typeof undici).setGlobalDispatcher( + getProxyAgent(proxyUrl), + ) + } catch { + logForDebugging('undici not available, skipping global dispatcher setup') + } } else if (mtlsAgent) { // No proxy but mTLS is configured axios.defaults.httpsAgent = mtlsAgent @@ -379,10 +383,14 @@ export function configureGlobalAgents(): void { // Set undici global dispatcher with mTLS const mtlsOptions = getTLSFetchOptions() if (mtlsOptions.dispatcher) { - // eslint-disable-next-line @typescript-eslint/no-require-imports - ;(require('undici') as typeof undici).setGlobalDispatcher( - mtlsOptions.dispatcher, - ) + try { + // eslint-disable-next-line @typescript-eslint/no-require-imports + ;(require('undici') as typeof undici).setGlobalDispatcher( + mtlsOptions.dispatcher, + ) + } catch { + logForDebugging('undici not available, skipping mTLS dispatcher setup') + } } } } diff --git a/src/utils/queryContext.ts b/src/utils/queryContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/queryHelpers.ts b/src/utils/queryHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/queryProfiler.ts b/src/utils/queryProfiler.ts old mode 100644 new mode 100755 diff --git a/src/utils/queueProcessor.ts b/src/utils/queueProcessor.ts old mode 100644 new mode 100755 diff --git a/src/utils/readEditContext.ts b/src/utils/readEditContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/readFileInRange.ts b/src/utils/readFileInRange.ts old mode 100644 new mode 100755 diff --git a/src/utils/releaseNotes.ts b/src/utils/releaseNotes.ts old mode 100644 new mode 100755 diff --git a/src/utils/renderOptions.ts b/src/utils/renderOptions.ts old mode 100644 new mode 100755 diff --git a/src/utils/ripgrep.ts b/src/utils/ripgrep.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/sandbox-adapter.ts b/src/utils/sandbox/sandbox-adapter.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/sandbox-ui-utils.ts b/src/utils/sandbox/sandbox-ui-utils.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/src/tools/BashTool/toolName.ts b/src/utils/sandbox/src/tools/BashTool/toolName.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/src/tools/FileEditTool/constants.ts b/src/utils/sandbox/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/src/tools/FileReadTool/prompt.ts b/src/utils/sandbox/src/tools/FileReadTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/sandbox/src/tools/WebFetchTool/prompt.ts b/src/utils/sandbox/src/tools/WebFetchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/sanitization.ts b/src/utils/sanitization.ts old mode 100644 new mode 100755 diff --git a/src/utils/screenshotClipboard.ts b/src/utils/screenshotClipboard.ts old mode 100644 new mode 100755 diff --git a/src/utils/sdkEventQueue.ts b/src/utils/sdkEventQueue.ts old mode 100644 new mode 100755 diff --git a/src/utils/sdkHeapDumpMonitor.ts b/src/utils/sdkHeapDumpMonitor.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/fallbackStorage.ts b/src/utils/secureStorage/fallbackStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/index.ts b/src/utils/secureStorage/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/keychainPrefetch.ts b/src/utils/secureStorage/keychainPrefetch.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/macOsKeychainHelpers.ts b/src/utils/secureStorage/macOsKeychainHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/macOsKeychainStorage.ts b/src/utils/secureStorage/macOsKeychainStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/plainTextStorage.ts b/src/utils/secureStorage/plainTextStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/src/constants/oauth.ts b/src/utils/secureStorage/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/utils/secureStorage/types.ts b/src/utils/secureStorage/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/semanticBoolean.ts b/src/utils/semanticBoolean.ts old mode 100644 new mode 100755 diff --git a/src/utils/semanticNumber.ts b/src/utils/semanticNumber.ts old mode 100644 new mode 100755 diff --git a/src/utils/semver.ts b/src/utils/semver.ts old mode 100644 new mode 100755 diff --git a/src/utils/sequential.ts b/src/utils/sequential.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionActivity.ts b/src/utils/sessionActivity.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionDataUploader.ts b/src/utils/sessionDataUploader.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionEnvVars.ts b/src/utils/sessionEnvVars.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionEnvironment.ts b/src/utils/sessionEnvironment.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionFileAccessHooks.ts b/src/utils/sessionFileAccessHooks.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionIngressAuth.ts b/src/utils/sessionIngressAuth.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionRestore.ts b/src/utils/sessionRestore.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionStart.ts b/src/utils/sessionStart.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionState.ts b/src/utils/sessionState.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionStorage.ts b/src/utils/sessionStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionStoragePortable.ts b/src/utils/sessionStoragePortable.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionTitle.ts b/src/utils/sessionTitle.ts old mode 100644 new mode 100755 diff --git a/src/utils/sessionUrl.ts b/src/utils/sessionUrl.ts old mode 100644 new mode 100755 diff --git a/src/utils/set.ts b/src/utils/set.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/allErrors.ts b/src/utils/settings/allErrors.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/applySettingsChange.ts b/src/utils/settings/applySettingsChange.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/changeDetector.ts b/src/utils/settings/changeDetector.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/constants.ts b/src/utils/settings/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/internalWrites.ts b/src/utils/settings/internalWrites.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/managedPath.ts b/src/utils/settings/managedPath.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/mdm/constants.ts b/src/utils/settings/mdm/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/mdm/rawRead.ts b/src/utils/settings/mdm/rawRead.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/mdm/settings.ts b/src/utils/settings/mdm/settings.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/permissionValidation.ts b/src/utils/settings/permissionValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/pluginOnlyPolicy.ts b/src/utils/settings/pluginOnlyPolicy.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/schemaOutput.ts b/src/utils/settings/schemaOutput.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/settings.ts b/src/utils/settings/settings.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/settingsCache.ts b/src/utils/settings/settingsCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/src/Tool.ts b/src/utils/settings/src/Tool.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/src/services/mcp/types.ts b/src/utils/settings/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/toolValidationConfig.ts b/src/utils/settings/toolValidationConfig.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/types.ts b/src/utils/settings/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/validateEditTool.ts b/src/utils/settings/validateEditTool.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/validation.ts b/src/utils/settings/validation.ts old mode 100644 new mode 100755 diff --git a/src/utils/settings/validationTips.ts b/src/utils/settings/validationTips.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/bashProvider.ts b/src/utils/shell/bashProvider.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/outputLimits.ts b/src/utils/shell/outputLimits.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/powershellDetection.ts b/src/utils/shell/powershellDetection.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/powershellProvider.ts b/src/utils/shell/powershellProvider.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/prefix.ts b/src/utils/shell/prefix.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/readOnlyCommandValidation.ts b/src/utils/shell/readOnlyCommandValidation.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/resolveDefaultShell.ts b/src/utils/shell/resolveDefaultShell.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/shellProvider.ts b/src/utils/shell/shellProvider.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/shellToolUtils.ts b/src/utils/shell/shellToolUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/shell/specPrefix.ts b/src/utils/shell/specPrefix.ts old mode 100644 new mode 100755 diff --git a/src/utils/shellConfig.ts b/src/utils/shellConfig.ts old mode 100644 new mode 100755 diff --git a/src/utils/sideQuery.ts b/src/utils/sideQuery.ts old mode 100644 new mode 100755 diff --git a/src/utils/sideQuestion.ts b/src/utils/sideQuestion.ts old mode 100644 new mode 100755 diff --git a/src/utils/signal.ts b/src/utils/signal.ts old mode 100644 new mode 100755 diff --git a/src/utils/sinks.ts b/src/utils/sinks.ts old mode 100644 new mode 100755 diff --git a/src/utils/skills/skillChangeDetector.ts b/src/utils/skills/skillChangeDetector.ts old mode 100644 new mode 100755 diff --git a/src/utils/slashCommandParsing.ts b/src/utils/slashCommandParsing.ts old mode 100644 new mode 100755 diff --git a/src/utils/sleep.ts b/src/utils/sleep.ts old mode 100644 new mode 100755 diff --git a/src/utils/sliceAnsi.ts b/src/utils/sliceAnsi.ts old mode 100644 new mode 100755 diff --git a/src/utils/slowOperations.ts b/src/utils/slowOperations.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/bootstrap/state.ts b/src/utils/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/constants/oauth.ts b/src/utils/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/constants/prompts.ts b/src/utils/src/constants/prompts.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/constants/querySource.ts b/src/utils/src/constants/querySource.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/context.ts b/src/utils/src/context.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/entrypoints/agentSdkTypes.ts b/src/utils/src/entrypoints/agentSdkTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/entrypoints/sdk/controlTypes.ts b/src/utils/src/entrypoints/sdk/controlTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/entrypoints/sdk/runtimeTypes.ts b/src/utils/src/entrypoints/sdk/runtimeTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/analytics/config.ts b/src/utils/src/services/analytics/config.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/analytics/growthbook.ts b/src/utils/src/services/analytics/growthbook.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/analytics/index.ts b/src/utils/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/analytics/metadata.ts b/src/utils/src/services/analytics/metadata.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/compact/microCompact.ts b/src/utils/src/services/compact/microCompact.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/mcp/client.ts b/src/utils/src/services/mcp/client.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/mcp/types.ts b/src/utils/src/services/mcp/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/mcp/vscodeSdkMcp.ts b/src/utils/src/services/mcp/vscodeSdkMcp.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/services/policyLimits/index.ts b/src/utils/src/services/policyLimits/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools.ts b/src/utils/src/tools.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/AgentTool/built-in/exploreAgent.ts b/src/utils/src/tools/AgentTool/built-in/exploreAgent.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/AgentTool/built-in/planAgent.ts b/src/utils/src/tools/AgentTool/built-in/planAgent.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/AgentTool/builtInAgents.ts b/src/utils/src/tools/AgentTool/builtInAgents.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/AgentTool/constants.ts b/src/utils/src/tools/AgentTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/AskUserQuestionTool/prompt.ts b/src/utils/src/tools/AskUserQuestionTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/BashTool/BashTool.ts b/src/utils/src/tools/BashTool/BashTool.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts b/src/utils/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileEditTool/FileEditTool.ts b/src/utils/src/tools/FileEditTool/FileEditTool.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileEditTool/constants.ts b/src/utils/src/tools/FileEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileEditTool/utils.ts b/src/utils/src/tools/FileEditTool/utils.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileReadTool/limits.ts b/src/utils/src/tools/FileReadTool/limits.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileReadTool/prompt.ts b/src/utils/src/tools/FileReadTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileWriteTool/FileWriteTool.ts b/src/utils/src/tools/FileWriteTool/FileWriteTool.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/FileWriteTool/prompt.ts b/src/utils/src/tools/FileWriteTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/GlobTool/prompt.ts b/src/utils/src/tools/GlobTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/GrepTool/prompt.ts b/src/utils/src/tools/GrepTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/LSPTool/prompt.ts b/src/utils/src/tools/LSPTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/ListMcpResourcesTool/prompt.ts b/src/utils/src/tools/ListMcpResourcesTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/NotebookEditTool/constants.ts b/src/utils/src/tools/NotebookEditTool/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/TaskStopTool/prompt.ts b/src/utils/src/tools/TaskStopTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/tools/WebSearchTool/prompt.ts b/src/utils/src/tools/WebSearchTool/prompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/types/ids.ts b/src/utils/src/types/ids.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/types/logs.ts b/src/utils/src/types/logs.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/types/message.ts b/src/utils/src/types/message.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/types/textInputTypes.ts b/src/utils/src/types/textInputTypes.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/types/utils.ts b/src/utils/src/types/utils.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/cwd.ts b/src/utils/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/messages.ts b/src/utils/src/utils/messages.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/model/modelStrings.ts b/src/utils/src/utils/model/modelStrings.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/model/providers.ts b/src/utils/src/utils/model/providers.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/secureStorage/macOsKeychainHelpers.ts b/src/utils/src/utils/secureStorage/macOsKeychainHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/shell/shellToolUtils.ts b/src/utils/src/utils/shell/shellToolUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/src/utils/stringUtils.ts b/src/utils/src/utils/stringUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/standaloneAgent.ts b/src/utils/standaloneAgent.ts old mode 100644 new mode 100755 diff --git a/src/utils/startupProfiler.ts b/src/utils/startupProfiler.ts old mode 100644 new mode 100755 diff --git a/src/utils/staticRender.tsx b/src/utils/staticRender.tsx old mode 100644 new mode 100755 diff --git a/src/utils/stats.ts b/src/utils/stats.ts old mode 100644 new mode 100755 diff --git a/src/utils/statsCache.ts b/src/utils/statsCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/status.tsx b/src/utils/status.tsx old mode 100644 new mode 100755 diff --git a/src/utils/statusNoticeDefinitions.tsx b/src/utils/statusNoticeDefinitions.tsx old mode 100644 new mode 100755 diff --git a/src/utils/statusNoticeHelpers.ts b/src/utils/statusNoticeHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/stream.ts b/src/utils/stream.ts old mode 100644 new mode 100755 diff --git a/src/utils/streamJsonStdoutGuard.ts b/src/utils/streamJsonStdoutGuard.ts old mode 100644 new mode 100755 diff --git a/src/utils/streamlinedTransform.ts b/src/utils/streamlinedTransform.ts old mode 100644 new mode 100755 diff --git a/src/utils/stringUtils.ts b/src/utils/stringUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/subprocessEnv.ts b/src/utils/subprocessEnv.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/commandSuggestions.ts b/src/utils/suggestions/commandSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/directoryCompletion.ts b/src/utils/suggestions/directoryCompletion.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/shellHistoryCompletion.ts b/src/utils/suggestions/shellHistoryCompletion.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/skillUsageTracking.ts b/src/utils/suggestions/skillUsageTracking.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/slackChannelSuggestions.ts b/src/utils/suggestions/slackChannelSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/src/components/PromptInput/PromptInputFooterSuggestions.ts b/src/utils/suggestions/src/components/PromptInput/PromptInputFooterSuggestions.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/src/utils/cwd.ts b/src/utils/suggestions/src/utils/cwd.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/src/utils/fsOperations.ts b/src/utils/suggestions/src/utils/fsOperations.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/src/utils/log.ts b/src/utils/suggestions/src/utils/log.ts old mode 100644 new mode 100755 diff --git a/src/utils/suggestions/src/utils/path.ts b/src/utils/suggestions/src/utils/path.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/It2SetupPrompt.tsx b/src/utils/swarm/It2SetupPrompt.tsx old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/ITermBackend.ts b/src/utils/swarm/backends/ITermBackend.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/InProcessBackend.ts b/src/utils/swarm/backends/InProcessBackend.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/PaneBackendExecutor.ts b/src/utils/swarm/backends/PaneBackendExecutor.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/TmuxBackend.ts b/src/utils/swarm/backends/TmuxBackend.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/detection.ts b/src/utils/swarm/backends/detection.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/it2Setup.ts b/src/utils/swarm/backends/it2Setup.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/registry.ts b/src/utils/swarm/backends/registry.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/teammateModeSnapshot.ts b/src/utils/swarm/backends/teammateModeSnapshot.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/backends/types.ts b/src/utils/swarm/backends/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/constants.ts b/src/utils/swarm/constants.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/inProcessRunner.ts b/src/utils/swarm/inProcessRunner.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/leaderPermissionBridge.ts b/src/utils/swarm/leaderPermissionBridge.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/permissionSync.ts b/src/utils/swarm/permissionSync.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/reconnection.ts b/src/utils/swarm/reconnection.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/spawnInProcess.ts b/src/utils/swarm/spawnInProcess.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/spawnUtils.ts b/src/utils/swarm/spawnUtils.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/teamHelpers.ts b/src/utils/swarm/teamHelpers.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/teammateInit.ts b/src/utils/swarm/teammateInit.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/teammateLayoutManager.ts b/src/utils/swarm/teammateLayoutManager.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/teammateModel.ts b/src/utils/swarm/teammateModel.ts old mode 100644 new mode 100755 diff --git a/src/utils/swarm/teammatePromptAddendum.ts b/src/utils/swarm/teammatePromptAddendum.ts old mode 100644 new mode 100755 diff --git a/src/utils/systemDirectories.ts b/src/utils/systemDirectories.ts old mode 100644 new mode 100755 diff --git a/src/utils/systemPrompt.ts b/src/utils/systemPrompt.ts old mode 100644 new mode 100755 diff --git a/src/utils/systemPromptType.ts b/src/utils/systemPromptType.ts old mode 100644 new mode 100755 diff --git a/src/utils/systemTheme.ts b/src/utils/systemTheme.ts old mode 100644 new mode 100755 diff --git a/src/utils/systemThemeWatcher.ts b/src/utils/systemThemeWatcher.ts old mode 100644 new mode 100755 diff --git a/src/utils/taggedId.ts b/src/utils/taggedId.ts old mode 100644 new mode 100755 diff --git a/src/utils/task/TaskOutput.ts b/src/utils/task/TaskOutput.ts old mode 100644 new mode 100755 diff --git a/src/utils/task/diskOutput.ts b/src/utils/task/diskOutput.ts old mode 100644 new mode 100755 diff --git a/src/utils/task/framework.ts b/src/utils/task/framework.ts old mode 100644 new mode 100755 diff --git a/src/utils/task/outputFormatting.ts b/src/utils/task/outputFormatting.ts old mode 100644 new mode 100755 diff --git a/src/utils/task/sdkProgress.ts b/src/utils/task/sdkProgress.ts old mode 100644 new mode 100755 diff --git a/src/utils/taskSummary.ts b/src/utils/taskSummary.ts old mode 100644 new mode 100755 diff --git a/src/utils/tasks.ts b/src/utils/tasks.ts old mode 100644 new mode 100755 diff --git a/src/utils/teamDiscovery.ts b/src/utils/teamDiscovery.ts old mode 100644 new mode 100755 diff --git a/src/utils/teamMemoryOps.ts b/src/utils/teamMemoryOps.ts old mode 100644 new mode 100755 diff --git a/src/utils/teammate.ts b/src/utils/teammate.ts old mode 100644 new mode 100755 diff --git a/src/utils/teammateContext.ts b/src/utils/teammateContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/teammateMailbox.ts b/src/utils/teammateMailbox.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/betaSessionTracing.ts b/src/utils/telemetry/betaSessionTracing.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/bigqueryExporter.ts b/src/utils/telemetry/bigqueryExporter.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/events.ts b/src/utils/telemetry/events.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/instrumentation.ts b/src/utils/telemetry/instrumentation.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/logger.ts b/src/utils/telemetry/logger.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/perfettoTracing.ts b/src/utils/telemetry/perfettoTracing.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/pluginTelemetry.ts b/src/utils/telemetry/pluginTelemetry.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/sessionTracing.ts b/src/utils/telemetry/sessionTracing.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/skillLoadedEvent.ts b/src/utils/telemetry/skillLoadedEvent.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/src/bootstrap/state.ts b/src/utils/telemetry/src/bootstrap/state.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/src/services/api/metricsOptOut.ts b/src/utils/telemetry/src/services/api/metricsOptOut.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/src/utils/auth.ts b/src/utils/telemetry/src/utils/auth.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetry/src/utils/platform.ts b/src/utils/telemetry/src/utils/platform.ts old mode 100644 new mode 100755 diff --git a/src/utils/telemetryAttributes.ts b/src/utils/telemetryAttributes.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport.tsx b/src/utils/teleport.tsx old mode 100644 new mode 100755 diff --git a/src/utils/teleport/api.ts b/src/utils/teleport/api.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/environmentSelection.ts b/src/utils/teleport/environmentSelection.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/environments.ts b/src/utils/teleport/environments.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/gitBundle.ts b/src/utils/teleport/gitBundle.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/src/constants/oauth.ts b/src/utils/teleport/src/constants/oauth.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/src/services/analytics/index.ts b/src/utils/teleport/src/services/analytics/index.ts old mode 100644 new mode 100755 diff --git a/src/utils/teleport/src/services/oauth/client.ts b/src/utils/teleport/src/services/oauth/client.ts old mode 100644 new mode 100755 diff --git a/src/utils/tempfile.ts b/src/utils/tempfile.ts old mode 100644 new mode 100755 diff --git a/src/utils/terminal.ts b/src/utils/terminal.ts old mode 100644 new mode 100755 diff --git a/src/utils/terminalPanel.ts b/src/utils/terminalPanel.ts old mode 100644 new mode 100755 diff --git a/src/utils/textHighlighting.ts b/src/utils/textHighlighting.ts old mode 100644 new mode 100755 diff --git a/src/utils/theme.ts b/src/utils/theme.ts old mode 100644 new mode 100755 diff --git a/src/utils/thinking.ts b/src/utils/thinking.ts old mode 100644 new mode 100755 diff --git a/src/utils/timeouts.ts b/src/utils/timeouts.ts old mode 100644 new mode 100755 diff --git a/src/utils/tmuxSocket.ts b/src/utils/tmuxSocket.ts old mode 100644 new mode 100755 diff --git a/src/utils/todo/types.ts b/src/utils/todo/types.ts old mode 100644 new mode 100755 diff --git a/src/utils/tokenBudget.ts b/src/utils/tokenBudget.ts old mode 100644 new mode 100755 diff --git a/src/utils/tokens.ts b/src/utils/tokens.ts old mode 100644 new mode 100755 diff --git a/src/utils/toolErrors.ts b/src/utils/toolErrors.ts old mode 100644 new mode 100755 diff --git a/src/utils/toolPool.ts b/src/utils/toolPool.ts old mode 100644 new mode 100755 diff --git a/src/utils/toolResultStorage.ts b/src/utils/toolResultStorage.ts old mode 100644 new mode 100755 diff --git a/src/utils/toolSchemaCache.ts b/src/utils/toolSchemaCache.ts old mode 100644 new mode 100755 diff --git a/src/utils/toolSearch.ts b/src/utils/toolSearch.ts old mode 100644 new mode 100755 diff --git a/src/utils/transcriptSearch.ts b/src/utils/transcriptSearch.ts old mode 100644 new mode 100755 diff --git a/src/utils/treeify.ts b/src/utils/treeify.ts old mode 100644 new mode 100755 diff --git a/src/utils/truncate.ts b/src/utils/truncate.ts old mode 100644 new mode 100755 diff --git a/src/utils/udsClient.ts b/src/utils/udsClient.ts old mode 100644 new mode 100755 diff --git a/src/utils/udsMessaging.ts b/src/utils/udsMessaging.ts old mode 100644 new mode 100755 diff --git a/src/utils/ultraplan/ccrSession.ts b/src/utils/ultraplan/ccrSession.ts old mode 100644 new mode 100755 diff --git a/src/utils/ultraplan/keyword.ts b/src/utils/ultraplan/keyword.ts old mode 100644 new mode 100755 diff --git a/src/utils/ultraplan/prompt.txt b/src/utils/ultraplan/prompt.txt old mode 100644 new mode 100755 diff --git a/src/utils/unaryLogging.ts b/src/utils/unaryLogging.ts old mode 100644 new mode 100755 diff --git a/src/utils/undercover.ts b/src/utils/undercover.ts old mode 100644 new mode 100755 diff --git a/src/utils/user.ts b/src/utils/user.ts old mode 100644 new mode 100755 diff --git a/src/utils/userAgent.ts b/src/utils/userAgent.ts old mode 100644 new mode 100755 diff --git a/src/utils/userPromptKeywords.ts b/src/utils/userPromptKeywords.ts old mode 100644 new mode 100755 diff --git a/src/utils/uuid.ts b/src/utils/uuid.ts old mode 100644 new mode 100755 diff --git a/src/utils/warningHandler.ts b/src/utils/warningHandler.ts old mode 100644 new mode 100755 diff --git a/src/utils/which.ts b/src/utils/which.ts old mode 100644 new mode 100755 diff --git a/src/utils/windowsPaths.ts b/src/utils/windowsPaths.ts old mode 100644 new mode 100755 diff --git a/src/utils/withResolvers.ts b/src/utils/withResolvers.ts old mode 100644 new mode 100755 diff --git a/src/utils/words.ts b/src/utils/words.ts old mode 100644 new mode 100755 diff --git a/src/utils/workloadContext.ts b/src/utils/workloadContext.ts old mode 100644 new mode 100755 diff --git a/src/utils/worktree.ts b/src/utils/worktree.ts old mode 100644 new mode 100755 diff --git a/src/utils/worktreeModeEnabled.ts b/src/utils/worktreeModeEnabled.ts old mode 100644 new mode 100755 diff --git a/src/utils/xdg.ts b/src/utils/xdg.ts old mode 100644 new mode 100755 diff --git a/src/utils/xml.ts b/src/utils/xml.ts old mode 100644 new mode 100755 diff --git a/src/utils/yaml.ts b/src/utils/yaml.ts old mode 100644 new mode 100755 diff --git a/src/utils/zodToJsonSchema.ts b/src/utils/zodToJsonSchema.ts old mode 100644 new mode 100755 diff --git a/src/vim/motions.ts b/src/vim/motions.ts old mode 100644 new mode 100755 diff --git a/src/vim/operators.ts b/src/vim/operators.ts old mode 100644 new mode 100755 diff --git a/src/vim/textObjects.ts b/src/vim/textObjects.ts old mode 100644 new mode 100755 diff --git a/src/vim/transitions.ts b/src/vim/transitions.ts old mode 100644 new mode 100755 diff --git a/src/vim/types.ts b/src/vim/types.ts old mode 100644 new mode 100755 diff --git a/src/voice/voiceModeEnabled.ts b/src/voice/voiceModeEnabled.ts old mode 100644 new mode 100755 diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755