taskmeld 0.1.1 → 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 (155) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +176 -172
  3. package/README.zh-CN.md +176 -172
  4. package/dist/src/app/app-context-env.js +1 -1
  5. package/dist/src/app/create-app-context.js +3 -3
  6. package/dist/src/app/data-dir.js +13 -3
  7. package/dist/src/app/pipeline-config.js +4 -4
  8. package/dist/src/app/pipeline-registry.js +11 -11
  9. package/dist/src/app/pipeline-runtime.js +6 -9
  10. package/dist/src/app/runtime-store.js +3 -3
  11. package/dist/src/artifacts/artifact-cleanup.js +17 -17
  12. package/dist/src/artifacts/artifact-index.js +14 -14
  13. package/dist/src/artifacts/artifact-rebuilder.js +3 -3
  14. package/dist/src/artifacts/storage-service.js +18 -18
  15. package/dist/src/cli/bootstrap.js +7 -7
  16. package/dist/src/cli/commands/agent.js +12 -11
  17. package/dist/src/cli/commands/artifact.js +31 -30
  18. package/dist/src/cli/commands/init.js +49 -47
  19. package/dist/src/cli/commands/pipeline/result.js +9 -8
  20. package/dist/src/cli/commands/pipeline/selector.js +1 -1
  21. package/dist/src/cli/commands/pipeline/watch.js +2 -2
  22. package/dist/src/cli/commands/pipeline.js +54 -53
  23. package/dist/src/cli/commands/scheduler.js +9 -8
  24. package/dist/src/cli/commands/server.js +12 -11
  25. package/dist/src/cli/commands/system.js +4 -3
  26. package/dist/src/cli/errors.js +2 -2
  27. package/dist/src/cli/help.js +18 -17
  28. package/dist/src/cli/i18n.js +46 -0
  29. package/dist/src/cli/locales/en.json +244 -0
  30. package/dist/src/cli/locales/zh.json +244 -0
  31. package/dist/src/cli/output.js +3 -3
  32. package/dist/src/cli/renderers/engine/markdown.js +1 -1
  33. package/dist/src/cli/renderers/specs/index.js +1 -1
  34. package/dist/src/cli/router.js +1 -1
  35. package/dist/src/cli/server-runtime-client.js +54 -95
  36. package/dist/src/cli/ui-prompts.js +96 -0
  37. package/dist/src/cli/ws-runtime-client.js +51 -0
  38. package/dist/src/gateway/gateway-client.js +4 -4
  39. package/dist/src/index.js +28 -2
  40. package/dist/src/logs/run-log-reader.js +1 -1
  41. package/dist/src/pipeline/agent-activity.js +2 -2
  42. package/dist/src/pipeline/artifact-storage.js +11 -11
  43. package/dist/src/pipeline/diagnostics/dependency-diagnostic.js +11 -11
  44. package/dist/src/pipeline/dispatch/pipeline-inbound-queue.js +2 -2
  45. package/dist/src/pipeline/execution/group-item-executor.js +1 -1
  46. package/dist/src/pipeline/execution/node-item-executor.js +3 -3
  47. package/dist/src/pipeline/execution/node-runner.js +7 -7
  48. package/dist/src/pipeline/execution/readiness-state.js +1 -1
  49. package/dist/src/pipeline/execution/reject-handler.js +5 -5
  50. package/dist/src/pipeline/execution/rejected-artifact-archiver.js +1 -1
  51. package/dist/src/pipeline/execution/route-item-manager.js +4 -4
  52. package/dist/src/pipeline/execution/run-abort-controller.js +5 -5
  53. package/dist/src/pipeline/execution/run-state-helpers.js +2 -2
  54. package/dist/src/pipeline/execution/service.js +4 -4
  55. package/dist/src/pipeline/execution/structured-node-runner.js +24 -24
  56. package/dist/src/pipeline/execution-timeout.js +3 -3
  57. package/dist/src/pipeline/identity/index.js +3 -3
  58. package/dist/src/pipeline/item-batch-controller.js +6 -6
  59. package/dist/src/pipeline/scheduler/dependency-state.js +5 -5
  60. package/dist/src/pipeline/scheduler-service.js +24 -24
  61. package/dist/src/pipeline/state-machine.js +2 -2
  62. package/dist/src/pipeline/structured-output/contract.js +4 -4
  63. package/dist/src/pipeline/structured-output/index.js +2 -2
  64. package/dist/src/pipeline/structured-output/parser.js +5 -5
  65. package/dist/src/pipeline/structured-output/prompt.js +38 -38
  66. package/dist/src/pipeline/structured-output/waiter.js +6 -6
  67. package/dist/src/pipeline/template.js +5 -5
  68. package/dist/src/pipeline/timeline-log-store.js +5 -5
  69. package/dist/src/pipeline/tool-activity.js +3 -3
  70. package/dist/src/pipeline/types/pipeline-output.js +1 -1
  71. package/dist/src/pipeline/workflow/branch-rules.js +19 -19
  72. package/dist/src/pipeline/workflow/io.js +1 -1
  73. package/dist/src/pipeline/workflow/normalize.js +18 -18
  74. package/dist/src/pipeline/workflow/template-mapper.js +3 -3
  75. package/dist/src/pipeline/workflow/validate.js +39 -39
  76. package/dist/src/pipeline/workflow-graph.js +10 -10
  77. package/dist/src/server/http-handler.js +74 -0
  78. package/dist/src/services/agent-service.js +2 -2
  79. package/dist/src/services/gateway-read-helpers.js +1 -1
  80. package/dist/src/services/pipeline-service.js +19 -19
  81. package/dist/src/services/pipeline-status.js +4 -4
  82. package/dist/src/services/read-services.js +1 -1
  83. package/dist/src/services/session-service.js +6 -6
  84. package/dist/src/services/system-service.js +1 -1
  85. package/dist/src/transport/ws-broker.js +12 -1
  86. package/dist/src/transport/ws-handler.js +60 -0
  87. package/dist/src/transport/ws-methods/agents.js +144 -0
  88. package/dist/src/transport/ws-methods/artifacts.js +171 -0
  89. package/dist/src/transport/ws-methods/gateway.js +16 -0
  90. package/dist/src/transport/ws-methods/logs.js +43 -0
  91. package/dist/src/transport/ws-methods/pipeline-batch.js +68 -0
  92. package/dist/src/transport/ws-methods/pipeline-links.js +100 -0
  93. package/dist/src/transport/ws-methods/pipeline-queue.js +51 -0
  94. package/dist/src/transport/ws-methods/pipeline-runtime.js +151 -0
  95. package/dist/src/transport/ws-methods/pipeline-scheduler.js +48 -0
  96. package/dist/src/transport/ws-methods/pipeline-workflow.js +127 -0
  97. package/dist/src/transport/ws-methods/pipelines.js +56 -0
  98. package/dist/src/transport/ws-methods/register-all.js +32 -0
  99. package/dist/src/transport/ws-methods/sessions.js +154 -0
  100. package/dist/src/transport/ws-methods/timeline.js +10 -0
  101. package/dist/src/{server/routes/pipeline-identity.js → transport/ws-methods/utils.js} +14 -9
  102. package/dist/src/version.js +1 -1
  103. package/package.json +16 -7
  104. package/web/dist/assets/agent-DP6TMcLj.js +1 -0
  105. package/web/dist/assets/agent-DmJHzLyj.js +1 -0
  106. package/web/dist/assets/artifact-BqnoZy2M.js +1 -0
  107. package/web/dist/assets/artifact-DfDkgkno.js +1 -0
  108. package/web/dist/assets/common-DRMTVwE9.js +1 -0
  109. package/web/dist/assets/common-DeXccbr2.js +1 -0
  110. package/web/dist/assets/dispatch-CBskGCQI.js +1 -0
  111. package/web/dist/assets/dispatch-sk4Wp30e.js +1 -0
  112. package/web/dist/assets/index-C8wTjZvH.css +1 -0
  113. package/web/dist/assets/index-DYDQZRLk.js +58 -0
  114. package/web/dist/assets/log-DN8cjb0w.js +1 -0
  115. package/web/dist/assets/log-HSeA_dYy.js +1 -0
  116. package/web/dist/assets/modal-BdNai9jf.js +1 -0
  117. package/web/dist/assets/modal-D9_KDpFD.js +1 -0
  118. package/web/dist/assets/nav-BmF7oAKg.js +1 -0
  119. package/web/dist/assets/nav-IjC2xqXQ.js +1 -0
  120. package/web/dist/assets/node-detail-CENRXcrh.js +1 -0
  121. package/web/dist/assets/node-detail-bndPr0IM.js +1 -0
  122. package/web/dist/assets/overview-B87zWAxq.js +1 -0
  123. package/web/dist/assets/overview-gQvk-NOK.js +1 -0
  124. package/web/dist/assets/pipeline-D4dSJRDz.js +1 -0
  125. package/web/dist/assets/pipeline-DZzyOqQa.js +1 -0
  126. package/web/dist/assets/session-CUWvU14v.js +5 -0
  127. package/web/dist/assets/session-DQ6UuCaJ.js +5 -0
  128. package/web/dist/assets/timeline-8y_2_0Em.js +1 -0
  129. package/web/dist/assets/timeline-CAPsXUTC.js +1 -0
  130. package/web/dist/index.html +3 -3
  131. package/dist/src/app/pipeline-plugin-config.js +0 -2
  132. package/dist/src/server/api-handler.js +0 -163
  133. package/dist/src/server/http-utils.js +0 -34
  134. package/dist/src/server/middleware.js +0 -61
  135. package/dist/src/server/router.js +0 -105
  136. package/dist/src/server/routes/agents.js +0 -189
  137. package/dist/src/server/routes/artifacts.js +0 -163
  138. package/dist/src/server/routes/gateway.js +0 -18
  139. package/dist/src/server/routes/health.js +0 -16
  140. package/dist/src/server/routes/logs.js +0 -73
  141. package/dist/src/server/routes/pipeline-batch.js +0 -163
  142. package/dist/src/server/routes/pipeline-diagnostics.js +0 -33
  143. package/dist/src/server/routes/pipeline-links.js +0 -117
  144. package/dist/src/server/routes/pipeline-outputs.js +0 -27
  145. package/dist/src/server/routes/pipeline-queue.js +0 -62
  146. package/dist/src/server/routes/pipeline-runtime.js +0 -162
  147. package/dist/src/server/routes/pipeline-scheduler.js +0 -69
  148. package/dist/src/server/routes/pipeline-workflow.js +0 -180
  149. package/dist/src/server/routes/pipelines.js +0 -96
  150. package/dist/src/server/routes/sessions.js +0 -244
  151. package/dist/src/server/routes/timeline.js +0 -14
  152. package/dist/src/server/serve-static.js +0 -42
  153. package/web/dist/assets/index-CWnfhkn-.js +0 -65
  154. package/web/dist/assets/index-gZ0xOfSO.css +0 -1
  155. /package/dist/src/{server → transport/ws-methods}/types.js +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 TaskMeld
3
+ Copyright (c) 2026 TaskMeld
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
6
  associated documentation files (the "Software"), to deal in the Software without restriction, including
package/README.md CHANGED
@@ -1,172 +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="./LICENSE"><img src="https://img.shields.io/npm/l/taskmeld.svg?style=flat-square&color=8b949e&labelColor=161b22" alt="license"/></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
- ## Install
27
-
28
- Requires Node ≥ 18. Works on macOS · Linux · Windows.
29
-
30
- ~~~bash
31
- npm install -g taskmeld
32
- ~~~
33
-
34
- <br/>
35
-
36
- ## Quick Start
37
-
38
- ~~~bash
39
- # Initialize — guided setup for OpenClaw Gateway connection
40
- taskmeld init
41
-
42
- # Start the backend daemon
43
- taskmeld server start
44
-
45
- # List available pipelines
46
- taskmeld pipeline list
47
-
48
- # Run a pipeline
49
- taskmeld pipeline start <pipelineId>
50
-
51
- # Watch a pipeline run in real time
52
- taskmeld pipeline watch <pipelineId>
53
- ~~~
54
-
55
- | Command | When |
56
- |---|---|
57
- | `taskmeld pipeline list` | See what pipelines are available |
58
- | `taskmeld pipeline start <id>` | Kick off a pipeline run |
59
- | `taskmeld pipeline watch <id>` | Follow a run live via WebSocket |
60
- | `taskmeld pipeline status <id>` | One-shot status snapshot |
61
- | `taskmeld pipeline stop <id>` | Stop a running pipeline |
62
- | `taskmeld pipeline retry-node <id> <node>` | Retry a failed node |
63
- | `taskmeld server start` | Start the backend daemon |
64
- | `taskmeld agent list` | List registered agents |
65
- | `taskmeld artifact list` | Browse pipeline artifacts |
66
-
67
- Full command reference: `taskmeld --help` or [CLI docs](docs/cli.md).
68
-
69
- <br/>
70
-
71
- ## Features
72
-
73
- - **DAG Pipeline Engine** — Node dependency graph, parallel groups, routing branches, per-node retry, state persistence
74
- - **CLI Tool** — Full lifecycle: list, run, status, stop, retry, watch (WebSocket streaming)
75
- - **HTTP + WebSocket API** — REST endpoints for control, WS broadcast for real-time observability
76
- - **Web Console** — React 19 dashboard with DAG visualization, agent sessions, artifact browser, log viewer
77
- - **Gateway Integration** — WebSocket client for OpenClaw Gateway auth, event relay, and agent session delegation
78
- - **File-based Persistence** — All state stored as JSON and log files under `~/.taskmeld/` (`TASKMELD_DATA_DIR` can override it); zero external database
79
-
80
- <br/>
81
-
82
- ## Architecture
83
-
84
- ```
85
- CLI (taskmeld) · Web Console (React)
86
- │ │
87
- HTTP API ─────── WS Broker
88
- │ │
89
- App Assembly (registry + runtime)
90
-
91
- Pipeline Engine (DAG · scheduler · state machine)
92
-
93
- Gateway Client (OpenClaw auth, events, sessions)
94
- ```
95
-
96
- | Directory | Purpose |
97
- |-----------|---------|
98
- | `src/cli/` | CLI entry, routing, output rendering |
99
- | `src/pipeline/` | Pipeline engine (runtime, scheduler, execution, DAG) |
100
- | `src/server/` | HTTP API server + route modules |
101
- | `src/transport/` | WebSocket broadcast |
102
- | `src/gateway/` | External Gateway WebSocket client |
103
- | `src/services/` | Service layer (read/write facades) |
104
- | `src/app/` | Application assembly (registry, runtime, context) |
105
- | `src/artifacts/` | Artifact storage |
106
- | `src/logs/` | Timeline log storage |
107
- | `web/` | React management frontend |
108
-
109
- <br/>
110
-
111
- ## Development Status
112
-
113
- > [!WARNING]
114
- > 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.
115
-
116
- <br/>
117
-
118
- ## Roadmap
119
-
120
- ### Now
121
-
122
- - **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.).
123
- - **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.
124
- - **Data storage** — File-based persistence (JSON + log files under `~/.taskmeld/` by default), zero external dependencies.
125
-
126
- ### Next
127
-
128
- - **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*.
129
- - **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.
130
- - **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.
131
-
132
- <br/>
133
-
134
- ## Development
135
-
136
- ```bash
137
- npm install # Install dependencies
138
- npm run build # Build
139
- npm run typecheck # Type check only
140
- npm run lint # Lint
141
- npm test # Run tests
142
- npm run dev:web # Start frontend dev server (Vite HMR)
143
- ```
144
-
145
- | Layer | Technology |
146
- |-------|------------|
147
- | Language | TypeScript (strict, CommonJS) |
148
- | Runtime | Node.js |
149
- | Backend HTTP | Node.js built-in `http` |
150
- | WebSocket | `ws` |
151
- | Frontend | React 19 + Vite 7 |
152
- | CSS | Tailwind CSS 4 |
153
- | Testing | Vitest |
154
- | Linting | ESLint 9 |
155
-
156
- <br/>
157
-
158
- ## Documentation
159
-
160
- - [CLI Reference](docs/cli.md)
161
- - [Backend Architecture](docs/backend.md)
162
- - [Frontend Architecture](docs/web.md)
163
- - [Pipeline Engine](docs/pipeline/)
164
- - [Contributing](CONTRIBUTING.md)
165
-
166
- <br/>
167
-
168
- ---
169
-
170
- <p align="center">
171
- <sub>MIT — see <a href="./LICENSE">LICENSE</a></sub>
172
- </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>