# Supabase 优化与收尾记录

## 更新记录

- 2026-07-16: 完成公共复用迁移、内部职责拆分和 AI 文档整理。

## 源码变更

- 客户端改用 core `CreateFacadeClientContext`，保留 Handler 注入能力。
- 幂等键生成和请求选项读取集中到 `idempotency_key.js`。
- 删除 Handler 对错误状态的重复包装，直接使用 core 标准错误结构。
- Go `code`、HTTP 状态和 `request_id` 转换为 `SupabaseFacadeError`。

## 安全复核

- Token 和幂等键仍只存在于代理顶层元数据和最终 Header。
- 公开 Auth 路径不带 Authorization。
- `/ts/xdata`、任意 RPC、任意外部 URL 和 CRUD delete 仍被拒绝。
- 包内没有 Supabase Secret、`service_role` 或真实 Token。

## 兼容性

公共导出和 Auth/CRUD/Platform/Admin 方法未删除或改名；错误对象新增了更完整的领域定位字段。

## 本地验证

`run-test.bat`、`node examples/basic_usage.js`、`npm pack --dry-run` 全部通过；发布清单 24 个文件。测试覆盖 Go wire、公开/受保护 Header、幂等键剥离、路径白名单、CRUD delete 拒绝、分页和领域错误元数据。

## 未完成项

真实 Base44 Web → Function → Go → Supabase 端到端验证和 Gitee 固定 ref 验证尚未执行；本轮未修改版本、提交或 tag。

## 发布脚本修复

修复 `call npm view` 对 `^1.0.0` 的二次转义，并增加失败步骤、退出码、用户级 `NPM_TOKEN` 静默读取和双击暂停。自动化环境可设置 `PUBLISH_NO_PAUSE=1`，预检模式使用 `PUBLISH_PREFLIGHT_ONLY=1`。

Supabase 发布预检模式已通过，未执行 `npm publish`。

再次按工作区已验证脚本复核后，脚本可自动安装缺失的 core 依赖；`1.0.0` 完整发布预检通过，registry 当前尚无该版本。

## 相关文档

- [AI 快速开发指南](../fun/ai_development.md)
- [项目状态](../project-status.md)
