taskmeld 0.1.2 → 0.1.41

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.
Files changed (154) hide show
  1. package/README.md +176 -176
  2. package/README.zh-CN.md +176 -176
  3. package/dist/src/app/app-context-env.js +1 -1
  4. package/dist/src/app/create-app-context.js +3 -3
  5. package/dist/src/app/data-dir.js +13 -3
  6. package/dist/src/app/pipeline-config.js +4 -4
  7. package/dist/src/app/pipeline-registry.js +11 -11
  8. package/dist/src/app/pipeline-runtime.js +6 -9
  9. package/dist/src/app/runtime-store.js +3 -3
  10. package/dist/src/artifacts/artifact-cleanup.js +17 -17
  11. package/dist/src/artifacts/artifact-index.js +14 -14
  12. package/dist/src/artifacts/artifact-rebuilder.js +3 -3
  13. package/dist/src/artifacts/storage-service.js +18 -18
  14. package/dist/src/cli/bootstrap.js +7 -7
  15. package/dist/src/cli/commands/agent.js +12 -11
  16. package/dist/src/cli/commands/artifact.js +31 -30
  17. package/dist/src/cli/commands/init.js +49 -47
  18. package/dist/src/cli/commands/pipeline/result.js +9 -8
  19. package/dist/src/cli/commands/pipeline/selector.js +1 -1
  20. package/dist/src/cli/commands/pipeline/watch.js +2 -2
  21. package/dist/src/cli/commands/pipeline.js +54 -53
  22. package/dist/src/cli/commands/scheduler.js +9 -8
  23. package/dist/src/cli/commands/server.js +12 -11
  24. package/dist/src/cli/commands/system.js +4 -3
  25. package/dist/src/cli/errors.js +2 -2
  26. package/dist/src/cli/help.js +18 -17
  27. package/dist/src/cli/i18n.js +46 -0
  28. package/dist/src/cli/locales/en.json +244 -0
  29. package/dist/src/cli/locales/zh.json +244 -0
  30. package/dist/src/cli/output.js +3 -3
  31. package/dist/src/cli/renderers/engine/markdown.js +1 -1
  32. package/dist/src/cli/renderers/specs/index.js +1 -1
  33. package/dist/src/cli/router.js +1 -1
  34. package/dist/src/cli/server-runtime-client.js +54 -95
  35. package/dist/src/cli/ui-prompts.js +96 -0
  36. package/dist/src/cli/ws-runtime-client.js +51 -0
  37. package/dist/src/gateway/gateway-client.js +4 -4
  38. package/dist/src/index.js +28 -2
  39. package/dist/src/logs/run-log-reader.js +1 -1
  40. package/dist/src/pipeline/agent-activity.js +2 -2
  41. package/dist/src/pipeline/artifact-storage.js +11 -11
  42. package/dist/src/pipeline/diagnostics/dependency-diagnostic.js +11 -11
  43. package/dist/src/pipeline/dispatch/pipeline-inbound-queue.js +2 -2
  44. package/dist/src/pipeline/execution/group-item-executor.js +1 -1
  45. package/dist/src/pipeline/execution/node-item-executor.js +3 -3
  46. package/dist/src/pipeline/execution/node-runner.js +7 -7
  47. package/dist/src/pipeline/execution/readiness-state.js +1 -1
  48. package/dist/src/pipeline/execution/reject-handler.js +5 -5
  49. package/dist/src/pipeline/execution/rejected-artifact-archiver.js +1 -1
  50. package/dist/src/pipeline/execution/route-item-manager.js +4 -4
  51. package/dist/src/pipeline/execution/run-abort-controller.js +5 -5
  52. package/dist/src/pipeline/execution/run-state-helpers.js +2 -2
  53. package/dist/src/pipeline/execution/service.js +4 -4
  54. package/dist/src/pipeline/execution/structured-node-runner.js +24 -24
  55. package/dist/src/pipeline/execution-timeout.js +3 -3
  56. package/dist/src/pipeline/identity/index.js +3 -3
  57. package/dist/src/pipeline/item-batch-controller.js +6 -6
  58. package/dist/src/pipeline/scheduler/dependency-state.js +5 -5
  59. package/dist/src/pipeline/scheduler-service.js +24 -24
  60. package/dist/src/pipeline/state-machine.js +2 -2
  61. package/dist/src/pipeline/structured-output/contract.js +4 -4
  62. package/dist/src/pipeline/structured-output/index.js +2 -2
  63. package/dist/src/pipeline/structured-output/parser.js +5 -5
  64. package/dist/src/pipeline/structured-output/prompt.js +38 -38
  65. package/dist/src/pipeline/structured-output/waiter.js +6 -6
  66. package/dist/src/pipeline/template.js +5 -5
  67. package/dist/src/pipeline/timeline-log-store.js +5 -5
  68. package/dist/src/pipeline/tool-activity.js +3 -3
  69. package/dist/src/pipeline/types/pipeline-output.js +1 -1
  70. package/dist/src/pipeline/workflow/branch-rules.js +19 -19
  71. package/dist/src/pipeline/workflow/io.js +1 -1
  72. package/dist/src/pipeline/workflow/normalize.js +18 -18
  73. package/dist/src/pipeline/workflow/template-mapper.js +3 -3
  74. package/dist/src/pipeline/workflow/validate.js +39 -39
  75. package/dist/src/pipeline/workflow-graph.js +10 -10
  76. package/dist/src/server/http-handler.js +74 -0
  77. package/dist/src/services/agent-service.js +2 -2
  78. package/dist/src/services/gateway-read-helpers.js +1 -1
  79. package/dist/src/services/pipeline-service.js +19 -19
  80. package/dist/src/services/pipeline-status.js +4 -4
  81. package/dist/src/services/read-services.js +1 -1
  82. package/dist/src/services/session-service.js +6 -6
  83. package/dist/src/services/system-service.js +1 -1
  84. package/dist/src/transport/ws-broker.js +12 -1
  85. package/dist/src/transport/ws-handler.js +60 -0
  86. package/dist/src/transport/ws-methods/agents.js +144 -0
  87. package/dist/src/transport/ws-methods/artifacts.js +171 -0
  88. package/dist/src/transport/ws-methods/gateway.js +16 -0
  89. package/dist/src/transport/ws-methods/logs.js +43 -0
  90. package/dist/src/transport/ws-methods/pipeline-batch.js +68 -0
  91. package/dist/src/transport/ws-methods/pipeline-links.js +100 -0
  92. package/dist/src/transport/ws-methods/pipeline-queue.js +51 -0
  93. package/dist/src/transport/ws-methods/pipeline-runtime.js +151 -0
  94. package/dist/src/transport/ws-methods/pipeline-scheduler.js +48 -0
  95. package/dist/src/transport/ws-methods/pipeline-workflow.js +127 -0
  96. package/dist/src/transport/ws-methods/pipelines.js +56 -0
  97. package/dist/src/transport/ws-methods/register-all.js +32 -0
  98. package/dist/src/transport/ws-methods/sessions.js +154 -0
  99. package/dist/src/transport/ws-methods/timeline.js +10 -0
  100. package/dist/src/{server/routes/pipeline-identity.js → transport/ws-methods/utils.js} +14 -9
  101. package/dist/src/version.js +1 -1
  102. package/package.json +15 -7
  103. package/web/dist/assets/agent-DP6TMcLj.js +1 -0
  104. package/web/dist/assets/agent-DmJHzLyj.js +1 -0
  105. package/web/dist/assets/artifact-BqnoZy2M.js +1 -0
  106. package/web/dist/assets/artifact-DfDkgkno.js +1 -0
  107. package/web/dist/assets/common-DRMTVwE9.js +1 -0
  108. package/web/dist/assets/common-DeXccbr2.js +1 -0
  109. package/web/dist/assets/dispatch-CBskGCQI.js +1 -0
  110. package/web/dist/assets/dispatch-sk4Wp30e.js +1 -0
  111. package/web/dist/assets/index-C8wTjZvH.css +1 -0
  112. package/web/dist/assets/index-DYDQZRLk.js +58 -0
  113. package/web/dist/assets/log-DN8cjb0w.js +1 -0
  114. package/web/dist/assets/log-HSeA_dYy.js +1 -0
  115. package/web/dist/assets/modal-BdNai9jf.js +1 -0
  116. package/web/dist/assets/modal-D9_KDpFD.js +1 -0
  117. package/web/dist/assets/nav-BmF7oAKg.js +1 -0
  118. package/web/dist/assets/nav-IjC2xqXQ.js +1 -0
  119. package/web/dist/assets/node-detail-CENRXcrh.js +1 -0
  120. package/web/dist/assets/node-detail-bndPr0IM.js +1 -0
  121. package/web/dist/assets/overview-B87zWAxq.js +1 -0
  122. package/web/dist/assets/overview-gQvk-NOK.js +1 -0
  123. package/web/dist/assets/pipeline-D4dSJRDz.js +1 -0
  124. package/web/dist/assets/pipeline-DZzyOqQa.js +1 -0
  125. package/web/dist/assets/session-CUWvU14v.js +5 -0
  126. package/web/dist/assets/session-DQ6UuCaJ.js +5 -0
  127. package/web/dist/assets/timeline-8y_2_0Em.js +1 -0
  128. package/web/dist/assets/timeline-CAPsXUTC.js +1 -0
  129. package/web/dist/index.html +3 -3
  130. package/dist/src/app/pipeline-plugin-config.js +0 -2
  131. package/dist/src/server/api-handler.js +0 -163
  132. package/dist/src/server/http-utils.js +0 -34
  133. package/dist/src/server/middleware.js +0 -61
  134. package/dist/src/server/router.js +0 -105
  135. package/dist/src/server/routes/agents.js +0 -189
  136. package/dist/src/server/routes/artifacts.js +0 -163
  137. package/dist/src/server/routes/gateway.js +0 -18
  138. package/dist/src/server/routes/health.js +0 -16
  139. package/dist/src/server/routes/logs.js +0 -73
  140. package/dist/src/server/routes/pipeline-batch.js +0 -163
  141. package/dist/src/server/routes/pipeline-diagnostics.js +0 -33
  142. package/dist/src/server/routes/pipeline-links.js +0 -117
  143. package/dist/src/server/routes/pipeline-outputs.js +0 -27
  144. package/dist/src/server/routes/pipeline-queue.js +0 -62
  145. package/dist/src/server/routes/pipeline-runtime.js +0 -162
  146. package/dist/src/server/routes/pipeline-scheduler.js +0 -69
  147. package/dist/src/server/routes/pipeline-workflow.js +0 -180
  148. package/dist/src/server/routes/pipelines.js +0 -96
  149. package/dist/src/server/routes/sessions.js +0 -244
  150. package/dist/src/server/routes/timeline.js +0 -14
  151. package/dist/src/server/serve-static.js +0 -42
  152. package/web/dist/assets/index-CWnfhkn-.js +0 -65
  153. package/web/dist/assets/index-gZ0xOfSO.css +0 -1
  154. /package/dist/src/{server → transport/ws-methods}/types.js +0 -0
package/README.md CHANGED
@@ -1,176 +1,176 @@
1
- <p align="center">
2
- <strong>English</strong>
3
- &nbsp;·&nbsp;
4
- <a href="./README.zh-CN.md">简体中文</a>
5
- &nbsp;·&nbsp;
6
- <a href="https://taskmeld.com">Website</a>
7
- </p>
8
-
9
- <p align="center">
10
- <a href="https://www.npmjs.com/package/taskmeld"><img src="https://img.shields.io/npm/v/taskmeld.svg?style=flat-square&color=cb3837&labelColor=161b22&logo=npm&logoColor=white" alt="npm version"/></a>
11
- <a href="./package.json"><img src="https://img.shields.io/node/v/taskmeld.svg?style=flat-square&color=5fa04e&labelColor=161b22&logo=nodedotjs&logoColor=white" alt="node"/></a>
12
- </p>
13
-
14
- <br/>
15
-
16
- <h3 align="center">Agent Pipeline Orchestration Platform</h3>
17
- <p align="center">Compose OpenClaw agents into executable pipelines — define, run, observe, and iterate. File-based persistence, zero external database.</p>
18
-
19
- <br/>
20
-
21
- > [!TIP]
22
- > TaskMeld is the pipeline runtime for OpenClaw. OpenClaw handles agent execution; TaskMeld chains agents into DAG workflows with routing, retries, and artifact tracking.
23
-
24
- <br/>
25
-
26
- ## Prerequisites
27
-
28
- - Node ≥ 18
29
- - OpenClaw ≥ 5.20
30
- - Windows (macOS and Linux are not yet tested)
31
-
32
- ## Install
33
-
34
- ~~~bash
35
- npm install -g taskmeld
36
- ~~~
37
-
38
- <br/>
39
-
40
- ## Quick Start
41
-
42
- ~~~bash
43
- # Initialize — guided setup for OpenClaw Gateway connection
44
- taskmeld init
45
-
46
- # Start the backend daemon
47
- taskmeld server start
48
-
49
- # List available pipelines
50
- taskmeld pipeline list
51
-
52
- # Run a pipeline
53
- taskmeld pipeline start <pipelineId>
54
-
55
- # Watch a pipeline run in real time
56
- taskmeld pipeline watch <pipelineId>
57
- ~~~
58
-
59
- | Command | When |
60
- |---|---|
61
- | `taskmeld pipeline list` | See what pipelines are available |
62
- | `taskmeld pipeline start <id>` | Kick off a pipeline run |
63
- | `taskmeld pipeline watch <id>` | Follow a run live via WebSocket |
64
- | `taskmeld pipeline status <id>` | One-shot status snapshot |
65
- | `taskmeld pipeline stop <id>` | Stop a running pipeline |
66
- | `taskmeld pipeline retry-node <id> <node>` | Retry a failed node |
67
- | `taskmeld server start` | Start the backend daemon |
68
- | `taskmeld agent list` | List registered agents |
69
- | `taskmeld artifact list` | Browse pipeline artifacts |
70
-
71
- Full command reference: `taskmeld --help` or [CLI docs](docs/cli.md).
72
-
73
- <br/>
74
-
75
- ## Features
76
-
77
- - **DAG Pipeline Engine** — Node dependency graph, parallel groups, routing branches, per-node retry, state persistence
78
- - **CLI Tool** — Full lifecycle: list, run, status, stop, retry, watch (WebSocket streaming)
79
- - **HTTP + WebSocket API** — REST endpoints for control, WS broadcast for real-time observability
80
- - **Web Console** — React 19 dashboard with DAG visualization, agent sessions, artifact browser, log viewer
81
- - **Gateway Integration** — WebSocket client for OpenClaw Gateway auth, event relay, and agent session delegation
82
- - **File-based Persistence** — All state stored as JSON and log files under `~/.taskmeld/` (`TASKMELD_DATA_DIR` can override it); zero external database
83
-
84
- <br/>
85
-
86
- ## Architecture
87
-
88
- ```
89
- CLI (taskmeld) · Web Console (React)
90
- │ │
91
- HTTP API ─────── WS Broker
92
- │ │
93
- App Assembly (registry + runtime)
94
-
95
- Pipeline Engine (DAG · scheduler · state machine)
96
-
97
- Gateway Client (OpenClaw — auth, events, sessions)
98
- ```
99
-
100
- | Directory | Purpose |
101
- |-----------|---------|
102
- | `src/cli/` | CLI entry, routing, output rendering |
103
- | `src/pipeline/` | Pipeline engine (runtime, scheduler, execution, DAG) |
104
- | `src/server/` | HTTP API server + route modules |
105
- | `src/transport/` | WebSocket broadcast |
106
- | `src/gateway/` | External Gateway WebSocket client |
107
- | `src/services/` | Service layer (read/write facades) |
108
- | `src/app/` | Application assembly (registry, runtime, context) |
109
- | `src/artifacts/` | Artifact storage |
110
- | `src/logs/` | Timeline log storage |
111
- | `web/` | React management frontend |
112
-
113
- <br/>
114
-
115
- ## Development Status
116
-
117
- > [!WARNING]
118
- > TaskMeld is in its initial testing phase. Features are being built out incrementally, APIs may evolve between releases, and some surfaces are still rough. Production use is at your own discretion — we welcome early adopters and feedback.
119
-
120
- <br/>
121
-
122
- ## Roadmap
123
-
124
- ### Now
125
-
126
- - **Pipeline execution** — Node-driven: each node binds an OpenClaw agent. The CLI exposes a full command set that external agents can invoke programmatically (`pipeline list`, `pipeline start`, `pipeline status`, etc.).
127
- - **Agent management** — Primarily read-only (chat, edit core files like `agent.md` / `memory.md` / `soul.md`). Creating agents and configuring skills still requires switching to OpenClaw directly.
128
- - **Data storage** — File-based persistence (JSON + log files under `~/.taskmeld/` by default), zero external dependencies.
129
-
130
- ### Next
131
-
132
- - **Built-in autonomous agent** — A first-class runtime component that owns the full pipeline lifecycle: scheduling runs, creating and reviewing pipeline definitions, triaging failures, and curating artifacts. The goal is to move from *you operate the pipelines* to *the agent operates the pipelines, and you steer*.
133
- - **Agent lifecycle management** — Agent creation, skill configuration, and core file editing unified within TaskMeld, driven by the built-in agent — no more switching to OpenClaw.
134
- - **Database-backed storage** — Evolve from file-based persistence to a database storage layer, improving query performance, concurrent access, and scalability while keeping a zero-dependency path for single-node setups.
135
-
136
- <br/>
137
-
138
- ## Development
139
-
140
- ```bash
141
- npm install # Install dependencies
142
- npm run build # Build
143
- npm run typecheck # Type check only
144
- npm run lint # Lint
145
- npm test # Run tests
146
- npm run dev:web # Start frontend dev server (Vite HMR)
147
- ```
148
-
149
- | Layer | Technology |
150
- |-------|------------|
151
- | Language | TypeScript (strict, CommonJS) |
152
- | Runtime | Node.js |
153
- | Backend HTTP | Node.js built-in `http` |
154
- | WebSocket | `ws` |
155
- | Frontend | React 19 + Vite 7 |
156
- | CSS | Tailwind CSS 4 |
157
- | Testing | Vitest |
158
- | Linting | ESLint 9 |
159
-
160
- <br/>
161
-
162
- ## Documentation
163
-
164
- - [CLI Reference](docs/cli.md)
165
- - [Backend Architecture](docs/backend.md)
166
- - [Frontend Architecture](docs/web.md)
167
- - [Pipeline Engine](docs/pipeline/)
168
- - [Contributing](CONTRIBUTING.md)
169
-
170
- <br/>
171
-
172
- ---
173
-
174
- <p align="center">
175
- <sub>MIT — see <a href="./LICENSE">LICENSE</a></sub>
176
- </p>
1
+ <p align="center">
2
+ <strong>English</strong>
3
+ &nbsp;·&nbsp;
4
+ <a href="./README.zh-CN.md">简体中文</a>
5
+ &nbsp;·&nbsp;
6
+ <a href="https://taskmeld.com">Website</a>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/taskmeld"><img src="https://img.shields.io/npm/v/taskmeld.svg?style=flat-square&color=cb3837&labelColor=161b22&logo=npm&logoColor=white" alt="npm version"/></a>
11
+ <a href="./package.json"><img src="https://img.shields.io/node/v/taskmeld.svg?style=flat-square&color=5fa04e&labelColor=161b22&logo=nodedotjs&logoColor=white" alt="node"/></a>
12
+ </p>
13
+
14
+ <br/>
15
+
16
+ <h3 align="center">Agent Pipeline Orchestration Platform</h3>
17
+ <p align="center">Compose OpenClaw agents into executable pipelines — define, run, observe, and iterate. File-based persistence, zero external database.</p>
18
+
19
+ <br/>
20
+
21
+ > [!TIP]
22
+ > TaskMeld is the pipeline runtime for OpenClaw. OpenClaw handles agent execution; TaskMeld chains agents into DAG workflows with routing, retries, and artifact tracking.
23
+
24
+ <br/>
25
+
26
+ ## Prerequisites
27
+
28
+ - Node ≥ 18
29
+ - OpenClaw ≥ 5.20
30
+ - Windows (macOS and Linux are not yet tested)
31
+
32
+ ## Install
33
+
34
+ ~~~bash
35
+ npm install -g taskmeld
36
+ ~~~
37
+
38
+ <br/>
39
+
40
+ ## Quick Start
41
+
42
+ ~~~bash
43
+ # Initialize — guided setup for OpenClaw Gateway connection
44
+ taskmeld init
45
+
46
+ # Start the backend daemon
47
+ taskmeld server start
48
+
49
+ # List available pipelines
50
+ taskmeld pipeline list
51
+
52
+ # Run a pipeline
53
+ taskmeld pipeline start <pipelineId>
54
+
55
+ # Watch a pipeline run in real time
56
+ taskmeld pipeline watch <pipelineId>
57
+ ~~~
58
+
59
+ | Command | When |
60
+ |---|---|
61
+ | `taskmeld pipeline list` | See what pipelines are available |
62
+ | `taskmeld pipeline start <id>` | Kick off a pipeline run |
63
+ | `taskmeld pipeline watch <id>` | Follow a run live via WebSocket |
64
+ | `taskmeld pipeline status <id>` | One-shot status snapshot |
65
+ | `taskmeld pipeline stop <id>` | Stop a running pipeline |
66
+ | `taskmeld pipeline retry-node <id> <node>` | Retry a failed node |
67
+ | `taskmeld server start` | Start the backend daemon |
68
+ | `taskmeld agent list` | List registered agents |
69
+ | `taskmeld artifact list` | Browse pipeline artifacts |
70
+
71
+ Full command reference: `taskmeld --help` or [CLI docs](docs/cli.md).
72
+
73
+ <br/>
74
+
75
+ ## Features
76
+
77
+ - **DAG Pipeline Engine** — Node dependency graph, parallel groups, routing branches, per-node retry, state persistence
78
+ - **CLI Tool** — Full lifecycle: list, run, status, stop, retry, watch (WebSocket streaming)
79
+ - **WebSocket API** — Unified WS transport for control and real-time observability
80
+ - **Web Console** — React 19 dashboard with DAG visualization, agent sessions, artifact browser, log viewer
81
+ - **Gateway Integration** — WebSocket client for OpenClaw Gateway auth, event relay, and agent session delegation
82
+ - **File-based Persistence** — All state stored as JSON and log files under `~/.taskmeld/` (`TASKMELD_DATA_DIR` can override it); zero external database
83
+
84
+ <br/>
85
+
86
+ ## Architecture
87
+
88
+ ```
89
+ CLI (taskmeld) · Web Console (React)
90
+ │ │
91
+ WS RPC ─────── WS Broker
92
+ │ │
93
+ App Assembly (registry + runtime)
94
+
95
+ Pipeline Engine (DAG · scheduler · state machine)
96
+
97
+ Gateway Client (OpenClaw — auth, events, sessions)
98
+ ```
99
+
100
+ | Directory | Purpose |
101
+ |-----------|---------|
102
+ | `src/cli/` | CLI entry, routing, output rendering |
103
+ | `src/pipeline/` | Pipeline engine (runtime, scheduler, execution, DAG) |
104
+ | `src/server/` | HTTP server (health check + static files) |
105
+ | `src/transport/` | WebSocket transport (broadcast + RPC methods) |
106
+ | `src/gateway/` | External Gateway WebSocket client |
107
+ | `src/services/` | Service layer (read/write facades) |
108
+ | `src/app/` | Application assembly (registry, runtime, context) |
109
+ | `src/artifacts/` | Artifact storage |
110
+ | `src/logs/` | Timeline log storage |
111
+ | `web/` | React management frontend |
112
+
113
+ <br/>
114
+
115
+ ## Development Status
116
+
117
+ > [!WARNING]
118
+ > TaskMeld is in its initial testing phase. Features are being built out incrementally, APIs may evolve between releases, and some surfaces are still rough. Production use is at your own discretion — we welcome early adopters and feedback.
119
+
120
+ <br/>
121
+
122
+ ## Roadmap
123
+
124
+ ### Now
125
+
126
+ - **Pipeline execution** — Node-driven: each node binds an OpenClaw agent. The CLI exposes a full command set that external agents can invoke programmatically (`pipeline list`, `pipeline start`, `pipeline status`, etc.).
127
+ - **Agent management** — Primarily read-only (chat, edit core files like `agent.md` / `memory.md` / `soul.md`). Creating agents and configuring skills still requires switching to OpenClaw directly.
128
+ - **Data storage** — File-based persistence (JSON + log files under `~/.taskmeld/` by default), zero external dependencies.
129
+
130
+ ### Next
131
+
132
+ - **Built-in autonomous agent** — A first-class runtime component that owns the full pipeline lifecycle: scheduling runs, creating and reviewing pipeline definitions, triaging failures, and curating artifacts. The goal is to move from *you operate the pipelines* to *the agent operates the pipelines, and you steer*.
133
+ - **Agent lifecycle management** — Agent creation, skill configuration, and core file editing unified within TaskMeld, driven by the built-in agent — no more switching to OpenClaw.
134
+ - **Database-backed storage** — Evolve from file-based persistence to a database storage layer, improving query performance, concurrent access, and scalability while keeping a zero-dependency path for single-node setups.
135
+
136
+ <br/>
137
+
138
+ ## Development
139
+
140
+ ```bash
141
+ npm install # Install dependencies
142
+ npm run build # Build
143
+ npm run typecheck # Type check only
144
+ npm run lint # Lint
145
+ npm test # Run tests
146
+ npm run dev:web # Start frontend dev server (Vite HMR)
147
+ ```
148
+
149
+ | Layer | Technology |
150
+ |-------|------------|
151
+ | Language | TypeScript (strict, CommonJS) |
152
+ | Runtime | Node.js |
153
+ | Backend HTTP | Node.js built-in `http` |
154
+ | WebSocket | `ws` |
155
+ | Frontend | React 19 + Vite 7 |
156
+ | CSS | Tailwind CSS 4 |
157
+ | Testing | Vitest |
158
+ | Linting | ESLint 9 |
159
+
160
+ <br/>
161
+
162
+ ## Documentation
163
+
164
+ - [CLI Reference](docs/cli.md)
165
+ - [Backend Architecture](docs/backend.md)
166
+ - [Frontend Architecture](docs/web.md)
167
+ - [Pipeline Engine](docs/pipeline/)
168
+ - [Contributing](CONTRIBUTING.md)
169
+
170
+ <br/>
171
+
172
+ ---
173
+
174
+ <p align="center">
175
+ <sub>MIT — see <a href="./LICENSE">LICENSE</a></sub>
176
+ </p>