@alma-harness/single-call

中文文档
0.41.0发布于 2026/11/04Apache-2.0TypeScriptES Module零依赖近 30 天下载 2460

管理着阿尔玛的一发模式处决.

中文使用文档
文档目录3 节
  1. 管理模式步骤
  2. 明确工具选择
  3. 结构化的单次通话

@alma-harness/单声道

管理单发模式呼叫. 文本/ JSON 跑车没有工具 有结构的步跑者保留了本地工具调用。 使用匹配的核心, 执行, 提供商,内存和PostgreSQL包. 节点QQ22. 这个引擎是分开的 从遗产对话 和批量跑者.

createSingleCallRunner(config) 拥有政策,版本价格,货币上限, 完整的缓存控制,输出计划/验证器和技术限制. run 接受经核实的范围/会话/操作密钥/投入修订/意向,可选 停止信号和懒惰 loadInput(): Promise<Msg[]>。主机解决身份 和不可变的输入授权; 永不转发浏览器提供范围/修改 没有这个决议。 只支持文本用户/助理消息.

供应执行 Store, ExecutiveResultStore, UsageInbox, Governed CostSettlementStore, 互联网档案馆的存檔,存档日期2011-12-21, a 读取 不变 和等待的审计日志。 使用 在MemoryGoverned CostSettlementStore.peek拥有自己的不稳定的定居地商店; Postgres SpendStore和Postgres CostSettlementStore共享耐用表格. 只有管理下的结算才写财务行。 审计记录、成本和开支 此引擎从未引用 。 跑道/接入操作/试听/呼叫身份证.

配置包括政策Version,价格Version,产出ContractVersion,价格, 上限、消费者、系统、最大托肯斯、最大输入查尔斯、最大输出查尔斯, 结果保留、客户端和背景错误。 可选 cache 覆盖 策略缓存,包括 false;省略使用政策选择。 可选输出 实值 {name, schema, validate} 用于本地 JSON; 验证必须同步返回 没错 配置数据被快照; 主机版本标识符必须描述 不可改变的政策/产出合同。 客户/政策/验证人都是可靠的能力. 使用提供者软件包的清晰单发包构建器:默认客户端 自动复试则被拒绝。 禁止倒置,修复,工具或用户流.

在加载上下文前保留结果 。 复制密钥读取状态或 原授权信封,绝不加载输入或再发送. 更改会话, 意图、修订或政策/产出/价格版本冲突。 货币警告 保存结果。 明确区块盖保留飞行前/呼叫后屏蔽;已知 成本总是在成功产出被压制之前解决.

read(scope,key) 返回为无效或视图:在 进程、调节 需要, 未发送或完成。 已完成,包括目前的授权信封, 原始财务收据和历史期刊元数据。 报废/过期产出 即使在历史完成成功时也无法使用。 持久性 失败拒绝; 重新读取/ 恢复解决没有提供者重试而执行的内容 .

A 类 not_dispatched 视图 record.notDispatchedCause 说为什么 声称的电话 从未被送到供货商那里,当有人观察的时候: invalid (续) 以配置或装入的方式)支持压制未修改的重试; input 是主装入器的 本身的失败; aborted, (中文(简体) ), audit 财务报告和审定财务报表 store 通常通过;缺席或 expired 意为未知. 只在新密钥下重试,并有限定的政策. 结构化 runch's root- only view 没有记录和原因( spec: not-displayed-cause).

recover(scope,key,{leaseMs}) 购买符合资格的专用会计围栏,使用 原始政策/价格/日,并完成可用或不可用产出。 一项政策 未完成回收期间的拒绝请求 a 以前储存的信封。 从来没有 获取输入 。 打电话 reconcileExpired(scope,{limit?}) 从主排程器到 准备/分发处决逾期未交的围栏。 需要未知/价格不高的证据 运算符调节; 延迟收件箱证据不会自动重写 .

reconcileUsage(scope,{limit?,after?}) 仅确认其准确意见 已完成的会计或未分发的证明具有持久性。 页面大小默认为50, 最多100个。 它返回扫描/确认的清点和最后检查的光标. 从头开始,每一次都重新开始 以看到迟到的承诺。 未知/ 冲突 意见仍未提出。 财务预测有独立的消费者. 可选的第三个参数 { skip(operationKey) } 留行待决。 运行时间 维护用它来保持 控制调用在步道上的用法,它也 请检查root 会计( spec: 运行时间维护).

公共经营承诺受期限/违反的限制,包括挂靠关系. 发送的流体因证据不足而耗尽 在BackgroundError召回中只要求元数据。 处理死亡或永久死亡 挂起自定义适配器无法保证最终使用到达 。 主机未解决 记录和时间表恢复; 此套件不会持续工作.

移动日记、结果、收件箱、管理费用 审计 在部署之前 匹配读取器/写取器。 结果保留必须允许执行/回收及其 擦除表面必须被主机注册。 完成不意味着生意 发生了突变或门户/WhatsApp发送:这些有独立身份. Erasure 在最后的保留检查后仍然可以进行 Egress; 存储内容 无法被复活 。 见 光谱。 。 。 .

可选 temperature 是一个主机配置快照, 执行时持续 发送前控制 在索赔之前适用提供方的审定。 重播和 会计回收保留原值;调用者不能凌驾于其上。 弹出 policyVersion 当更改此不可改变的配置时。 见提供商 软件包的刻意限定支持矩阵(光谱:显式-温度控制).

管理模式步骤

createGovernedStepRunner(config) 是一个官方缓冲原始 单调结构化反应 和原始的谈话。 它接受一个值得信赖的 已经规划好的 输入和根栅栏行动, 加上懒惰的载荷 请求和路线原理。 提供相同的执行/结果/ 收件箱/结算/支出/审计能力、TreeStore行动、会计业务 存储, 单发送客户端和运行 TimeoutMs/max 请求Chars/maxOutputChars(可选) (原始内容存档于2018-09-31). MaxOutputChars. 东道主 建立登记册衍生工具,在移交前执行授权. 投入价格、政策、控制、身份证和留存是不可改变的原始快照.

在分会索赔之前保留了根槽;结果政策和相关审计 内容加载前 。 一个发送生成一个受控电荷和一个根 收讫. 没有遗留的财务作者、工具处理器、会话附录或频道发送 运行在这里。 警告保存输出; 配置的块盖使用包容性根 费用。 成功视图包括原始收据和 step:中性文本, 工具呼叫、 推理、 提供者Blocks、 stop and an order 索引保存 交际. 文本范围使用UTF-16 偏移;相邻的文本三角形被连接. 这是后台带数据, 不是公开答复。 采纳的循环必须隐藏推理并授权工具. 不透明 JSON 被保存;无效/非 JSON/超大小输出不能授权工具. 错误的工具参数保留了空输入和布尔标记,从不原始文本.

为何输出无效 (规格:无效输出-理由). 跑步解决 调用 invalid 携带 invalidReason第一次检查 收藏家拒绝, 以封闭名称( 以INVALID_OUTPUT_REASONS: output_chars, (中文(简体) ), reasoning_chars, (中文(简体) ), text_malformed, (中文(简体) ), tool_call, (中文(简体) ), block_malformed, (中文(简体) ), stop_conflict 或者说 event_type它从不携带内容。 无所存 read,重放和 recover 没有。 文本和工具/提供者块 JSON 计数 maxOutputChars; 推理块 JSON( 一个 OpenAI) encrypted_content 联 合 国 (摘要)计算 maxOutputChars 文本和工具,最多 1 000 000(规格:去除理由-上限)。 可选 maxConsecutiveReasoning 探测器 一步,它的模型 喷出超过连续的很多 reasoning 事件 没有 text_delta 或者说 tool_call: 采集器标记输出 无效, 有原因 reasoning_loop 超过极限的第一个事件 (谱:推理-走-探测),跑者停止读取溪 在那里(指: 环-bort-unsettled). 提供商只在最后报告使用情况, 所以剪接的成本是未知的: reconciliation_required,没有 结算或根收,供操作员调节,该运行视图 携带 invalidReason (初拒绝名. 当终端使用时 在剪接前就来了 电话就解决了 invalid 和它的成本。 任何其他 拒绝被读取到结束。 忽略其信号的适配器读取到其 结束或结束 runTimeoutMs。 。 。 .

read({scope,rootKey,operationKey}) 财务报告和审定财务报表 recover(key,{leaseMs}) 将呼叫绑定到 它的注册根。 完成状态需要两种财务收据; 即使日记已经完成, 仍可收回缺少的修复集合 . 回收没有请求,也没有发送提供者/工具. 重新检查记录, 而不是读取记录 ,并只读取内容 。 损失的产出变为 不可用; 无法重生成已删除/ 过期的内容 。 根关闭防止 新招生,但不会在截止日期前取消先前的保留电话. 根所有者会关闭/调节根并拥有全转/效果的不确定性.

reconcileUsage({scope,rootKey},query?) 只有在下列情况下才承认确切证据: 根的完成/会计(或未分发的证明)是持久的。 扫描范围 范围化的收件箱页面; 重新启动后续的通行证以查看迟到的输入 。 大众奔跑 以TimeoutMs(最多10分钟)、外部中止和新电话为界, 原始期限。 它的背景排出只报告元数据故障. 对话包采用这一步骤;遗留的跑者仍然分开. isStepInterruption(error) 只有这个赛跑者自生自灭才是真实的 (它的超时,它的截止时间或它的呼叫者的信号),而没有商店写入 流失败; 商店本身 AbortError 不是一个( 请检查: call- retry) . 见 光谱。 。 。 .

清空经证实的 Anthropic 上下文拒绝在之后存储只保存元数据的拒绝 原始零结算和根收。 任何内容(甚至被 、 缺少引用、 重复/ 不同的停止或流失败无效 证据 会计回收从不自动恢复对话 (指: 安全-文字-拒绝-旋转).

预流拒绝证明(规格:预流-拒绝)需要参考, 没有内容,没有停止和溪道的失败。 通话完毕 结果 unavailable 财务报告和审定财务报表 stopReason: null,其根为零 接收,在文本中,结构化和步跑者。 这些电话曾经读 reconciliation_required。任何其他与证据的组合是: unknown编号 :invalid。 。 。 .

明确工具选择

设置相同 toolChoice 打开 call.execution.controls 和懒惰的仆人, 比如说 {type:"tool",name:"extract_record"}。要求的工具必须来 从东道主授权的登记簿。 原始验证所选名称 对照这些实际工具Specs,即使一个自定义客户端验证器无所作为; 供应商验证在前进一步应用其文件支持矩阵 网络接入. 选择从来不会执行一个工具,也不会批准这样做.

选择是不可改变的执行元数据。 同样的回放返回原作 接收和保留输出而不加载输入; 更改选择(包括 在相同身份冲突下不存在与明确的自动). 会计回收 从不发出另一个请求。 没有工具的旧记录Choice仍然可以读取. 案文/JSON createSingleCallRunner 在配置或运行时拒绝工具选择 输入; 使用 createGovernedStepRunner 用于结构化工具响应.

仅完成视图是不够的:检查 result.outcome, (中文(简体) ), step.stop,则 预期名称在 step.toolCalls 联 合 国 malformed 在验证其 提出反对商业阴谋的论据。 拒绝、截断、无法输出和 不当的论证不得视为有效的提取. 未成功的意见 可在保留原停站和财务收据的同时扣取部分区块.

结构化的单次通话

createStructuredCallRunner(config) 与 文本运行器的调用形状 : run({scope, sessionId, operationKey, inputRevision, intent, loadInput, signal?})。用于强制工具作为提取 计划 配置是文本运行器的, 不包含 output附加时 trees, (中文(简体) ), accounting,可信任的注册 tools 和可选 toolChoice工具名称 在施工时验证和复制.

跑者拥有操作根,身份,重放检查和 关闭。 每个标识符是 alma-structured-v1:<kind>:<sha256> 范围 和主机密钥: 被绑定,域分隔,并且从未嵌入密钥. 那个 前缀为保留;不要用于其他密钥。 重放比较根 没有期限就具有不可改变的约束力,因此不需要时间。 这个 包含会话、意图、输入修改和所有配置摘要 数据,包括价格和工具。 信任的更改 policy.resolve 行为 无法被消化: 凸起 policyVersion。会话/每日块飞行前运行 在任何根存在之前.

完整视图是未修改的受控步骤视图:检查 result.outcome, (中文(简体) ), step.stop,选择的呼叫及其 malformed 在使用前标记。 A 类 失败的根关闭永远不会隐藏一个完成的结果:关闭是独立的内务管理,一个未关闭的根过期并被调和. 没有处决记录, read 报告 not_dispatched 仅用于保留为零的非活性根 电话,由商店在它的根锁下证明。 保留电话,没有 日记记录已读取 reconciliation_required; 活动根读取 in_progress不论应用时钟怎么说 一个关键是: 无法使用的结果是最终的,所以用新键重试.

recover(scope, key, {leaseMs}) 财务报告和审定财务报表 reconcileUsage(scope, key, query?) 拿着 主机密钥 . reconcileExpired(scope, {limit?}) 属于全范围和返回 {roots, executions}。见 光谱。 。 。 .

版本与发布记录

@alma-harness/single-call 共发布 47 个版本,首次发布于 2026/09/09;过去 12 个月发布了 47 个版本。

版本发布日期距今
0.41.0latest2026/11/043 天前
0.40.02026/10/308 天前
0.39.22026/10/309 天前
0.39.12026/10/299 天前
0.39.02026/10/299 天前
0.38.02026/10/2910 天前

关于 @alma-harness/single-call 的常见问题

@alma-harness/single-call 是什么?

管理着阿尔玛的一发模式处决.

如何安装 @alma-harness/single-call?

在项目目录运行 npm install @alma-harness/single-call,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@alma-harness/core(^0.41.0)、@alma-harness/execution(^0.41.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@alma-harness/single-call 支持 TypeScript 吗?

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

@alma-harness/single-call 支持 ESM 还是 CommonJS?

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

@alma-harness/single-call 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@alma-harness/single-call 可以商用吗?

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

@alma-harness/single-call 的下载量有多少?

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

@alma-harness/single-call 还在维护吗?

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