创建 Workflow
Workflow 包包含源定义和编译后的 ESM 入口。本指南构建一个小型 capture 工作流:将原始意图保存为一个 Record,然后结束。该示例无需 Agent 即可展示包与执行契约。
这是框架文档中的编写指南;特定业务 Workflow 的手册和完整应用示例属于其他内容。
准备包
在新的包目录中创建以下布局:
使用以下 package.json:
以上 IntLoom 版本与当前开发版本一致,要求对应版本已经在使用的注册源中可用。发布前请提供经过验证的本地包或本地注册源。IntLoom monorepo 中,工作区依赖使用 workspace:*,并使用根目录的 Bun/Turbo 命令。
这个独立包使用以下 tsconfig.build.json:
Compiler 在临时构建配置中覆盖输出设置。将 include 限定为生产资源目录;包含 build.ts 会输出构建脚本,并错误地将 Compiler 变为运行时依赖。引入 Tools 时添加 tools/**/*.ts。仓库工作区则继承共享的根 TypeScript 配置。
定义路由
workflow.yaml:
stages/capture.yaml:
Step 结束时,其 Stage 也结束。Stage 的 outcome 再由 workflow.yaml 路由到 Workflow 结束位置。
初始化业务 State
schemas/state.ts:
initializers/state.ts:
进入 Stage 时运行初始化器。它接收当前 Run 的上下文,并返回 Schema 的输入。编译过程不会执行它。
实现 Step
codes/capture.ts:
这个包选择 Run ID 作为 Record ID,这是包的约定,不是框架要求。Step 读取 Stage State;Runtime 当前传入 null 作为执行输入。只返回路由 outcome。
编译
build.ts:
解析并安装包依赖后:
预期输出包括 dist/workflow.generated.js、类型声明、编译后的业务模块和 source maps。生成模块导出 blueprint、codes 和 agentSpecs;该纯 Code 包没有 Agent 资源。
接着阅读构建、测试与分发,完成打包与安装。如果希望无需模型执行这个纯 Code 工作流,使用 useMcpAgent: true 的外部 MCP 入口。当前 CLI 的服务执行准入策略仍要求 llms.default。