ProjectClient 参考
@intloom/cli 导出面向可信本地应用和后端集成的 Node.js 客户端,它不是浏览器 SDK。服务拥有执行职责,客户端连接不拥有其 Run 的生命周期。
连接本地项目
连接前先启动服务。connectProject 绑定 CLI 来源。Studio 后端使用 discoverProjectConnection(projectRoot, "studio"),然后调用 connectProjectClient(connection)。这会选择服务模型策略,不包含完成的 Studio 界面。
显式 ProjectConnection 包含 { url, token },应保存在可信后端中。显式连接工厂不读取本地文件,传入 URL 不会改变服务仅监听回环地址的策略。
方法
selector 是 { artifactId } 或 { flowName, stageName }。公开 Artifact 列表查询接受 flowName、stageName、limit 和 cursor。根据 RunView 展示待处理人工操作,获取真实答案,并使用操作 ID 提交。
这些业务方法不包含客户端 Agent 任务所有权操作;外部 Agent IDE 使用 MCP 任务协议。包安装函数是独立的本地管理 API,不是 ProjectClient 方法。
错误与所有权
客户端验证响应结构,并保留分类业务错误。无效响应变为 PROJECT_RESPONSE_INVALID,连接失败为 PROJECT_CONNECTION_FAILED,结果不确定的请求为 PROJECT_REQUEST_FAILED,关闭后使用为 PROJECT_CLIENT_CLOSED。
请求不会自动重放。可选 requestId 用于日志关联,不用于去重。连接失败后,其他客户端可以检查原来的 Run。关闭客户端不会取消 Run。
导出类型包括 ProjectClient、ProjectConnection、ProjectClientOptions、RunView、PendingUserAction、RunErrorView、WorkflowView、StoredRecord、StoredArtifact 和 ListPage。