taskflow-dsl 0.3.0-beta.1.2 → 1.0.0
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 +34 -25
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
|
|
12
12
|
**English** · [简体中文](https://github.com/heggria/taskflow/blob/main/README.zh-CN.md)
|
|
13
13
|
|
|
14
|
-
[0
|
|
14
|
+
[1.0 overview](#taskflow-10-declarative-coding-agent-workflows) · [Quickstart](#quickstart) · [Docs](https://heggria.github.io/taskflow/en/docs) · [Examples](https://github.com/heggria/taskflow/blob/main/examples) · [Changelog](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
# taskflow 0
|
|
20
|
+
# taskflow 1.0: declarative coding-agent workflows
|
|
21
21
|
|
|
22
|
-
**taskflow is a declarative runtime for coding-agent workflows.** It turns a graph into a verifiable execution contract, runs phases in isolation, and keeps intermediate work out of the host conversation. In
|
|
22
|
+
**taskflow is a declarative runtime for coding-agent workflows.** It turns a graph into a verifiable execution contract, runs phases in isolation, and keeps intermediate work out of the host conversation. In Taskflow 1.0, the contract also describes the effects a phase is allowed to propose.
|
|
23
23
|
|
|
24
|
-
> **
|
|
24
|
+
> **Taskflow 1.0.0** includes the DAG runtime, trusted filesystem effects and complete Control Plane (CLI/MCP/WebUI). [GitHub Releases](https://github.com/heggria/taskflow/releases) and npm establish publication; see the [acceptance scoreboard](https://github.com/heggria/taskflow/blob/main/docs/internal/1.0.0-ga-scoreboard.md) for verified scope and limits.
|
|
25
25
|
|
|
26
|
-
## The
|
|
26
|
+
## The declared-effect contract
|
|
27
27
|
|
|
28
28
|
An agent can propose content. It should not become the mutation authority merely because it can run a command.
|
|
29
29
|
|
|
30
|
-
For admitted, declared filesystem-write targets, taskflow 0
|
|
30
|
+
For admitted, declared filesystem-write targets, taskflow 1.0 makes the path explicit and routes the final mutation through the resources transaction:
|
|
31
31
|
|
|
32
32
|
```text
|
|
33
33
|
flow / .tf.ts
|
|
@@ -47,39 +47,40 @@ flow / .tf.ts
|
|
|
47
47
|
|
|
48
48
|
This is **not** an OS sandbox. Resolve-only hosts cannot prevent every write to an undeclared path. Secret and service references are typed and fail closed in this cut; they do not imply a vault or network backend.
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## The 1.0 target and current implementation
|
|
51
51
|
|
|
52
|
-
| Layer | What it does |
|
|
52
|
+
| Layer | What it does | Support boundary |
|
|
53
53
|
|---|---|---|
|
|
54
|
-
| **Taskflow runtime** | Declarative DAGs, 12 phase types, budgets, retries, approvals, isolation, resume, replay, trace, and recompute |
|
|
55
|
-
| **Trusted Effects** | Closed `EffectIR`, `PathRef` / `SecretRef` / `ServiceRef`, confidentiality/integrity labels, effect validation, overlap checks, and ledger-backed `why-*` explainers |
|
|
56
|
-
| **Resource transaction** | Snapshot → lease → durable intent/permit → stage → commit, or restore and reject |
|
|
54
|
+
| **Taskflow runtime** | Declarative DAGs, 12 phase types, budgets, retries, approvals, isolation, resume, replay, trace, and recompute | Stable runtime contract |
|
|
55
|
+
| **Trusted Effects** | Closed `EffectIR`, `PathRef` / `SecretRef` / `ServiceRef`, confidentiality/integrity labels, effect validation, overlap checks, and ledger-backed `why-*` explainers | Declared-target contract |
|
|
56
|
+
| **Resource transaction** | Snapshot → lease → durable intent/permit → stage → commit, or restore and reject | Declared-target contract |
|
|
57
57
|
| **Host adapters** | Pi, Codex, Claude Code, OpenCode, Grok Build, and Hermes Agent use the same flow contract | Existing host surface; support remains host-specific |
|
|
58
|
-
| **Control Plane** |
|
|
59
|
-
| **WebUI** | Runs,
|
|
58
|
+
| **Control Plane** | Authenticated multi-project admission, global concurrency, durable replay, approvals/CAS, Receipts and operator CLI/MCP | Bundled in public `taskflow-mcp-core`; Unix UDS, Windows pipes non-GA |
|
|
59
|
+
| **WebUI** | Runs, approval edits, Receipts and evidence browsing | Local token login, live authorization and project isolation |
|
|
60
60
|
|
|
61
|
-
The
|
|
61
|
+
The [1.0 release plan](https://github.com/heggria/taskflow/blob/main/docs/internal/1.0.0-release-plan.md) defines the stable scope and acceptance gates. The filesystem-transaction details are in [`docs/internal/0.3.0-trusted-effects-mvp.md`](https://github.com/heggria/taskflow/blob/main/docs/internal/0.3.0-trusted-effects-mvp.md). The 0.3-C Control Plane plan is [`docs/internal/0.3-c-control-plane-plan.md`](https://github.com/heggria/taskflow/blob/main/docs/internal/0.3-c-control-plane-plan.md).
|
|
62
62
|
|
|
63
63
|
## Quickstart
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
Use Node.js **≥ 22.19.0**. To run from the 1.0 source checkout:
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
68
|
git clone https://github.com/heggria/taskflow.git
|
|
69
69
|
cd taskflow
|
|
70
|
-
git checkout
|
|
70
|
+
git checkout v1.0.0
|
|
71
71
|
pnpm install
|
|
72
72
|
pnpm run typecheck
|
|
73
73
|
pnpm test
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
Install the matching 1.0.0 package set after confirming the release is available:
|
|
77
|
+
|
|
77
78
|
```bash
|
|
78
|
-
npm install --global pi-taskflow@
|
|
79
|
-
npm install --global codex-taskflow@
|
|
79
|
+
npm install --global pi-taskflow@1.0.0
|
|
80
|
+
npm install --global codex-taskflow@1.0.0
|
|
80
81
|
```
|
|
81
82
|
|
|
82
|
-
The host-specific plugin and MCP commands remain in the [host guides](https://heggria.github.io/taskflow/en/docs/guides/).
|
|
83
|
+
The host-specific plugin and MCP commands remain in the [host guides](https://heggria.github.io/taskflow/en/docs/guides/).
|
|
83
84
|
|
|
84
85
|
Run the no-LLM Trusted Effects vertical-slice fixture:
|
|
85
86
|
|
|
@@ -88,7 +89,15 @@ pnpm exec node --conditions=development --experimental-strip-types --test \
|
|
|
88
89
|
packages/taskflow-core/test/effects-e2e-fixture.test.ts
|
|
89
90
|
```
|
|
90
91
|
|
|
91
|
-
This exercises the checked-in `examples/trusted-effects-write.json` path without a live LLM. For an interactive run, use the host guide for the adapter you already run. The
|
|
92
|
+
This exercises the checked-in `examples/trusted-effects-write.json` path without a live LLM. For an interactive run, use the host guide for the adapter you already run. The [release guide](https://github.com/heggria/taskflow/blob/main/RELEASE.md) covers packed-consumer validation and release gates.
|
|
93
|
+
|
|
94
|
+
### Local Control Console
|
|
95
|
+
|
|
96
|
+
In Pi, run `/tf web` to start the bundled local Control Console and open the default browser. If browser opening fails, the command shows a manual loopback URL. Use the one-use token in the reported private (0600) handoff file to log in; tokens are never included in the URL or command notifications.
|
|
97
|
+
|
|
98
|
+
The console shows Control Plane runs, approvals, Receipts and existing evidence. Legacy Pi run transcripts are outside this view. Repeating the command in the same project reuses its service; changing projects or leaving the Pi session stops only the console process started by that session. Unix local transport is required. If another host already owns the Control home, stop that owner explicitly before launching this console.
|
|
99
|
+
|
|
100
|
+
See [Pi compatibility](https://github.com/heggria/taskflow/blob/main/docs/pi-compatibility.md) for the tested SDK matrix and the distinction between real-process fixtures and live-provider acceptance.
|
|
92
101
|
|
|
93
102
|
## Declare an effect
|
|
94
103
|
|
|
@@ -191,7 +200,7 @@ Host support is not a blanket security guarantee. Read the [host support baselin
|
|
|
191
200
|
- Writes to undeclared paths remain host-policy dependent under resolve-only execution.
|
|
192
201
|
- `SecretRef` and `ServiceRef` are typed handles only; no vault or live service adapter ships in this cut.
|
|
193
202
|
- There is no FileBroker or full OS sandbox claim in 0.3 MVP.
|
|
194
|
-
- Control Plane
|
|
203
|
+
- Control Plane admission, authorized replay, durable approvals, Receipts, global coordination and WebUI are implemented. Public `taskflow-mcp-core` provides the control binaries; operator actions require an explicitly provisioned separate credential. Request audit fields never grant authority.
|
|
195
204
|
|
|
196
205
|
## Development
|
|
197
206
|
|
|
@@ -210,13 +219,13 @@ The monorepo contains the host-neutral `taskflow-core`, Trusted Effects and reso
|
|
|
210
219
|
|
|
211
220
|
| Start here | Use it for |
|
|
212
221
|
|---|---|
|
|
213
|
-
| [0
|
|
222
|
+
| [1.0 overview](https://heggria.github.io/taskflow/en/docs) | 1.0 scope, support, and the security boundary |
|
|
214
223
|
| [Getting Started](https://heggria.github.io/taskflow/en/docs/getting-started) | First flow and host setup |
|
|
215
224
|
| [Core Concepts](https://heggria.github.io/taskflow/en/docs/concepts/) | DAGs, isolation, verification, resume, and evidence |
|
|
216
225
|
| [Compiler & Runtime](https://heggria.github.io/taskflow/en/docs/compiler-runtime/) | JSON, TypeScript DSL, FlowIR, replay, and recompute |
|
|
217
226
|
| [Host Guides](https://heggria.github.io/taskflow/en/docs/guides/) | Pi, Codex, Claude Code, OpenCode, Grok, and Hermes |
|
|
218
227
|
| [Examples](https://github.com/heggria/taskflow/blob/main/examples) | Runnable flow definitions, including Trusted Effects |
|
|
219
|
-
| [Changelog](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md) | Release history and
|
|
228
|
+
| [Changelog](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md) | Release history and version notes |
|
|
220
229
|
|
|
221
230
|
## License
|
|
222
231
|
|
|
@@ -226,6 +235,6 @@ The monorepo contains the host-neutral `taskflow-core`, Trusted Effects and reso
|
|
|
226
235
|
|
|
227
236
|
**Declare the effect. Verify the path. Commit through one authority.**
|
|
228
237
|
|
|
229
|
-
[Read the docs](https://heggria.github.io/taskflow/en/docs) · [
|
|
238
|
+
[Read the docs](https://heggria.github.io/taskflow/en/docs) · [Install Taskflow 1.0](#quickstart) · [View releases](https://github.com/heggria/taskflow/releases)
|
|
230
239
|
|
|
231
240
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taskflow-dsl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Compile-time TypeScript DSL frontend for taskflow: erase .tf.ts runes to Taskflow JSON, then FlowIR via taskflow-core.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"taskflow",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"dist"
|
|
56
56
|
],
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"taskflow-core": "0.
|
|
58
|
+
"taskflow-core": "1.0.0",
|
|
59
59
|
"typescript": "^6.0.3"
|
|
60
60
|
},
|
|
61
61
|
"publishConfig": {
|