# libs-pages-blob-python

这个目录存放随 `@tencent/edgeone` npm 包一起发布的 `pages-blob-python` wheel 文件。

## 为什么要打进 CLI？

`pages-blob-python` 发布在公司内部 PyPI 镜像上，外网用户的 pip/uv 默认 index
解析不到。把 wheel 随 CLI 发货，用户执行 `npm install -g @tencent/edgeone`
时就已经拿到了 wheel；`edgeone pages build` 构建 agent-python 项目时，CLI
会用 PEP 508 `pages-blob-python @ file://...` 语法把这个本地 wheel 注入到
`.edgeone/agent-python/lib/`，整个过程不需要联到内网 PyPI。

## 目录内容

- `pages_blob_python-<version>-py3-none-any.whl`：随构建打入的 pure-Python wheel
- `README.md`：本说明

## 如何更新 wheel？

不要手动把 wheel 放到这里。统一通过 CI 脚本拉取：

```bash
cd packages/tef-cli
node scripts/prepare-pages-blob-wheel.js
```

脚本会从内网 artifactory 下载指定版本的 wheel 覆盖写入当前目录。本地开发时
若脚本无法访问源（例如外网），脚本会检测已有 wheel 是否满足版本约束，满足
则跳过；不满足则报错退出。

## 运行时行为

参见 `src/pages/builder/impls/agent-python.ts` 的 `getPagesBlobWheelPath()`
和 `AGENT_PLATFORM_DEPS` 装配逻辑。两种 CLI 形态都要覆盖：

- **bundled**（`edgeone-dist/cli.js`）：wheel 随 npm 包发货，在 CLI 根目录下
  的 `libs-pages-blob-python/`
- **source**（ts-node/vitest）：同一路径，仓库自带
