@alma-harness/execution

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

为阿尔玛提供持久的执行持续帮助.

中文使用文档
文档目录8 节
  1. 用法保护
  2. 管理的财政收入
  3. 持久业务领域
  4. 原始财务收入
  5. 持久批次划界案
  6. 批量使用日记
  7. 包容性批次核算
  8. 范围围栏

@alma-harness/执行

后端中性执行持续帮助阿尔玛. 部分 固定兼容的工作空间版本组.

核心拥有 UsageInbox 合同。 此软件包拥有闭合快照验证 : normalizeUsageInboxInput, (中文(简体) ), normalizeUsageInboxRecord, (中文(简体) ), normalizeUsageInboxQuery。 。 。 . ./testing 出口不稳定 InMemoryUsageInbox(now?) 引用,无 维特 PostgreSQL拥有耐用SQL和行级安全. 循环拥有执行权.

用法保护

在之前附加原始信任的执行快照、事件标识和证据 日记收到。 精确的再播放保留了第一次接收时间, 永远不再重现 承认的工作; 即使在承认之后也改变了投入冲突。 不一样的 观察有不同的事件 id,包括一个有矛盾的证据 电话 事件代号:权威呼叫/结算身份不重复收费 属于日记和会计商店.

list 包括不可改变的历史; listPending 包括未经承认的工作. 两者都使用默认的50/最大100页和一个独家 after: { receivedAt, id }。 。 。 . 从头开始调和;从不坚持高水分 检查站,会迟到的。 输入让未解决的项目停留 等待,而不隐藏以后的工作。 腐败行会响亮地失败; 修复是操作员 ,但从未默默地省略会计证据.

完全是一个符合逻辑的恢复消费者拥有 承认,并有可能 竞争工人。 只有在持久恢复/解体之后才能确认。 这是 工作完成,从未证明收费。 比较完整执行绑定 与权威期刊,在承认之前,使恢复具有同等能力. 获取附件、日记接收和确认错误。 坚固的栅栏 无法授权确认、另一供应商调用或发明零使用.

收件箱不存储提示、回复、原始错误或 SDK 对象并更改 日记、财务柜台或提供者状态。 保留未知/价格不高的证据 未解决。 元数据在会话/结果中无限期地存在;没有 保留或操作员更正 API 还没有 。 东道主提供范围库存和排水.

见 耐用收件箱。 。 。 .

管理的财政收入

GovernedCostSettlementStore 在普通货币中添加交易货币决定 成本收据. financialDecisions 使用实际锁定的会话前/会后/天数量, 严格 > 阈值和明确的普通警告/封锁政策。 警告决定 从未在此保留输出 。 普通类 capsCrossed 只保留警告; 块证据 分别. normalizeGovernedSettlementInput 财务报告和审定财务报表 normalizeGovernedCostReceipt 拒绝内容密钥, 无效的金额和不一致的派生决定 .

InMemoryGovernedCostSettlementStore 内 ./testing 拥有一个波动状态 遗产和被管理者写作。 单独构建的参考文献 计数器 PostgreSQL 适配器与现有的 支出/结算表。 永远不要管理传统会计 与管理电话.

一个操作是呼叫: 操作/呼叫独有性防止双倍 以另一种结算方式核算。 此 API 尚不适宜 多呼转. 重放原决定; 模式、 政策或身份 改变冲突. getGoverned, (中文(简体) ), listGoverned 财务报告和审定财务报表 pendingGoverned 包括 完全不可更改的请求和决定。 一般读者保留普通收据. 按模式使用不同的预测消费者身份证,或排出两个待处理的API. 这个 已存在的确认只删除工作; 重试解析永远不会重现它. 管理下的收据无限期地维持下去,包括在预测确认后 和内容消除。 运行者继续,飞行前和操作者修正随即进行.

财务上限和收款正常化现在来自核心,与受管者共享 日记输入。 为了在结算后推进该期刊,明确预测 关闭的证明 : journal.settle(fence, {request: governed.request, receipt: governed.receipt})。 。 。 . 额外 decisions 字段被日记边界故意不接受.

变化无常的定居点参考文献显示只读 peek(SpendKey) 结束 它自己的柜台。 与受管跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑跑 商店不见管理收费。 PostgreSQL的配对适配器共享表格.

持久业务领域

OperationTreeStore 将主/直接/删除/摘要呼叫绑在一个范围化根上 (规格:持久-操作-线性). claim 只返回一次栅栏; 平等重放 返回没有权威的记录. reserve 抓取在 稳定的时间档,检查根范围/会场/政策/上限/敏感性/死线,以及 对非主调用,则需要先前的同源父调用。 范围电话/定居身份证 和操作键不能属于两个根。 规范从1开始,最大呼叫是 1.512; 第50页默认值/最大值100. close 停止新的保留, 具有独家性 同一栅栏重复。 限期之前或之后拒绝入境 reconcileExpired 扫描; 不发布接管或更新执行令 .

InMemoryOperationTreeStore 从 /testing 没有毒气。 持久 适配器是 PostgresOperationTreeStore 内 @alma-harness/postgres-execution。 。 。 . 记录是防御性拷贝,不包括符号,只包含封闭元数据. 根关闭不是成本结算、结果持久性或交付。 无跑者 采用这一先决条件; 合并核算分别进行.

原始财务收入

OperationAccountingStore.record(scope, rootKey, callId) 采用已登记 调用初始管理收件为包含的根摘要,而不引用 任何金融作家。 失踪的定居点尚未归还;已知的收据必须 匹配保留的身份、政策和节省的定价. get 返回已绑定的警告 证据和总数; list 按会计顺序排列,不同于保留 秩序。 秩序。 每个根/头警告记录一次,准确的重试返回相同 收讫. 每一回合的决定使用包容性根成本;持续的决定保留 原始财务收据总额,即使账出不实.

内存引用需要信任的树/被管理的能力. PostgreSQL 用户 其原财务结算后的原子总交易. 通过再次记录调用来修复此边界, 包括在根关闭后或 过期; 不再发送 。 根总和不是额外的可计费行 。 3⁄4 ̄ ̧漯B 运输和运行时间执行仍然是后来的东道主/经营人的责任 (谱:根-财-收).

招生用途 OperationSessionStore 和内存参考 InMemoryOperationSessionStore 从 execution/testing创建前的索赔 操作根。 第一个索赔人得到唯一的围栏;平等重放 返回元数据。 一个不同的根是繁忙的,直到主人清理完或者 释放入院。 仅靠过期和不确定因素并不能腾出会议时间. 明确的操作者解析需要外部效果并写入调和和和 之前的工人们总是不择手段的,跑者绝不能自动称呼它。 这个店 单靠自己无法整合对话循环。 参见受管会-会议-接纳谱.

releaseFailed(scope, rootKey) 一次释放一个不确定的承认, 不论期限如何 failedReleaseId(rootKey)数字 : turn-failed-v1: 编辑 键的SHA-256,以六进制表示(规格:失败-倒转-放出). 谈话跑者 在它回来前打电话给它 reconciliation_required,在标记 入院情况不明, 转弯的被栅栏接住的附着物等待。 申请可以 说吧 主动录取被拒绝;被释放者返回记录时 它的编号是这一个,否则就会发生冲突。 定制店必须执行.

releaseExpiredEvents(scope, sessionId) 是自动放出( spec: 对话-活动: 以 EVENT_ADMISSION_PREFIX, (中文(简体) ), 超过截止日期, 活动或 reconciliation_required,随 eventReleaseId(key)。由于事件附件是 被栅栏绑在它的承认上( spec: weld- event- appended),所以主机不需要 reconcileExpired,这也标志着 范围过期 变成不确定. 它永远不会触及一个转弯的承认, 和申请可以称之为它。 自定义 商店必须执行它.

releaseExpired(scope, { limit }) 释放,最古老的最后期限, 范围 截止日期为12月31日的不确定收监情况 EXPIRED_RELEASE_MARGIN_MS (十五个) 几分钟后,商店的时钟,和 expiredReleaseId(rootKey)数字 : expired-release-v1: 和键的SHA-256,以十六进制(规格: (已过期的回合释放). 申请可以称为 " 赡养费 " . 同时释放并非出错。 定制店必须执行.

汇总可能会在第一个主调用前保留一个根级调用,省略 parentCallId。这是一个真实的调值,消耗了根正弦/分数. 主要父母无父母;直接/删除需要先有同根父母. 父母的汇总保留了这些先前父母的检查。 部署匹配的读取器 在启用此表示之前( 请参考: 前奏- 摘要- 线性) .

根和收录可选择捆绑已关闭的 request 描述符 : {inputRevision, configRevision, resultContractVersion, resultRetentionMs}。 。 。 . 所有田地在最初索赔时都变得不可改变;后来增加/删除了冲突. 主办方决定对收到的完整请求和配置进行修改, 包括意图/说明/触发和所有迅速/工具/钩/价格/限制选择. 遗产记录保持缺席。 谈判的通过必须要求这种约束性和 装入内容前保留最后输出 。 最后产出属于范围d 根键在单独的根结果命名空间, 绝不是编造的可计费呼叫或 一个不受限制的后继结果密钥。 没有执行结果保留或环线 仅用这个描述符(spec: conversation-root-binding).

持久批次划界案

BatchSubmissionStore 财务报告和审定财务报表 InMemoryBatchSubmissionStore (单位:千美元)execution/testing(中文(简体) ) 在提供商工作之前,保留一份封闭的、订购的清单。 索赔返回唯一的 栅栏; 重放只有元数据 . beginDispatch 赠款 dispatch: true 一次 一次吗. 只有这种反应才允许未来的收养者提交;丢失的ACK, 过期或重复呼叫绝不允许再次尝试. accept 绑定正本 提供商/模型手柄一次;逾期证据保留 reconciliation_required 财务报告和审定财务报表 永远不更新权威. markUncertain 是不可逆的,并保留了手柄.

明显物品带有规范的分批执行快照。 他们是 定价/身份元数据,而不是同步执行Store中的索赔。 恢复 分批项证据需要单独的采纳协议;同步回收 无法在过期后收到未知的延迟结果。 之前使用范围/ 关键值检查 任何未来的提供者访问。 呼叫者的原始手柄不是授权的. 配置修改必须确定不可改变的主机配置, 包括 提供者账户选择 。 店里只接受一个可靠的主人的手柄 观察; 无法认证提供者的收据.

索赔对1.512件物品具有约束力,最多2个正常UTF-8 JSON的米B;未来 提交期限必须在一小时内。 这一期限适用于提交, 没有提供者可以处理批次的时间. get 返回防御性清单; list 返回没有项目数组的概要, 仅包含 ASCII 密钥页面 (默认50/max100). 元数据和充电特性无限期保留. 没有提供商的电话、取消、收集、费用写作或例行收养 由此存储先决条件执行(规格:持久-批次-提交).

not_submitted 是终端: 发送从未获准, 也永远不会是, 所以 主机可能以新的身份开始新的批次,而不会有支付两次的风险。 两个 路径到达它. reconcileExpired(scope, {limit?}) 没有围栏和移动,一次 存储的最后期限已经过了商店的钟, prepared 改为 not_submitted 财务报告和审定财务报表 dispatching 改为 reconciliation_required (每个电话,默认50/最大100美元) 截止时间,然后按键顺序). markUncertain 编号 prepared 记录记录 not_submitted;在发送后,它仍然记录着不确定性。 部署 在两个作者运行之前了解状态的读者(请参见:批次-未提交).

SingleDispatchBatchClient 是受管制者的添加剂运输接合物 批量跑车。 它独立返回 BatchItemEvidence 和内容,而不是遗产 JobResult的用法加上内容的成功. 每一份呈文的引用都是新的 尝试; 所有权仍然在 BatchSubmissionStore 中。 它曾经消耗 在被接受之前提交证据可移动性披露 OpenAI 输入 文件证据. 主机在恢复创建前可能保存文件引用; 放弃停止 在这里。 可选 cancel(handle, opts?) 请求取消一次并返回 观察到的工作进展;缺勤意味着得不到支持。 承认不能证明 终端处理. 批量包解决了原始范围控件 地位/地位终止,并分别采用收集/会计办法(第128项). 可选 discard(handle, opts?) 删除完成批次的复制件 提供者和返回 discarded,或请求取消运行中的 返回时 pending; 缺席意味着提供者本身的过期约束它们(请参见: 提供- 批- 保留).

批量使用日记

BatchUsageStore 在范围/批量/id下持续进行不可改变的财务观察; InMemoryBatchUsageStore 住在这里 /testing。附录要求准确接受 处理和显示项目,包括在最后期限/不确定性之后。 店里的东西 执行快照本身。 不同的观察 ID 保留自相矛盾 元数据; 等重播放保留原时间戳并更改输入 冲突。 已知证据只承认分批计费. 不明/无价遗骸 待定;未分发并含有内容的有效载荷被拒绝.

batchUsageSettlement(record) 当证据出现时,生成受支配的原始请求 已知且可定价。 坚持下去,先打个电话,然后打个电话 采用实际来源收据的结算。 收养没有金钱 写作。 多个匹配的观测可以共享一个电荷; 矛盾 他们不能取代它。 任何观察都无法确认供应商 EOF 或输出交付.

在独家的 ASCII 观测-ID 顺序中列出页面默认 50/ max100 。 重新开始 排出第一页的排出物,以捕捉迟到的下层身份证。 元数据与通过 收据无限期地活;未知/无价/冲突观测需要 明确和解。 没有供应商访问、租赁、发送信使、输出商店 或自动操作者分辨率被引入(规格:耐用-批-使用).

包容性批次核算

BatchAccountingStore 采用已编入日记账的受管收据一次 明细品. InMemoryBatchAccountingStore 是不稳定的参考。 记录 通过范围批量键和观察ID;甚至替代观察回放也需要一个 匹配所采纳的源。 未知/价格不高的观察意见仍有待处理。 只有 原始结算书写出钱;累计收款从不增量计数.

PerTurnUsd比较了包含的批量总量. 持续会议/每日决定 即使在项目被不合序地采用时,仍保留原始来源的会前/员额数额. 每一封顶/批次保留警告过境;区块决定仍然是证据 收养的跑者。 记录接受延迟修复而不更新发送.

获得带界限的原始警告、总数和预期/核算项目数; 按会计顺序排列的列表页(默认50/max100),保留显示位置 分别。 所有记录都是防御性的和无内容的. 财务完整性 不证明提供者 EOF、产出可用性、交付或解决矛盾 观察(参考:批号-财务-摘要).

用法收件箱规范化绑定同步的 Anthropic 上下文拒绝证明 给它的原始提供者。 批量使用无法携带该同步验证 (指: 安全-文字-拒绝-旋转).

范围围栏

ScopeFenceStore 栅栏为瞄准镜 {org, uid} 永久( 范围- 栅栏) : fence(scope, { actionId, actor }) 返回时 { status, record },第一个 记录获胜,所以一个后调返回它作为 existing。 。 。 . get(scope) 读它. 没有办法能掀起栅栏 一个有门的商店拒绝对有栅栏的栅栏进行新的授权 与 ScopeFencedError既无内容又无围栏的演员. normalizeScopeFenceInput 财务报告和审定财务报表 normalizeScopeFence 验证封闭的形状 . ./testing 出口 InMemoryScopeFenceStore(now?),它们的同步 assertOpen(scope) 允许检查内存门并进行解剖插入.

版本与发布记录

@alma-harness/execution 共发布 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/execution 的常见问题

@alma-harness/execution 是什么?

为阿尔玛提供持久的执行持续帮助.

如何安装 @alma-harness/execution?

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

@alma-harness/execution 支持 TypeScript 吗?

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

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

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

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

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

@alma-harness/execution 可以商用吗?

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

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

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

@alma-harness/execution 还在维护吗?

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