@ agentproto/ driver-cli (英语)
参考实施CLI提供者的专门化
AIP-30 DRIVER.md (英语) defineDriver —— 说
defineCliDriver 将二进制包成符合的提供者: argv 调制
反对 ${input.X} 编号 : ${secrets.X},子进程产卵,出站码 → 语义
错误映射, 以及文本/ JSON 输出解析 .
import { defineCliDriver } from "@agentproto/driver-cli"
const ghCli = defineCliDriver({
id: "gh-cli",
name: "GitHub CLI",
description: "Wraps gh for PR operations.",
kind: "cli",
bin: "gh",
implements: [
{
tool: "./tools/create-pr/TOOL.md",
version: "^1",
metadata: { cli: { argv: ["pr", "create", "--title", "${input.title}"] } },
},
],
})
工作目录
CliDriverDefinition.cwd (可选的,绝对的)设置产入子进程的
工作目录。 保留未设置, 子进程继承任意目录
东道主 进程恰好在运行中——对于独立的进程是正确的
TS授权驱动程序直接引用,但并非应用捆绑的DRIVER.md
通常意味着.
应用捆绑的 cli 驱动程序解析中的相对路径
根号而不是守护神自己的cwd。 当这个驱动程序从应用程序上载时
通过捆绑 @agentproto/app是因为 loadAppBundledTools, (中文(简体) ), cwd 设置为
app root( 目录包含 .agentproto/自动,除非
DRIVER. MD's (英语) metadata.cli.cwd 超越它——它本身相对于
app root, 如果在程序外解决, 则在装入时被拒绝
树根.
完成、超时和孤儿
一个呼叫完成 在产卵子进程自己的 exit从来没有在它的stdio
close ——直取子孙 exit 只取决于自己的寿命,而
close 也等待它的出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出 产卵的二进制
拥有继承或管状结构(例如无头的Chrome)的孩子可以离开
一个孤儿在二进制完成后很久 拿着管子打开
(孤儿甚至可以重现为第1名) close
永远,即使工具自称成功。 短排水窗口
之后 exit 仍然给任何已经上飞机的人机会 在降落之前
溪流被撕毁.
子进程被产出脱落(它自己的进程组). 跑步时
取消信号中止, 或在呼叫方暂停( 见
@agentproto/workflow-runtime按步数 timeout_ms,将每个
tool 步骤发送——这个软件包本身没有超时,WHOLE
进程组通过 process.kill(-pid) (SIGTERM,升级为
SIGKILL,如果幸存者在短暂的宽限期后仍然活着)——而不仅仅是
直接的孩子——这样一个孤儿分享这个群体不会超过这个呼声.
光谱
见 AIP-29 (英语) cLI 供应商
专业和 AIP-30 (中文(简体) ) 基数
defineDriver 合同。 此软件包是 TypeScript 引用
执行.