grok-taskflow 0.2.9 → 0.2.10
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/README.md +26 -4
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
**English** · [简体中文](https://github.com/heggria/taskflow/blob/main/README.zh-CN.md)
|
|
15
15
|
|
|
16
|
-
[Install](#install-on-your-host) · [Quickstart](#60-second-start) · [What's new in 0.2.
|
|
16
|
+
[Install](#install-on-your-host) · [Quickstart](#60-second-start) · [What's new in 0.2.10](#0210-organized-portable-saved-flows) · [0.2 compiler turn](#02-is-the-compiler-turn) · [Docs](https://heggria.github.io/taskflow/en/docs) · [Examples](https://github.com/heggria/taskflow/blob/main/examples)
|
|
17
17
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -133,6 +133,22 @@ Save it as `.pi/taskflows/audit-api.json`, then run:
|
|
|
133
133
|
|
|
134
134
|
On Codex, Claude Code, OpenCode, Grok Build, and Hermes Agent, run the same saved definition by name through `taskflow_run`. For long DAGs, use `mode: "background"`, then manage the durable run with `taskflow_runs` (`list` / `status` / `wait` / `cancel`); list output reports active concurrency and can filter `running` or `terminal` runs.
|
|
135
135
|
|
|
136
|
+
Large projects may organize saved definitions recursively below `.pi/taskflows/flows/`, for example `.pi/taskflows/flows/release/audit-api.json`. Legacy `.pi/taskflows/*.json` files remain discoverable and win same-scope name collisions; nested duplicates use locale-independent Unicode-scalar path order. Saving an already-discovered nested flow updates that file and its adjacent metadata in place; new flows still use the legacy top-level location. Discovery uses one shared user/project budget and fails closed if it exceeds 1,000 flows, 10,000 visited entries, 512 directories, 8 MiB of definition data, 1 MiB per definition, or 16 levels. It rejects symlinks below the trusted storage boundary through definition leaves and skips dot paths, metadata (`*.meta.json`), and compiled IR (`*.flowir.json`). The configured agent-directory boundary itself may be a symlink for compatible home-directory relocation. New-flow saves enforce the same storage-boundary policy and revalidate the physical target directory inside the write lock.
|
|
137
|
+
|
|
138
|
+
A file-backed flow can opt script phases into definition-relative execution:
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"name": "release",
|
|
143
|
+
"scriptCwd": "flow",
|
|
144
|
+
"phases": [
|
|
145
|
+
{ "id": "prepare", "type": "script", "run": ["./scripts/prepare.sh"], "final": true }
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Here `./scripts/prepare.sh` resolves from the directory containing the saved flow or `defineFile`. The default remains `"invocation"`, and an explicit phase `cwd` still takes precedence. Inline definitions have no trusted file source and therefore fail closed if they request `scriptCwd: "flow"`. If execution inherits a cwd-bridge boundary, the resolved flow source directory must remain inside that boundary.
|
|
151
|
+
|
|
136
152
|
[Follow the full quickstart →](https://heggria.github.io/taskflow/en/docs/getting-started)
|
|
137
153
|
|
|
138
154
|
## See the graph run
|
|
@@ -152,6 +168,12 @@ This is real output from a Pi run—not a mock dashboard:
|
|
|
152
168
|
|
|
153
169
|
The layout **is** the DAG. Parallel rails expose concurrency; long edges expose dependencies; the gate explains why downstream work stopped. No separate control plane is required to understand the run.
|
|
154
170
|
|
|
171
|
+
## 0.2.10: organized, portable saved flows
|
|
172
|
+
|
|
173
|
+
Saved flows can now be organized below the bounded `.pi/taskflows/flows/**` convention while legacy top-level flows keep their existing precedence and behavior. A file-backed flow may opt into `scriptCwd: "flow"`, making adjacent scripts, templates, and fixtures portable as one reviewable directory bundle.
|
|
174
|
+
|
|
175
|
+
Discovery, provenance, and persistence remain fail-closed: recursion has shared file/entry/directory/byte/depth budgets, symlinked descendants are excluded, source identity survives foreground/background/resume/subflow paths, and nested definition/sidecar writes revalidate the physical parent through atomic promotion. [Full 0.2.10 notes →](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md#0210--2026-08-12)
|
|
176
|
+
|
|
155
177
|
## 0.2.9: Hermes Agent + verify parity
|
|
156
178
|
|
|
157
179
|
Taskflow now ships on **Hermes Agent** as `hermes-taskflow`, bringing the same MCP control plane to a sixth host. Hermes children run with an ephemeral home, explicit toolsets, cwd-confined local reads, provider-only credential material, and an explicit opt-in for mutating `--yolo` phases.
|
|
@@ -355,7 +377,7 @@ claude plugin install claude-taskflow@taskflow
|
|
|
355
377
|
|
|
356
378
|
```bash
|
|
357
379
|
opencode mcp add taskflow -- \
|
|
358
|
-
npx -y -p opencode-taskflow@0.2.
|
|
380
|
+
npx -y -p opencode-taskflow@0.2.10 opencode-taskflow-mcp
|
|
359
381
|
```
|
|
360
382
|
|
|
361
383
|
[OpenCode guide →](https://heggria.github.io/taskflow/en/docs/guides/opencode)
|
|
@@ -364,7 +386,7 @@ opencode mcp add taskflow -- \
|
|
|
364
386
|
|
|
365
387
|
```bash
|
|
366
388
|
grok mcp add taskflow -- \
|
|
367
|
-
npx -y -p grok-taskflow@0.2.
|
|
389
|
+
npx -y -p grok-taskflow@0.2.10 grok-taskflow-mcp
|
|
368
390
|
```
|
|
369
391
|
|
|
370
392
|
Grok Build support is new in 0.2. Its CLI stream does not report token/cost usage, so budget-declaring flows are rejected rather than silently running without enforcement.
|
|
@@ -374,7 +396,7 @@ Grok Build support is new in 0.2. Its CLI stream does not report token/cost usag
|
|
|
374
396
|
### Hermes Agent
|
|
375
397
|
|
|
376
398
|
```bash
|
|
377
|
-
hermes mcp add taskflow --command npx --args -y -p hermes-taskflow@0.2.
|
|
399
|
+
hermes mcp add taskflow --command npx --args -y -p hermes-taskflow@0.2.10 hermes-taskflow-mcp
|
|
378
400
|
# Prefer env in config.yaml (not CLI --env after args — can be stuffed into argv):
|
|
379
401
|
# mcp_servers.taskflow.env.PI_TASKFLOW_HERMES_UNSAFE_YOLO: "1" # mutating only
|
|
380
402
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "grok-taskflow",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "Run taskflow on Grok Build: the npm tarball provides the Grok subagent runner and MCP server; the plugin is distributed through the repository marketplace.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"grok",
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"taskflow-core": "0.2.
|
|
53
|
-
"taskflow-hosts": "0.2.
|
|
54
|
-
"taskflow-mcp-core": "0.2.
|
|
52
|
+
"taskflow-core": "0.2.10",
|
|
53
|
+
"taskflow-hosts": "0.2.10",
|
|
54
|
+
"taskflow-mcp-core": "0.2.10"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"build": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/copy-readme.mjs grok-taskflow"
|