@mickorz/opencode-agentic-workflow 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mickorz/opencode-agentic-workflow",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Durable Agentic Workflow Runtime for OpenCode V2: journal & resume, version registry, tracing, token/cost metrics, git worktree isolation",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -25,9 +25,11 @@ JS 模块 → 保存即用(未知 id 自动重扫注册)→ `workflow` 工
25
25
 
26
26
  ## 第二步:写 JS 模块(flows 目录)
27
27
 
28
- 位置:项目 `flows/` 目录(缺省自动装载,零配置);或 `opencode.json` 插件
29
- options 里 `workflows: ["<路径>"]` 显式指定(文件或目录,相对项目根)。
30
- 扩展名 `.mjs` 推荐(`.js`/`.cjs` 也支持;引用核心 API 的 `.cjs` 会明确报错)。
28
+ **动笔要快**:位置就是项目根下 `flows/`(缺省自动装载),或
29
+ `opencode.json` 插件 options 里 `workflows: ["<路径>"]` 显式指定的位置——
30
+ **不需要探测插件装在哪、npm 全局有什么**(探索超过两步还没开始写文件,
31
+ 路线就错了)。扩展名 `.mjs` 推荐(`.js`/`.cjs` 也支持;引用核心 API 的
32
+ `.cjs` 会明确报错)。
31
33
 
32
34
  ```js
33
35
  // flows/release-notes.mjs
@@ -91,7 +93,17 @@ export default defineWorkflow({
91
93
  3. 改动已注册流程的步骤结构(stepNames 数量/顺序/语义)= **必须升
92
94
  version**(1.0.0 → 1.1.0);旧 journal 的 resume 依赖精确版本解析
93
95
  4. `id` 不得用内置名:smoke / reliable / artifact / feature-development
94
- 5. 模块只能用 ESM 语法导出(`export default` 或 `export const definition`)
96
+ 5. 模块只能用 ESM 语法导出(`export default` 或 `export const definition`);
97
+ `.mjs` 里**不能有 TypeScript 注解**
98
+ 6. **模块顶层只放 import / 常量 / 函数 / 导出**——不要在顶层跑数据处理
99
+ (建索引、初始化表等)。顶层的立即执行代码在文件后部常量初始化之前
100
+ 运行会触发 TDZ 报错(`Cannot access 'X' before initialization`);
101
+ 索引/缓存一律放函数里惰性构建
102
+ 7. **不要探索插件安装位置 / npm 全局目录**——flows 模块运行在插件进程
103
+ 内:Node 内置模块(node:fs 等)可用,**用户目录与全局的 npm 包
104
+ require/import 不到**(解析链上没有)。本地确定性计算需要数据
105
+ (拼音表/映射表/词表)时,**把数据直接内嵌进 .mjs 文件**(大表放
106
+ 文件底部,配惰性索引);库能力做不到的部分交给 `agent` 步
95
107
 
96
108
  ## 第三步:即时试跑(无需重启)
97
109
 
@@ -133,7 +145,8 @@ export default defineWorkflow({
133
145
 
134
146
  | 报错 | 原因与修法 |
135
147
  |------|-----------|
136
- | `failed to import (...Cannot find package...)` | 模块导入了用户目录解析不到的包;只用 `@mickorz/opencode-agentic-workflow/core` 与 Node 内置模块 |
148
+ | `failed to import (...Cannot find package...)` | 模块导入了用户目录解析不到的包;只用 `@mickorz/opencode-agentic-workflow/core` 与 Node 内置模块,数据需求内嵌文件 |
149
+ | `Cannot access 'X' before initialization` | 顶层立即执行代码跑在文件后部常量之前(TDZ)——索引/初始化移进函数惰性构建 |
137
150
  | `imports ".../core" but .cjs cannot be specifier-rewritten` | `.cjs` 引用核心 API——改名 `.mjs` |
138
151
  | `module must export a workflow` | 缺 `export default defineWorkflow({...})` |
139
152
  | `workflow.run must be a function` | 定义缺 `async run(args, ctx)` |