@dbx-tools/shared-genie

中文文档
0.9.206发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1万

浏览器- 安全 Genie 计划、 事件词汇和快照 diff 助手

中文使用文档
文档目录9 节
  1. 快开始
  2. 在 AppKit 和共享基因类型之间选择
  3. 验证信件快照
  4. 处理打入的聊天事件
  5. 来自快照的衍生事件
  6. 具有地位和附属性的工作
  7. 事件模式
  8. 验证生成的 SDK 形状
  9. 软件包出口

@dbx-工具/共享基因

验证 AI/BI Genie 电线有效载荷并从原始消息中得出 UI 事件 不导入 Databricks SDK 的快照。 使用浏览器安全计划, 事件词汇,以及客户端,路由和测试中的快取 diff 助手. 这个 给Genie打电话的节点驱动程序是 @dbx-工具/基因。 。 。 .

快开始

import { genieModel } from "@dbx-tools/shared-genie";

const response = genieModel.GenieResponseSchema.parse(await request.json());

将合同用于:

  • 用于 Genie 消息、 响应、 空格、 附件和附件的运行时计划 状态,包括在活线上观察到的字段.
  • 前置相容代理 Mode SSE 计划外加一个纯还原器 推理、 SQL、 Markdown 输出、 语句ID、 可视化元数据以及 终端状态进入 GenieMessage。 。 。 .
  • 一个公寓 GenieChatEvent 用于思考的词汇SQL,行,结果,状态, 和错误渲染.
  • 快照 diff 助手只发出新观察到的语义事件.
  • UI 显示逻辑的附件和状态助手 .
  • 浏览器安全类型,使客户可以验证Genie 有效载荷而无需 捆绑 Databricks SDK运行时代码.
  • 生成 Zod 为上游 SDK Dashboard/Genie 形状,所以 验证未加宽的 SDK 有效载荷也不需要 SDK 导入 .

在 AppKit 和共享基因类型之间选择

直接构建时使用 AppKit 的 Genie 插件和 UI 类型 本地的AppKit Genie路线。 需要浏览器安全时使用此软件包 独立于 AppKit 传输的事件词汇 :

  • 验证从 Databricks SDK 中捕获的原始 Genie 信件 .
  • 重放持续快照作为语义事件.
  • 共享一个平面事件联盟 @dbx-工具/基因, (中文(简体) ), @dbx-tools/appkit-mastra (英语)客户端.
  • 检测铁丝网上存在但没有的附属物和状态形状 在生成的 SDK 类型中方便.

验证信件快照

import { genieModel } from "@dbx-tools/shared-genie";

const message = genieModel.GenieMessageSchema.parse(rawMessage);
const attachments = genieModel.GenieResponseSchema.parse(rawMessage);

计程器扩展生成了 Databricks SDK Genie 类型,其字段观测在 线条,包括查询想法、可视化附件、附件 和序列化的空间数据.

处理打入的聊天事件

import { type GenieChatEvent } from "@dbx-tools/shared-genie";

function render(event: GenieChatEvent) {
  switch (event.type) {
    case "thinking":
      return showThought(event.thought_type, event.text);
    case "query":
      return showSql(event.sql);
    case "result":
      return markDone(event.status);
  }
}

活动联盟是平的:每个变体都有 type 加上它自己的田地和共享 位置字段,例如 space_id, (中文(简体) ), conversation_id,以及 message_id。 。 。 .

来自快照的衍生事件

import { event } from "@dbx-tools/shared-genie";

for (const evt of event.eventsFromMessage(current, previous, spaceId)) {
  render(evt);
}

使用 eventsFromMessage() 当重放时坚持 Genie 消息, 测试 UI 事件处理、分发代理模式或投票 GenieMessage 镜头进入 共享词汇,或构建自定义投票循环. 单个探测器是 还出口用于定向检查: detectStatus, (中文(简体) ), detectThinking, (中文(简体) ), detectQuery, (中文(简体) ), detectRows,以及其他特定事件帮助者.

具有地位和附属性的工作

import { genieModel } from "@dbx-tools/shared-genie";

export function describeMessage(input: unknown) {
  const message = genieModel.GenieMessageSchema.parse(input);
  const statusLabel = genieModel.isTerminalStatus(message.status)
    ? genieModel.humanizeStatus(message.status)
    : undefined;
  const attachmentType = genieModel.detectAttachmentType(message.attachments?.[0]);
  return { statusLabel, attachmentType };
}

humanizeStatus() 是共享的显示标签函数. detectAttachmentType() 让消费者打开 query, (中文(简体) ), text, (中文(简体) ), suggested_questions,或 viz 而不是测试可选的字段.

事件模式

事件检测器将当前 Genie 消息与上一个快照进行比较 从同一转弯。 这使得流出 UI 无法重报重复的想法 或查询片段,同时仍允许完整历史重放 留言。 消费者可以使用全 eventsFromMessage() 帮助者或个人 当测试需要证明一种特定行为时,探测器.

验证生成的 SDK 形状

dashboards 持有 由上游产生的Zod计划 @databricks/sdk-experimental 仪表板申报. 代码需要时导入 在SDK自身外形上验证原始 Databricks Genie/Dashboard有效载荷:

import { dashboards } from "@dbx-tools/shared-genie";

const space = dashboards.genieSpaceSchema.parse(rawSpace);

使用 genieModel 用于包括在Genie线上观察到的字段的图案。 使用 dashboards 只有在需要未扩展的 Databricks SDK 形状时 合同。 SDK是一个开发依赖,所以浏览器捆绑包括了Zod 但不是Databricks SDK运行时间.

软件包出口

  • agentMode: 前相兼容的 Zod 计划外加纯代理模式事件 减少和活/历史 GenieMessage 投影仪.
  • genieModel: 精灵计划、状态助手、附件助手和事件 工会计划/类型.
  • event:事件探测器工厂、个别探测器和 eventsFromMessage()。 。 。 .
  • dashboards: 生成、只读 Zod 计划以及推断类型 上游 SDK Dashboard/Genie 形状 genieModel 扩展.

这个软件包不给Genie打电话 管理证书 也不给自己说话 生命周期。 服务器侧流流在 @dbx-工具/基因。 。 。 .

版本与发布记录

@dbx-tools/shared-genie 共发布 358 个版本,首次发布于 2026/07/18;过去 12 个月发布了 358 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.9.206latest2026/11/11今天
0.9.2052026/11/111 天前
0.9.2042026/11/101 天前
0.9.2032026/11/074 天前
0.9.2022026/11/065 天前
0.9.2012026/11/056 天前

关于 @dbx-tools/shared-genie 的常见问题

@dbx-tools/shared-genie 是什么?

浏览器- 安全 Genie 计划、 事件词汇和快照 diff 助手

如何安装 @dbx-tools/shared-genie?

在项目目录运行 npm install @dbx-tools/shared-genie,或使用 pnpm add / yarn add / bun add。

@dbx-tools/shared-genie 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dbx-tools/shared-genie 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dbx-tools/shared-genie 可以商用吗?

@dbx-tools/shared-genie 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dbx-tools/shared-genie 的下载量有多少?

根据 npm 官方下载统计,@dbx-tools/shared-genie 在 2026/10/12 – 2026/11/10 这 30 天内被下载 10,100 次,日均约 337 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dbx-tools/shared-genie 还在维护吗?

最新版本 0.9.206 发布于 2026/11/11(今天);至今共发布 358 个版本,其中过去 12 个月发布了 358 个;首次发布于 2026/07/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。