SuperAPI AI 工具集

metabase-modular-embedding-version-upgrade

编程与开发

查看项目

更新于 10-15 15:33

技能介绍

用途

该技能用于升级项目中使用的 Metabase 模块化嵌入 SDK(@metabase/embedding-sdk-react)或模块化嵌入(embed.js)版本,帮助把现有代码迁移到目标版本。

主要能力

  • 按固定工作流执行升级:Step 0 升级计划清单、Step 1 项目扫描、Step 2 提取 d.ts 差异或拉取文档、Step 3 构建变更目录、Step 4 逐文件迁移、Step 5 类型检查、Step 6 最终总结。
  • 支持两条路径:升级 @metabase/embedding-sdk-react 时优先使用 d.ts 差异路径,d.ts 不可用时回退;升级 embed.js 模块化嵌入时始终使用回退路径。
  • 处理范围包括:@metabase/embedding-sdk-react(React SDK,v52+),以及通过 embed.js 的模块化嵌入(v56+)。v56–v57 文档位于 embedded-analytics-js.md,v58+ 文档拆分为 components.md、appearance.md、authentication.md。
  • 版本检测在 Round 1 完成:从项目 package.json 读取当前版本;用户未指定目标版本时运行 npm view @metabase/embedding-sdk-react version;根据 lock 文件识别包管理器(yarn.lock→yarn,pnpm-lock.yaml→pnpm,package-lock.json→npm)。
  • 变更目录会记录被移除/新增/重命名的符号、类型变更、签名变更、新增属性、废弃 API 以及认证配置变更,并解析出具体的类型。

使用方式

  • 技能通过约定的步骤与脚本执行。Round 1 并发执行 grep、glob 锁文件、读取 package.json、npm view 目标版本。
  • Round 2 运行 prepare.sh 并传入当前与目标版本以及 --sdk 或 --embedjs 参数,同时拉取当前与目标版本的 llms-embedding-full.txt。
  • Round 3 运行 read-sources.sh 输出 SDK 参考数据。
  • 文档来源为版本化的 llms-embedding-full.txt,URL 格式为 https://www.metabase.com/docs/v0.{VERSION}/llms-embedding-full.txt,版本号规范化后使用 v0.58 这样的格式。
  • Step 4 逐文件迁移,超过 10 个文件时可拆分为 3–5 个子代理并行处理。
  • Step 5 对 TypeScript 项目运行一次类型检查并批量修复,对纯 JavaScript 项目改为人工核对签名、属性名和导入。

适用场景

  • 需要把项目中的 Metabase 嵌入 SDK 或 embed.js 升级到目标版本时。
  • 升级跨越多个版本(如 v0.54 → v0.58)时,作为一次性迁移到目标版本处理,并在 Step 3 考虑路径上的所有破坏性变更。

限制

  • 不处理不同嵌入技术之间的迁移。
  • 不解析仓库分支、提交、PR 或 issue。
  • 不访问 GitHub PR/issue 或 npm 页面,不跟随 changelog 链接到 GitHub,也不猜测 URL。
  • 若缺少必要信息或工具失败,对应步骤标记为 ❌ blocked 并停止,不继续后续步骤。
  • 若包不存在或升级的是模块化嵌入(embed.js),需要用户提供当前与目标 Metabase 实例版本。

暂未提供的信息

关于具体收费、价格、平台支持范围和实际使用效果,资料中暂未提供。