@loom-framework/core 0.1.0-alpha.171 → 0.1.0-alpha.173
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/builtin-skills/app-skill/references/process-builder.md +33 -0
- package/builtin-skills/app-skill/references/process.md +33 -0
- package/builtin-skills/loom/SKILL.md +50 -5
- package/builtin-skills/loom/references/data-model.md +3 -2
- package/dist/backend/index.d.ts +4 -0
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/backend/index.js +44 -4
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/lifecycle/index.d.ts +2 -0
- package/dist/backend/lifecycle/index.d.ts.map +1 -0
- package/dist/backend/lifecycle/index.js +2 -0
- package/dist/backend/lifecycle/index.js.map +1 -0
- package/dist/backend/lifecycle/manager.d.ts +50 -0
- package/dist/backend/lifecycle/manager.d.ts.map +1 -0
- package/dist/backend/lifecycle/manager.js +478 -0
- package/dist/backend/lifecycle/manager.js.map +1 -0
- package/dist/backend/process/engine.d.ts +1 -1
- package/dist/backend/process/engine.d.ts.map +1 -1
- package/dist/backend/process/engine.js.map +1 -1
- package/dist/backend/process/registry.d.ts +1 -1
- package/dist/backend/process/registry.d.ts.map +1 -1
- package/dist/backend/process/registry.js.map +1 -1
- package/dist/backend/routes/index.d.ts +2 -0
- package/dist/backend/routes/index.d.ts.map +1 -1
- package/dist/backend/routes/index.js +1 -0
- package/dist/backend/routes/index.js.map +1 -1
- package/dist/backend/routes/lifecycle-routes.d.ts +10 -0
- package/dist/backend/routes/lifecycle-routes.d.ts.map +1 -0
- package/dist/backend/routes/lifecycle-routes.js +54 -0
- package/dist/backend/routes/lifecycle-routes.js.map +1 -0
- package/dist/backend/routes/process-routes.d.ts +2 -0
- package/dist/backend/routes/process-routes.d.ts.map +1 -1
- package/dist/backend/routes/process-routes.js +50 -3
- package/dist/backend/routes/process-routes.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +18 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +15 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/lifecycle.d.ts +8 -0
- package/dist/cli/commands/lifecycle.d.ts.map +1 -0
- package/dist/cli/commands/lifecycle.js +167 -0
- package/dist/cli/commands/lifecycle.js.map +1 -0
- package/dist/cli/commands/process.d.ts.map +1 -1
- package/dist/cli/commands/process.js +17 -0
- package/dist/cli/commands/process.js.map +1 -1
- package/dist/cli/commands/serve.js +2 -2
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates/login-page.d.ts +1 -1
- package/dist/cli/templates/login-page.js +1 -1
- package/dist/cli/templates/loom-config.d.ts +2 -0
- package/dist/cli/templates/loom-config.d.ts.map +1 -1
- package/dist/cli/templates/loom-config.js +7 -0
- package/dist/cli/templates/loom-config.js.map +1 -1
- package/dist/cli/templates/model-management-page.d.ts +1 -1
- package/dist/cli/templates/model-management-page.js +1 -1
- package/dist/cli/templates/notification-center-page.d.ts +1 -1
- package/dist/cli/templates/notification-center-page.js +1 -1
- package/dist/cli/templates/notification-detail-page.d.ts +1 -1
- package/dist/cli/templates/notification-detail-page.js +1 -1
- package/dist/cli/templates/process-management-page.d.ts +1 -1
- package/dist/cli/templates/process-management-page.js +1 -1
- package/dist/cli/templates/skill-management-page.d.ts +1 -1
- package/dist/cli/templates/skill-management-page.js +1 -1
- package/dist/cli/templates/user-management-page.d.ts +1 -1
- package/dist/cli/templates/user-management-page.js +1 -1
- package/dist/cli/templates/vite-config.d.ts +5 -1
- package/dist/cli/templates/vite-config.d.ts.map +1 -1
- package/dist/cli/templates/vite-config.js +5 -3
- package/dist/cli/templates/vite-config.js.map +1 -1
- package/dist/config.d.ts +229 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +36 -2
- package/dist/config.js.map +1 -1
- package/dist/types/config.d.ts +5 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lifecycle.d.ts +57 -0
- package/dist/types/lifecycle.d.ts.map +1 -0
- package/dist/types/lifecycle.js +10 -0
- package/dist/types/lifecycle.js.map +1 -0
- package/dist/types/process.d.ts +25 -0
- package/dist/types/process.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ Identify:
|
|
|
35
35
|
| Periodic schedule | `--cron` | `0 9 * * 1-5` (weekdays 9am) |
|
|
36
36
|
| On data change | `--on-event` | `data:create:tasks` |
|
|
37
37
|
| On user action | `--on-event` | `user:created` |
|
|
38
|
+
| External data source | `--source` | `--source "bash feeders/my-feeder.sh"` |
|
|
38
39
|
| Manual only | Neither | Just `loom process run` |
|
|
39
40
|
|
|
40
41
|
### 3. Create the Process
|
|
@@ -78,6 +79,38 @@ loom process add --name "weekly-report" \
|
|
|
78
79
|
loom process metrics-set-view-config weekly-report --config @./view-config.json
|
|
79
80
|
```
|
|
80
81
|
|
|
82
|
+
### Event-triggered process with Feeder source
|
|
83
|
+
|
|
84
|
+
When the process needs a persistent data source (e.g., DingTalk messages, webhooks), use `--source` to declare a Feeder script:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Step 1: Generate scaffold (if full mode)
|
|
88
|
+
loom process generate ingest --description "AI semantic router for incoming messages"
|
|
89
|
+
|
|
90
|
+
# Step 2: Edit PROCESS.md with routing logic
|
|
91
|
+
# ...
|
|
92
|
+
|
|
93
|
+
# Step 3: Register with Feeder source
|
|
94
|
+
loom process add --name "ingest" \
|
|
95
|
+
--on-event "dingtalk:mention" \
|
|
96
|
+
--source "bash examples/feeders/dingtalk-mention.sh" \
|
|
97
|
+
--process "ingest" \
|
|
98
|
+
--owner admin
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**When to use `--source`:**
|
|
102
|
+
- Process needs a persistent external data source (DingTalk, Git webhook, scanner, etc.)
|
|
103
|
+
- The Feeder should run as long as the Loom instance is running
|
|
104
|
+
- You want auto-restart and backoff for the Feeder
|
|
105
|
+
|
|
106
|
+
**Feeder script requirements:**
|
|
107
|
+
- Trap SIGTERM/SIGINT and exit 0 for graceful shutdown
|
|
108
|
+
- Use `$LOOM_SERVER_URL` instead of hardcoded URLs
|
|
109
|
+
- Exit code 0 = normal stop (no restart); non-zero = crash (auto-restart)
|
|
110
|
+
- Write data to `POST $LOOM_SERVER_URL/api/v1/events/notify`
|
|
111
|
+
|
|
112
|
+
**Cleanup:** Removing the process with `loom process remove` automatically stops the Feeder if no other process subscribes to the same event pattern.
|
|
113
|
+
|
|
81
114
|
### 4. Verify
|
|
82
115
|
|
|
83
116
|
```bash
|
|
@@ -54,6 +54,7 @@ loom process add --name "health-check" \
|
|
|
54
54
|
| `--owner` | No | Owner username (default: from processes config) |
|
|
55
55
|
| `--owner-token` | No | Direct JWT token (bypasses runtime resolution) |
|
|
56
56
|
| `--metrics-config` | No | Path to metrics DashboardWidget config JSON |
|
|
57
|
+
| `--source` | No | Feeder script command (auto-registers lifecycle script + event subscription) |
|
|
57
58
|
| `--token` | No | Auth token (or set LOOM_TOKEN) |
|
|
58
59
|
| `--server` | No | Server URL (or set LOOM_SERVER, default: http://localhost:3000) |
|
|
59
60
|
|
|
@@ -265,6 +266,38 @@ user:created — When a user is created
|
|
|
265
266
|
process:completed:xxx — When process xxx completes
|
|
266
267
|
```
|
|
267
268
|
|
|
269
|
+
### Source (Feeder)
|
|
270
|
+
When a process needs a persistent external data source, use `--source` to declare a Feeder script. The script starts when the Loom instance becomes ready and stops when the instance shuts down.
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
loom process add --name ingest \
|
|
274
|
+
--on-event "dingtalk:mention" \
|
|
275
|
+
--source "bash examples/feeders/dingtalk-mention.sh" \
|
|
276
|
+
--process "ingest" \
|
|
277
|
+
--owner admin
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
This single command:
|
|
281
|
+
1. Registers the Process definition with a `source` field
|
|
282
|
+
2. Auto-starts the Feeder via LifecycleManager
|
|
283
|
+
3. Auto-registers the event subscription if not already present
|
|
284
|
+
|
|
285
|
+
Removing the process with `loom process remove` automatically cleans up the Feeder if no other process subscribes to the same event pattern.
|
|
286
|
+
|
|
287
|
+
**Feeder script contract:**
|
|
288
|
+
- Trap SIGTERM/SIGINT and exit with code 0 for graceful shutdown
|
|
289
|
+
- Use `$LOOM_SERVER_URL` instead of hardcoded URLs
|
|
290
|
+
- Exit code 0 = normal (no restart); non-zero = crash (auto-restart with backoff)
|
|
291
|
+
- One script instance per name
|
|
292
|
+
|
|
293
|
+
**Lifecycle event patterns:**
|
|
294
|
+
| Pattern | When |
|
|
295
|
+
|---------|------|
|
|
296
|
+
| `lifecycle:started:{name}` | Feeder script started |
|
|
297
|
+
| `lifecycle:failed:{name}` | Feeder script exited abnormally |
|
|
298
|
+
| `lifecycle:circuit_open:{name}` | Feeder reached max restarts |
|
|
299
|
+
| `lifecycle:restart:{name}` | Feeder restarting with backoff |
|
|
300
|
+
|
|
268
301
|
### Manual
|
|
269
302
|
`loom process run <name>` — immediate execution, works even when paused.
|
|
270
303
|
|
|
@@ -32,9 +32,19 @@ Loom 是**配置驱动的 AI 平台开发框架**——你描述需求,AI 通
|
|
|
32
32
|
### 1. 创建项目
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
npx -p @loom-framework/core loom init <name> --description <desc> --adapter <filesystem|sqlite>
|
|
35
|
+
npx -p @loom-framework/core loom init <name> --description <desc> --adapter <filesystem|sqlite> --backend-port <backend-port> --frontend-port <frontend-port>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
**多实例并行**:每个 Loom 实例同时占用**后端端口**(Fastify)和**前端端口**(Vite dev server)。建议后端从 :3000 起自增,前端从 :5173 起自增,相邻实例使用连续端口方便管理:
|
|
39
|
+
|
|
40
|
+
| 实例 | 后端端口 | 前端端口 |
|
|
41
|
+
|------|---------|---------|
|
|
42
|
+
| my-app | 3000 | 5173 |
|
|
43
|
+
| my-app-2 | 3001 | 5174 |
|
|
44
|
+
| my-app-3 | 3002 | 5175 |
|
|
45
|
+
|
|
46
|
+
`loom init` 时**必须显式指定两个端口**。如果启动时报 `EADDRINUSE`,说明端口被占用,请换端口重新 `init`。
|
|
47
|
+
|
|
38
48
|
项目初始化时自动生成系统管理页面(模型管理、技能管理、用户管理、过程管理、通知中心),并以子菜单形式接入导航。同时自动安装以下内置 Skill:
|
|
39
49
|
|
|
40
50
|
| Skill | 触发场景 | 说明 |
|
|
@@ -123,11 +133,20 @@ loom generate capabilities
|
|
|
123
133
|
### 6. 启动开发
|
|
124
134
|
|
|
125
135
|
```bash
|
|
126
|
-
loom dev
|
|
136
|
+
loom dev # 启动前后端
|
|
137
|
+
loom dev --backend-only # 只启动后端
|
|
138
|
+
loom dev --frontend-only # 只启动前端
|
|
139
|
+
loom dev --frontend-port 8080 # 临时覆盖前端端口
|
|
127
140
|
```
|
|
128
141
|
|
|
129
|
-
-
|
|
130
|
-
-
|
|
142
|
+
- **前端端口**:由 `loom.config.ts` 的 `server.frontendPort` 决定。`loom init` 时自动根据 `--frontend-port` 写入,`loom dev` 无需再传端口
|
|
143
|
+
- **后端端口**:由 `loom.config.ts` 的 `server.backendPort` 决定。后端启动时自动读取
|
|
144
|
+
- `--frontend-port`:作为 Vite CLI `--port` 参数传入,**临时覆盖**配置文件中的值
|
|
145
|
+
|
|
146
|
+
**多实例并行开发**:每个实例独立运行前后端,端口互不冲突。例如:
|
|
147
|
+
- my-app:后端 `:3000` + 前端 `:5173`
|
|
148
|
+
- my-app-2:后端 `:3001` + 前端 `:5174`
|
|
149
|
+
- my-app-3:后端 `:3002` + 前端 `:5175`
|
|
131
150
|
|
|
132
151
|
### 迭代:修改配置后的处理
|
|
133
152
|
|
|
@@ -167,7 +186,7 @@ loom generate page <Name> --model <model-name> --force
|
|
|
167
186
|
|
|
168
187
|
| 命令 | 说明 |
|
|
169
188
|
|------|------|
|
|
170
|
-
| `loom dev` | 启动开发环境(`--backend-only` `--frontend-only`) |
|
|
189
|
+
| `loom dev` | 启动开发环境(`--backend-only` `--frontend-only` `--frontend-port`) |
|
|
171
190
|
| `loom build` | 生产构建 |
|
|
172
191
|
| `loom generate page <name> --model <model>` | 生成 CRUD 页面(含 aiButtons 则自动集成 AI 按钮) |
|
|
173
192
|
| `loom generate page <name> --model <model> --force` | 重建页面(默认方式,自动备份旧文件到 `.loom/backup/`) |
|
|
@@ -278,6 +297,31 @@ export default defineConfig({
|
|
|
278
297
|
defaultOwner: 'admin', // 必填:默认执行者
|
|
279
298
|
executionTimeout: '30m', // 可选:执行超时(默认 30m)
|
|
280
299
|
},
|
|
300
|
+
lifecycle: { // 可选:生命周期脚本管理(Feeder 自动拉起等)
|
|
301
|
+
enabled: true, // 可选,是否启用(默认 true)
|
|
302
|
+
onReady: [ // 服务器就绪后启动的脚本列表
|
|
303
|
+
{
|
|
304
|
+
name: 'my-feeder', // 必填:唯一标识
|
|
305
|
+
command: 'bash examples/feeders/my-feeder.sh', // 必填:执行命令
|
|
306
|
+
env: {}, // 可选:环境变量
|
|
307
|
+
restart: true, // 可选:异常退出是否重启(默认 true)
|
|
308
|
+
maxRestarts: 5, // 可选:重启窗口内最大重启次数(默认 5)
|
|
309
|
+
backoffInitialMs: 1000, // 可选:初始退避延迟毫秒(默认 1000)
|
|
310
|
+
backoffMaxMs: 30000, // 可选:最大退避延迟毫秒(默认 30000)
|
|
311
|
+
backoffMultiplier: 2.0, // 可选:退避乘数(默认 2.0)
|
|
312
|
+
memoryLimitMb: 512, // 可选:内存限制 MB(默认 512)
|
|
313
|
+
shutdownTimeoutMs: 5000, // 可选:优雅关闭等待毫秒(默认 5000)
|
|
314
|
+
enabled: true, // 可选:是否启用(默认 true)
|
|
315
|
+
},
|
|
316
|
+
],
|
|
317
|
+
},
|
|
318
|
+
// 此配置通常由 `loom process add --source` 自动生成,不需要手动编辑
|
|
319
|
+
server: { // 可选:服务器配置
|
|
320
|
+
backendPort: 3000, // 后端 API 端口
|
|
321
|
+
frontendPort: 5173, // 前端 Vite dev server 端口
|
|
322
|
+
host: '127.0.0.1', // 监听地址(仅本地,如需外部访问改为 '0.0.0.0')
|
|
323
|
+
cors: true, // 是否启用 CORS
|
|
324
|
+
},
|
|
281
325
|
});
|
|
282
326
|
```
|
|
283
327
|
|
|
@@ -305,4 +349,5 @@ AI 相关:`POST /api/v1/chat`(SSE 流式对话)、`GET /api/v1/sessions`
|
|
|
305
349
|
## 常见问题
|
|
306
350
|
|
|
307
351
|
- **better-sqlite3 加载失败**:Node.js 版本缺少预编译包。修复:(1) `cd node_modules/better-sqlite3 && npx node-gyp rebuild`,或 (2) 将 `defaultAdapter` 改为 `'filesystem'`
|
|
352
|
+
- **端口冲突(EADDRINUSE)**:启动 `loom dev` 时如果端口已被占用,Node.js 会抛出 `EADDRINUSE` 错误。解决方式:换端口重新执行 `loom init <name> --backend-port <new-port> --frontend-port <new-frontend-port>`。
|
|
308
353
|
- **`loom` 命令报错 "No loom.config.ts found"**:在项目目录下运行命令
|
|
@@ -111,8 +111,9 @@ Models can be managed via the Model Management page (System Settings → Model M
|
|
|
111
111
|
|
|
112
112
|
```typescript
|
|
113
113
|
server: {
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
backendPort: 3000, // default 3000
|
|
115
|
+
frontendPort: 5173, // default 5173
|
|
116
|
+
host: '127.0.0.1', // default 127.0.0.1 (local only)
|
|
116
117
|
cors: true, // default true
|
|
117
118
|
staticDir: './dist/frontend',
|
|
118
119
|
}
|
package/dist/backend/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { TokenStore } from './auth/token-store.js';
|
|
|
16
16
|
import { EventBus } from './events/event-bus.js';
|
|
17
17
|
import { EventRegistry } from './events/event-registry.js';
|
|
18
18
|
import { ProcessEngine } from './process/engine.js';
|
|
19
|
+
import { LifecycleManager } from './lifecycle/index.js';
|
|
19
20
|
import { NotificationStorage } from './notifications/notification-storage.js';
|
|
20
21
|
export interface LoomServerOptions {
|
|
21
22
|
/** Project root directory containing loom.config.ts */
|
|
@@ -41,6 +42,7 @@ export declare class LoomServer {
|
|
|
41
42
|
private eventBus?;
|
|
42
43
|
private eventRegistry?;
|
|
43
44
|
private processEngine?;
|
|
45
|
+
private lifecycleManager?;
|
|
44
46
|
private notificationStorage?;
|
|
45
47
|
private projectRoot;
|
|
46
48
|
private options;
|
|
@@ -73,6 +75,8 @@ export declare class LoomServer {
|
|
|
73
75
|
getEventRegistry(): EventRegistry | undefined;
|
|
74
76
|
/** Expose process engine for testing */
|
|
75
77
|
getProcessEngine(): ProcessEngine | undefined;
|
|
78
|
+
/** Expose lifecycle manager for testing */
|
|
79
|
+
getLifecycleManager(): LifecycleManager | undefined;
|
|
76
80
|
/** Expose notification storage for testing */
|
|
77
81
|
getNotificationStorage(): NotificationStorage | undefined;
|
|
78
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAK9E,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,kEAAkE;IAClE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,EAAE,iBAAiB;IAKtC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAK9E,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,kEAAkE;IAClE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,EAAE,iBAAiB;IAKtC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgVjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,0CAA0C;IAC1C,UAAU,IAAI,UAAU,CAAC,OAAO,OAAO,CAAC;IAIxC,gCAAgC;IAChC,SAAS,IAAI,UAAU;IAIvB,iCAAiC;IACjC,UAAU,IAAI,WAAW;IAIzB,oCAAoC;IACpC,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC,qCAAqC;IACrC,aAAa,IAAI,UAAU,GAAG,SAAS;IAIvC,mCAAmC;IACnC,WAAW,IAAI,QAAQ,GAAG,SAAS;IAInC,wCAAwC;IACxC,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C,wCAAwC;IACxC,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C,2CAA2C;IAC3C,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD,8CAA8C;IAC9C,sBAAsB,IAAI,mBAAmB,GAAG,SAAS;IAIzD;;;OAGG;YACW,WAAW;CAqB1B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAK1E"}
|
package/dist/backend/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import { createAdapter } from '../adapters/factory.js';
|
|
|
16
16
|
import { ClaudeCodeEngine } from './ai/engine.js';
|
|
17
17
|
import { SessionManager } from './ai/session-manager.js';
|
|
18
18
|
import { AIInteractionLogger } from './observe/index.js';
|
|
19
|
-
import { registerDataRoutes, registerHealthRoute, registerUploadRoutes, registerChatRoutes, registerSkillRoutes, registerAIConfigRoutes, registerAuthRoutes, registerEventRoutes, registerProcessRoutes, registerNotificationRoutes } from './routes/index.js';
|
|
19
|
+
import { registerDataRoutes, registerHealthRoute, registerUploadRoutes, registerChatRoutes, registerSkillRoutes, registerAIConfigRoutes, registerAuthRoutes, registerEventRoutes, registerProcessRoutes, registerNotificationRoutes, registerLifecycleRoutes } from './routes/index.js';
|
|
20
20
|
import { createAuthMiddleware } from './auth/rbac.js';
|
|
21
21
|
import { issueServiceToken } from './auth/service-token.js';
|
|
22
22
|
import { UserStore } from './auth/user-store.js';
|
|
@@ -26,6 +26,7 @@ import { EventBus } from './events/event-bus.js';
|
|
|
26
26
|
import { EventEmittingAdapter } from './events/event-emitting-adapter.js';
|
|
27
27
|
import { EventRegistry } from './events/event-registry.js';
|
|
28
28
|
import { ProcessEngine } from './process/engine.js';
|
|
29
|
+
import { LifecycleManager } from './lifecycle/index.js';
|
|
29
30
|
import { NotificationStorage } from './notifications/notification-storage.js';
|
|
30
31
|
import { interpolate } from './notifications/interpolate.js';
|
|
31
32
|
import { LoomPaths } from './loom-paths.js';
|
|
@@ -41,6 +42,7 @@ export class LoomServer {
|
|
|
41
42
|
eventBus;
|
|
42
43
|
eventRegistry;
|
|
43
44
|
processEngine;
|
|
45
|
+
lifecycleManager;
|
|
44
46
|
notificationStorage;
|
|
45
47
|
projectRoot;
|
|
46
48
|
options;
|
|
@@ -215,6 +217,21 @@ export class LoomServer {
|
|
|
215
217
|
if (this.eventBus) {
|
|
216
218
|
registerEventRoutes(this.fastify, { eventBus: this.eventBus, eventRegistry: this.eventRegistry });
|
|
217
219
|
}
|
|
220
|
+
// Initialize LifecycleManager (only when lifecycle config exists and not explicitly disabled)
|
|
221
|
+
// Created before ProcessEngine so that it can be passed to process routes
|
|
222
|
+
if (this.config.lifecycle && this.config.lifecycle.enabled !== false) {
|
|
223
|
+
this.lifecycleManager = new LifecycleManager(this.config.lifecycle, this.eventBus, this.projectRoot, this.config.server?.backendPort || 3000);
|
|
224
|
+
registerLifecycleRoutes(this.fastify, { manager: this.lifecycleManager });
|
|
225
|
+
// Register lifecycle event patterns for discoverability
|
|
226
|
+
if (this.eventRegistry) {
|
|
227
|
+
for (const script of this.config.lifecycle.onReady) {
|
|
228
|
+
this.eventRegistry.register(`lifecycle:started:${script.name}`, 'lifecycle', `Lifecycle script ${script.name} started`, '{ name, pid }');
|
|
229
|
+
this.eventRegistry.register(`lifecycle:failed:${script.name}`, 'lifecycle', `Lifecycle script ${script.name} failed`, '{ name, error, exitCode }');
|
|
230
|
+
this.eventRegistry.register(`lifecycle:circuit_open:${script.name}`, 'lifecycle', `Lifecycle script ${script.name} reached max restarts`, '{ name, restartCount }');
|
|
231
|
+
this.eventRegistry.register(`lifecycle:restart:${script.name}`, 'lifecycle', `Lifecycle script ${script.name} restarting`, '{ name, backoffMs }');
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
218
235
|
// Initialize ProcessEngine (only when processes config exists and not explicitly disabled)
|
|
219
236
|
if (this.config.processes && this.config.processes.enabled !== false) {
|
|
220
237
|
this.processEngine = new ProcessEngine({
|
|
@@ -226,14 +243,20 @@ export class LoomServer {
|
|
|
226
243
|
eventRegistry: this.eventRegistry,
|
|
227
244
|
authConfig: this.config.auth,
|
|
228
245
|
userStore: this.userStore,
|
|
229
|
-
serverUrl: `http://localhost:${this.config.server?.
|
|
246
|
+
serverUrl: `http://localhost:${this.config.server?.backendPort || 3000}`,
|
|
230
247
|
});
|
|
231
248
|
await this.processEngine.initialize();
|
|
232
249
|
registerProcessRoutes(this.fastify, {
|
|
233
250
|
engine: this.processEngine,
|
|
234
251
|
paths,
|
|
235
252
|
eventBus: this.eventBus,
|
|
253
|
+
lifecycleManager: this.lifecycleManager,
|
|
236
254
|
});
|
|
255
|
+
// Auto-register feeder scripts from ProcessRegistry into LifecycleManager
|
|
256
|
+
if (this.lifecycleManager) {
|
|
257
|
+
const allProcesses = await this.processEngine.listProcesses();
|
|
258
|
+
this.lifecycleManager.syncFromProcessRegistry(allProcesses);
|
|
259
|
+
}
|
|
237
260
|
}
|
|
238
261
|
// Register declarative subscriptions from events config
|
|
239
262
|
if (this.eventBus && this.config.events?.subscriptions) {
|
|
@@ -314,6 +337,10 @@ export class LoomServer {
|
|
|
314
337
|
}
|
|
315
338
|
// Graceful shutdown handlers
|
|
316
339
|
const cleanup = async () => {
|
|
340
|
+
// Stop lifecycle scripts first
|
|
341
|
+
if (this.lifecycleManager) {
|
|
342
|
+
await this.lifecycleManager.stopAll();
|
|
343
|
+
}
|
|
317
344
|
if (this.processEngine) {
|
|
318
345
|
await this.processEngine.shutdown();
|
|
319
346
|
}
|
|
@@ -330,14 +357,23 @@ export class LoomServer {
|
|
|
330
357
|
* Start listening
|
|
331
358
|
*/
|
|
332
359
|
async start() {
|
|
333
|
-
const port = this.config.server?.
|
|
334
|
-
const host = this.config.server?.host || '
|
|
360
|
+
const port = this.config.server?.backendPort || 3000;
|
|
361
|
+
const host = this.config.server?.host || '127.0.0.1';
|
|
335
362
|
await this.fastify.listen({ port, host });
|
|
363
|
+
// Start lifecycle scripts after server is ready
|
|
364
|
+
if (this.lifecycleManager) {
|
|
365
|
+
await this.lifecycleManager.startAll();
|
|
366
|
+
this.fastify.log.info('[Lifecycle] All onReady scripts started');
|
|
367
|
+
}
|
|
336
368
|
}
|
|
337
369
|
/**
|
|
338
370
|
* Stop the server
|
|
339
371
|
*/
|
|
340
372
|
async stop() {
|
|
373
|
+
// Stop lifecycle scripts first
|
|
374
|
+
if (this.lifecycleManager) {
|
|
375
|
+
await this.lifecycleManager.stopAll();
|
|
376
|
+
}
|
|
341
377
|
if (this.processEngine) {
|
|
342
378
|
await this.processEngine.shutdown();
|
|
343
379
|
}
|
|
@@ -379,6 +415,10 @@ export class LoomServer {
|
|
|
379
415
|
getProcessEngine() {
|
|
380
416
|
return this.processEngine;
|
|
381
417
|
}
|
|
418
|
+
/** Expose lifecycle manager for testing */
|
|
419
|
+
getLifecycleManager() {
|
|
420
|
+
return this.lifecycleManager;
|
|
421
|
+
}
|
|
382
422
|
/** Expose notification storage for testing */
|
|
383
423
|
getNotificationStorage() {
|
|
384
424
|
return this.notificationStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backend/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LifecycleManager — manages long-running lifecycle scripts with
|
|
3
|
+
* auto-restart, exponential backoff, memory limits, and graceful shutdown.
|
|
4
|
+
*/
|
|
5
|
+
import type { LifecycleScript, LifecycleConfig, LifecycleScriptInfo } from '../../types/lifecycle.js';
|
|
6
|
+
import type { ProcessDefinition } from '../../types/process.js';
|
|
7
|
+
import type { EventBus } from '../events/event-bus.js';
|
|
8
|
+
export declare class LifecycleManager {
|
|
9
|
+
private config;
|
|
10
|
+
private eventBus;
|
|
11
|
+
private projectRoot;
|
|
12
|
+
private serverPort;
|
|
13
|
+
private processes;
|
|
14
|
+
constructor(config: LifecycleConfig, eventBus: EventBus | undefined, projectRoot: string, serverPort?: number);
|
|
15
|
+
/** Start all enabled lifecycle scripts. */
|
|
16
|
+
startAll(): Promise<void>;
|
|
17
|
+
/** Stop all running lifecycle scripts in parallel. */
|
|
18
|
+
stopAll(): Promise<void>;
|
|
19
|
+
/** Manually start a single script by name. */
|
|
20
|
+
start(name: string): Promise<void>;
|
|
21
|
+
/** Manually stop a single script by name. */
|
|
22
|
+
stop(name: string): Promise<void>;
|
|
23
|
+
/** Restart a single script by name. */
|
|
24
|
+
restart(name: string): Promise<void>;
|
|
25
|
+
/** Return status info for all managed scripts. */
|
|
26
|
+
listStatus(): LifecycleScriptInfo[];
|
|
27
|
+
/** Return status info for a single script. */
|
|
28
|
+
getStatus(name: string): LifecycleScriptInfo | undefined;
|
|
29
|
+
/** Dynamically add a script at runtime. */
|
|
30
|
+
addScript(script: LifecycleScript): void;
|
|
31
|
+
/**
|
|
32
|
+
* Sync lifecycle scripts from ProcessRegistry.
|
|
33
|
+
* For each Process with a `source` field, auto-register a LifecycleScript
|
|
34
|
+
* with name = `${processName}-feeder` and command = source.command.
|
|
35
|
+
* Skips if a script with that name already exists.
|
|
36
|
+
*/
|
|
37
|
+
syncFromProcessRegistry(processes: ProcessDefinition[]): void;
|
|
38
|
+
/** Dynamically remove a script and stop it if running. */
|
|
39
|
+
removeScript(name: string): Promise<void>;
|
|
40
|
+
private spawnProcess;
|
|
41
|
+
private handleCrash;
|
|
42
|
+
private stopProcess;
|
|
43
|
+
private startMemoryCheck;
|
|
44
|
+
private checkMemory;
|
|
45
|
+
private clearTimers;
|
|
46
|
+
private clearBackoff;
|
|
47
|
+
private clearMemoryCheck;
|
|
48
|
+
private toScriptInfo;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/backend/lifecycle/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAEf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAwCvD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAA0C;gBAE/C,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAwB7G,2CAA2C;IACrC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,sDAAsD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,8CAA8C;IACxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC,6CAA6C;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC,uCAAuC;IACjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C,kDAAkD;IAClD,UAAU,IAAI,mBAAmB,EAAE;IAQnC,8CAA8C;IAC9C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAMxD,2CAA2C;IAC3C,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAgBxC;;;;;OAKG;IACH,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAsB7D,0DAA0D;IACpD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/C,OAAO,CAAC,YAAY;IAqHpB,OAAO,CAAC,WAAW;YAoEL,WAAW;IAoEzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;IAyDnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;CAarB"}
|