草稿客户端
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