@cotal-ai/lang

中文文档
0.157.2发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 7万

cotal-lang:受限-JS工作流程语言. 解析器和验证器,效果界面,步骤日记,解释器,以及模拟处理器. 这要看收押金里没有别的了.

中文使用文档

@cotal-ai/lang (英语)

Cotal Lang, 工作流程语言 a 持久 Cotal 运行执行: JavaScript 在 每一次与世界的互动都是十几个效应之一 其他的都是纯净的 这个 软件包是验证器、解释器、步骤日记、效果界面一个主机 执行,以及模拟和模拟运行,运行一个没有经纪人的程序.

等级 : packages/ (标准). 取决于收押金中其他的什么, 它知道效果, 不是关于NATS。 在网格上运行程序的主机是 @cotal-ai/runtime。 。 。 .

两个引擎. run编号 :resume 是树行者,语言版本 1,它会保持回放 用于记录在其下的每一次运行的引擎. engine/ 是一个版本 2:一种不同的语言,而不是更快 一个,一个新的司机运行 执行。 每个引擎都印着它用自己的钉子 将录制的版本与自己的版本相比较,这就是为什么 WALKER_LANGUAGE_VERSION 财务报告和审定财务报表 ENGINE_LANGUAGE_VERSION 是两个常数 LANGUAGE_VERSION 是当前 语言,引擎的。 记录只在写作的引擎下绑定(L5008). 发动机 要求节点22或更新并拒绝在下方 EngineUnavailable,执行限制 没有 L 代码,因为错误目录只列出一个程序可以导致的条件. A 类 主机在引擎的工人线条中运行一个程序. 处理器要么在线条内建 从可复制的配置,或者当它是作为驱动器的活对象时,保留在主机中 连接在信件端口上的效果接合( e)engine/bridge.ts) (中文(简体) ).

该语言由 spec/cotal-lang.md (规范 js 块由这个包的表面套件验证),其有线脚印由 SPEC.md 第14节。指南是 文件/工作流程(mdx)。 。 。 .

使用

import { validate, run, dryRun, SimHandler, Journal } from "@cotal-ai/lang";

const source = `
const builder = await spawn("builder")
const r = await turn(builder, { name: "build", deadline: "30m" })
log(r.status)
`;

validate(source);                       // throws LangErrors, every refusal with code, cause, fix

const script = { turns: { build: { status: "done" } } };
const plan = await dryRun(source, script);   // what it would do, with no agent touched

const first = await run(source, { runId: "r-1", handler: new SimHandler(script) });
// first.journal.entries() is the step journal; first.pins is what a resume must be handed back.

const again = await run(source, {
  runId: "r-1",
  pins: first.pins,
  journal: new Journal({ run: "r-1", entries: first.journal.entries() }),
  handler: new SimHandler({}),          // nothing is scripted: every step replays
});

run 通过 EffectHandler 你通过和记录 每个人在 Journal· ; 将同一日记和针接回,并恢复同一程序。 操作器在飞行中绑起 等待前的外部工作; 恢复时重放一次失败, 而待决约束 效应可以重接. 内部待决步骤 once 不再发送: 它打开一个控件 holdRequestId 并且答案成为结果. SimHandler 剧本翻转,问, 检查点和事件,拒绝任何没有记录的事物(L6001),因此模拟不能沉默 发明一答. 时间是一个虚拟时钟模拟的离散事件:时间效应公园 他们的觉醒时间, 并按顺序交付, 所以并行的树枝 积累自己的 会期和a race 在模拟下由规则本身决定(记录最少的时钟,带子) 根据声明令,而不是命令的效力。 模拟器还执行 ask schema shortwitch:一个无法读取的 schema 被拒绝(L4022),不符合要求的回复被消耗 attempts 在L4006飞机之前.

诉讼

pnpm test 在这个目录中,每个烟雾:语法,钥匙,日记,模糊的日记,针, 范围、图像、解释、燃料、干燥、实例、选项、通知-事实、迁移、语义(纯度) 对节点的片段),表面(语法表,库表,以及每个实例 参考和指南验证、符合、转换、差分、引擎和 根-切变. smoke/mutations/*.json 这是 pnpm mutation-proof 目标.

pnpm test 不进行类型检查而释放构件( e)build:emit,则 smoke/_run.ts 运行 21 已声明 smoke/*.smoke.ts 文档,每个文件在自己的进程中平行进行。 每个文件的全部输出是 按宣布的顺序打印,并打印文件 只有当它退出0时通过,并且它的输出带有非零计数且没有故障时,它才会通过. 每个文件 运行即使一个失败, 而运行然后失败。 A 类 smoke/*.smoke.ts 既不是文件 被宣布或排除在外,或被宣布的失踪档案被拒绝. wait-until.smoke.ts 实值 被故意排除:它从未是这个链条的一部分,CI作为自己的套房运行.

变量默认含义
COTAL_TEST_JOBSmax(1, min(6, cpus - 1))文件马上运行. 1 一次开一次.
COTAL_TEST_TIMEOUT_MS120000个人文件限制。 有关它的文件, 和它的孩子的过程, 被杀死和失败.

二者之一的错位值都是错误 。 抓取的输出上限为每个文件32 MiB; 多于 失败的文件。 在 Linux 上,每个文件都有自己的进程组,所以中断运行时没有 孩子们在后面 在 Windows 上,进程树被杀死 taskkill。该路径尚未运行.

版本与发布记录

@cotal-ai/lang 共发布 380 个版本,首次发布于 2026/08/14;过去 12 个月发布了 380 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.157.2latest2026/11/11今天
0.157.12026/11/11今天
0.157.02026/11/11今天
0.156.02026/11/11今天
0.155.22026/11/10今天
0.155.12026/11/10今天

其他发布通道:hack → 0.28.0-hack-20260823234508。

关于 @cotal-ai/lang 的常见问题

@cotal-ai/lang 是什么?

cotal-lang:受限-JS工作流程语言. 解析器和验证器,效果界面,步骤日记,解释器,以及模拟处理器. 这要看收押金里没有别的了.

如何安装 @cotal-ai/lang?

在项目目录运行 npm install @cotal-ai/lang,或使用 pnpm add / yarn add / bun add。

@cotal-ai/lang 支持 TypeScript 吗?

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

@cotal-ai/lang 支持 ESM 还是 CommonJS?

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

@cotal-ai/lang 可以商用吗?

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

@cotal-ai/lang 的下载量有多少?

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

@cotal-ai/lang 还在维护吗?

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