@draftline/client

中文文档
0.11.0发布于 2026/11/06MITTypeScriptES Module构建来源已验证近 30 天下载 2275

Tauri 主机应用程序的草稿客户端.

中文使用文档

草稿客户端

client/ 包含Workbench和主机应用程序使用的TypeScript命令客户端. 包着陶里 invoke 调用和镜像可序列的形状 draftline::tauri_contract。 。 。 .

客户端还曝光了稳定 Draftline 工作空间事件通道,用于 配置 Tauri 主机 :

const client = createDraftlineClient();
const unlisten = await client.subscribeWorkspaceEvents((event) => {
  if (event.kind === 'history_changed' || event.kind === 'dirty_changed') {
    // Refresh product UI from inspectWorkspace.
  }
});

远程合并流程使用相同的 DTO 类型 draftline::tauri_contract。 。 。 . 打电话 preflightMergeIncoming 首先;如果它返回冲突,并带有一个符号 can_merge_cleanly: false,使用时 createMergeConflictViewModel 将提交 文件/字段组和 createWholeFileUseContentResolutions 当产品UI 提供全文件“使用我们/他们/基地”的动作。 那些援助者 use_content 解析结果, 使提交的有效载荷与用户的内容匹配 审查:

await client.mergeIncomingWithResolutions({
  workspace_path: workspacePath,
  remote: 'origin',
  label: 'Resolve teammate changes',
  token: preflight.token,
  resolutions: createWholeFileUseContentResolutions(preflight, 'theirs'),
});

对于主机代码, createDraftlineHostFacade 将客户端绑定在一个工作空间路径上 并暴露产品级业务,例如: save, (中文(简体) ), selectedSave, (中文(简体) ), diffWorkspaceFile, (中文(简体) ), previewWorkspaceFile, (中文(简体) ), fetchRemote, (中文(简体) ), mergeIncoming, (中文(简体) ), mergeIncomingWithResolutions,本地变量合并 (单位:千美元)preflightMergeVariation, (中文(简体) ), mergeVariation, (中文(简体) ), mergeVariationWithResolutions, (中文(简体) ), 恢复 修复/回滚,和远程变异的采用而不重复请求 DTO 每个部件都有管道.

工作空间图集成

@draftline/client 直接导出图表 DTO 和 助手返回类型, 包括 WorkspaceGraph, (中文(简体) ), WorkspaceGraphNode, (中文(简体) ), WorkspaceGraphRef, (中文(简体) ), WorkspaceGraphActionHint, (中文(简体) ), WorkspaceGraphBoundary, (中文(简体) ), WorkspaceGraphSearchResult, (中文(简体) ), WorkspaceGraphPath, (中文(简体) ), WorkspaceGraphNodeDetail,以及 WorkspaceGraphCompareSummary。 。 。 .

首选边框图要求产品UI:

const facade = createDraftlineHostFacade({ workspacePath });

const overview = await facade.workspaceGraphOverview({
  max_nodes: 80,
  recent_nodes: 40,
});
const refs = await facade.workspaceGraphRefs();
const focus = await facade.workspaceGraphNeighborhood(versionId, 2);

使用 workspaceGraphRefs 便宜的补丁/补丁, overview 或者说 workspaceGraphForVariation 默认面板,以及 workspaceGraphAroundVersion, (中文(简体) ), workspaceGraphNeighborhood, (中文(简体) ), searchWorkspaceGraph, (中文(简体) ), workspaceGraphPath,以及 workspaceGraphCommonAncestor 专注扩张。 准备全部 workspaceGraph 要求明确扩大历史观点.

将图表节点ID视为不透明 。 使用路径/ 常见祖先帮助来图 关系而不是解析ID。 确定的结果可以是局部的;使用 was_pruned, (中文(简体) ), has_more, (中文(简体) ), next_cursor,每个节点的 boundary 字段改为 变成隐藏的边缘。 布局提示是稳定渲染的咨询 图表快照。 节点和参考 action_hints 包括稳定的动作ID,命令 名称、工作空间切换/版本创建旗帜和 disabled_reason 当 行动是不安全的.

从寄存器根构建 :

npm run client:build

版本与发布记录

@draftline/client 共发布 27 个版本,首次发布于 2026/06/26;过去 12 个月发布了 27 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.11.0latest2026/11/067 天前
0.10.02026/11/067 天前
0.9.02026/11/067 天前
0.8.02026/11/058 天前
0.7.02026/11/058 天前
0.6.02026/11/058 天前

关于 @draftline/client 的常见问题

@draftline/client 是什么?

Tauri 主机应用程序的草稿客户端.

如何安装 @draftline/client?

在项目目录运行 npm install @draftline/client,或使用 pnpm add / yarn add / bun add。

@draftline/client 支持 TypeScript 吗?

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

@draftline/client 支持 ESM 还是 CommonJS?

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

@draftline/client 可以商用吗?

@draftline/client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@draftline/client 的下载量有多少?

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

@draftline/client 还在维护吗?

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