@crvouga/mockingbird-service-vibe

中文文档
1.12.0发布于 2026/11/13MITTypeScriptES Module构建来源已验证近 30 天下载 2014

Vibe OAuth和一个同步的竞选支出报告模拟器.

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 合同
  4. 测试控制
  5. 故意不模拟
  6. API 密码

@crvouga/ mockingbird-service-vibe (英语)

本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .

WIP Vibe订正案 2026-06-01 (英语) OAuth和同步竞选支出报告.

安装

bun add @crvouga/mockingbird-service-vibe

使用量

import { DEFAULT_ADVERTISER } from "@crvouga/mockingbird-service-vibe"
import { createServer } from "@crvouga/mockingbird-service-vibe/server"

// Test setup: a local Vibe with one spend row for the default client's advertiser.
const advertiserId = DEFAULT_ADVERTISER
const server = await createServer({ rows: [{
  advertiser_id: advertiserId, impression_date: "2026-01-01", spend: "12.50",
}] })
const baseUrl = server.url

// Application code: the report request it sends to Vibe.
const response = await fetch(`${baseUrl}/reports`, {
  method: "POST",
  headers: { authorization: "Bearer mock_vibe_token", "x-vibe-revision": "2026-06-01", "content-type": "application/json" },
  body: JSON.stringify({ start_date: "2026-01-01", end_date: "2026-01-02", advertiser_ids: [advertiserId], dimensions: ["impression_date"], metrics: ["spend"] }),
})
const report = await response.json()
console.log(report.id, report.status)

await server.close()

运行 mockingbird-vibe serve --port 12128输入 http://localhost:12128 作为 消费者的API起源. 在同一来源下载点 。 没有通用的供应商 (b) 保持消费者生产HTTPS政策的完整.

合同

  • POST /oauth2/token:窗体编码客户端 具有HTTP Basic credities. 默认合成客户端为模拟 客户端/模拟 客户端 机密. 可选范围必须是: 客户端范围子集。 答复包括无记名标志、范围和过期失效. 这个端点不需要X-Vibe-Review;失败使用标准的OAuth信封.
  • POST /reportsJSON报告请求, 熊鼠标志和被绑定的修改。 决 定 有UUID/状态/创建 at。 广告者必须属于客户端. 视窗是包含启动的, 最终排他性、阳性,最多45天。 JSON/DAY固定装置.
  • GET /reports/{report_id}:只有拥有客户才能投票. 默认时钟进度 : 开始,在一秒钟,准备两秒钟。 准备 本地下载 url和生成/延长时间戳; FAILED 包括失败 原因.
  • 内部 /__admin/blobs/{id}?token=…:供应商预署下载的本地站点. 返回合成行的 JSON 阵列,保留数字-as-string 度量衡和无效值, 并在出生后24小时期满。 能力值为确定测试站, 而不是生产签名。 没有获取浏览器跟踪或真实的运动数据 .

种子 clients,预汇总 rows 财务报告和审定财务报表 settings 通过构建者选项或共享 /__admin/state。报告在创建时间保留固定行并选择要求的列. 定点日期已在要求的报告时区;没有归属或汇总 引擎是隐含的。 默认无记名模拟器 vibe token自初始播种起有效1小时.

测试控制

收藏:客户端,符号,行,报告,设置. 设置显示处理M, 准备中M 和标志Ttlseconds。 报告揭露了准备就绪的At(null意味着被卡住)、失败和缺失的Artifact. 使用共享时钟来推进生命周期/到期,并共享时间线/重置/状态/journal API. 重置还原了构造器固定装置. 期刊包含元数据,从不报告行或证书. 命名空间按信头、 映射的无记名符号或 /__admin/ns/{name} 路径。 下载链接 保留命名空间和自定义 adminPrefix 出行路线.

预设: 速率限制( 已写为 429/ Retry- After), 服务器 error (500), 连接 投放, 报告失败并报告 stuck。 共同过失规则还规定了决定性的延迟性. 这些是测试控制;它们不模拟真正的滑窗配额或实际处理SLA. 此子集不需要 Webhoks .

验收测试所有四期271行为,OAuth过期/镜片,本地文物 过期/丢失文件,命名空间/重置/已编辑的日记并服务于HTTP. 进行财产测试 每一次对等操作和检测差异. bun scripts/parity.ts 用途 VBE ACCESS TOKEN 和 VIBE REPORT ID 只读现有报告信封检查; 实时 经认证的等价尚未实现. bun scripts/parity.ts --unauthenticated 比较缺失/ 无效的合成键对正端点错误 。 这个探测器经过确认 token_invalid 加号 WWW-Authenticate: Bearer,与文档中的 invalid_token 实例。 合同的其余部分沿用已公布的OpenAPI参考.

故意不模拟

代理购买、运动突变、归属推论、生产JWT签名、OAuth浏览器 同意/更新、CSV或非日报告、计量汇总、时区转换和报告 过滤表达式。 请求的尺寸种子已合并行 。 模拟器 拒绝CSV/非日请求,即使供应商支持这些请求;这些请求不在其中 初始消费子集. 它没有主张供应商API或活费率限额的完全平等.

API 密码

  • VibeAPI:获取API,重置和状态收藏.
  • createRuntime: 共享管理员/名空间/小时/故障表面.
  • VIBE_NAMESPACE, (中文(简体) ), VIBE_PRESETS, (中文(简体) ), DEFAULT_ADVERTISER:服务常数.
  • document, (中文(简体) ), operationIds, (中文(简体) ), supportedOperationIds:生成合同元数据.
  • createServer, (中文(简体) ), serveTarget, (中文(简体) ), DEFAULT_PORT 从 ./server:节点HTTP/CLI出入口.

公共类型:客户端、托肯、行、报告、设置、vibeAPI 选项、操作 爱德, 被支持的OperationId;服务器类型为"vibeServer Options"和"vibeServer".

版本与发布记录

@crvouga/mockingbird-service-vibe 共发布 19 个版本,首次发布于 2026/10/05;过去 12 个月发布了 19 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.0latest2026/11/131 天前
1.11.12026/11/122 天前
1.11.02026/11/122 天前
1.10.02026/11/113 天前
1.9.42026/11/0311 天前
1.9.32026/11/0311 天前

关于 @crvouga/mockingbird-service-vibe 的常见问题

@crvouga/mockingbird-service-vibe 是什么?

Vibe OAuth和一个同步的竞选支出报告模拟器.

如何安装 @crvouga/mockingbird-service-vibe?

在项目目录运行 npm install @crvouga/mockingbird-service-vibe,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mockingbird-vibe,可以用 npx mockingbird-vibe 直接运行。

@crvouga/mockingbird-service-vibe 支持 TypeScript 吗?

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

@crvouga/mockingbird-service-vibe 支持 ESM 还是 CommonJS?

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

@crvouga/mockingbird-service-vibe 可以商用吗?

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

@crvouga/mockingbird-service-vibe 的下载量有多少?

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

@crvouga/mockingbird-service-vibe 还在维护吗?

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