@agenticprimitives/witness

中文文档
0.0.0-alpha.31发布于 2026/10/26MITTypeScriptES Module近 30 天下载 2607

Evidentiary dispute attestation (spec 307 / G-11): deterministically walk a relationship record + verification receipt and attest in_scope / out_of_scope / revoked_before_execution / stale_status_used / insufficient_evidence. Facts, never remedies.

原始使用文档

@agenticprimitives/witness

Part of Agentic Primitives — the open-source trust substrate for agentic applications: identity that can sign, authority checked at act time, evidence the owner carries. Developer kit · All packages

Evidentiary dispute attestation — the neutral function that answers, from artifacts alone: was this action inside the delegated relationship at the time it happened — and if not, whose check failed?

Spec: specs/307-witness.md · Consumes: verification receipts (spec 303) + relationship records (spec 306).

The walk

import { evaluateDispute, mintWitnessAttestation } from '@agenticprimitives/witness';

const evaluation = await evaluateDispute({
  record,            // the spec-306 hash-linked evidence chain
  receipt,           // the disputed spec-303 public receipt
  detail,            // optional — released to the witness via releaseMode 'witness_escrow'
  verifyReceiptSignature,
});
// → { outcome: 'in_scope' | 'out_of_scope' | 'revoked_before_execution'
//              | 'stale_status_used' | 'insufficient_evidence', ... }

const attestation = await mintWitnessAttestation(
  { witness: witnessSa, relationshipId, evaluation, receipt, checkedDetail: !!detail, attestedAt },
  { sign: witnessSigner },
);

The walk is total and ordered (evidence integrity → record membership → revocation timeline → scope), so two witnesses given the same artifacts produce the same outcome and the same attestation hash. Anything unverifiable — a broken chain, an invalid receipt, a receipt that isn't an entry of the record, a detail that doesn't open — is insufficient_evidence, never a guess.

stale_status_used is the load-bearing outcome: a revocation entry precedes the receipt in the relationship record, yet the verifier allowed on revocation: 'active' — the verifier relied on stale status, which is exactly the liability trigger the article's procurement checklist assigns.

Status

w1-evaluate-attest — the walk + attestation mint/verify, 8-test suite (one per outcome, determinism, tamper, no-identity-leak). W2: attestation anchoring + the witness-escrow DecryptGrant release path. W3: the G-12 liability schema over these outcomes.

版本与发布记录

@agenticprimitives/witness 共发布 30 个版本,首次发布于 2026/07/14;过去 12 个月发布了 30 个版本。

版本发布日期距今
0.0.0-alpha.31latest2026/10/2612 天前
0.0.0-alpha.302026/10/2612 天前
0.0.0-alpha.292026/10/1721 天前
0.0.0-alpha.282026/10/1722 天前
0.0.0-alpha.272026/10/1622 天前
0.0.0-alpha.262026/10/1622 天前

关于 @agenticprimitives/witness 的常见问题

@agenticprimitives/witness 是什么?

Evidentiary dispute attestation (spec 307 / G-11): deterministically walk a relationship record + verification receipt and attest in_scope / out_of_scope / revoked_before_execution / stale_status_used / insufficient_evidence. Facts, never remedies.

如何安装 @agenticprimitives/witness?

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

@agenticprimitives/witness 支持 TypeScript 吗?

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

@agenticprimitives/witness 支持 ESM 还是 CommonJS?

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

@agenticprimitives/witness 可以商用吗?

@agenticprimitives/witness 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@agenticprimitives/witness 的下载量有多少?

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

@agenticprimitives/witness 还在维护吗?

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