Skip to content

Commit 4e9da24

Browse files
Copilothotlong
andcommitted
feat: implement service-automation with plugin-based DAG flow engine
- AutomationEngine core class (DAG execution, NodeExecutor/Trigger interfaces) - AutomationServicePlugin (kernel plugin wrapping engine as 'automation' service) - CrudNodesPlugin (get/create/update/delete_record) - LogicNodesPlugin (decision/assignment/loop) - HttpConnectorPlugin (http_request/connector_action) - 27 comprehensive tests (all passing) - Updated ROADMAP.md Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 7043ff4 commit 4e9da24

11 files changed

Lines changed: 1230 additions & 3 deletions

File tree

ROADMAP.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,13 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow
317317

318318
| Contract | Priority | Package | Notes |
319319
|:---|:---:|:---|:---|
320-
| `IAutomationService` | **P2** | `@objectstack/service-automation` | Flow execution engine |
320+
| `IAutomationService` | **P2** | `@objectstack/service-automation` | ✅ Plugin-based DAG flow engine (MVP) |
321321
| `IWorkflowService` | **P2** | `@objectstack/service-workflow` | State machine + approval processes |
322322
| `IGraphQLService` | **P2** | `@objectstack/service-graphql` | Auto-generated GraphQL from objects |
323323
| `IAIService` | **P2** | `@objectstack/service-ai` | LLM integration (OpenAI/Anthropic/local) |
324324
| `IAnalyticsService` | **P3** | `@objectstack/service-analytics` | BI/OLAP queries |
325325

326-
- [ ] `service-automation` — Implement `IAutomationService` with flow execution engine
326+
- [x] `service-automation` — Implement `IAutomationService` with plugin-based DAG flow engine (MVP: CRUD/Logic/HTTP nodes)
327327
- [ ] `service-workflow` — Implement `IWorkflowService` with state machine runtime
328328
- [ ] `service-graphql` — Implement `IGraphQLService` with auto-schema generation
329329
- [ ] `service-ai` — Implement `IAIService` with multi-provider LLM routing
@@ -573,7 +573,7 @@ Final polish and advanced features.
573573
| 15 | Search Service | `ISearchService` || `@objectstack/service-search` (planned) | Spec only |
574574
| 16 | Notification Service | `INotificationService` || `@objectstack/service-notification` (planned) | Spec only |
575575
| 17 | AI Service | `IAIService` || `@objectstack/service-ai` (planned) | Spec only |
576-
| 18 | Automation Service | `IAutomationService` | | `@objectstack/service-automation` (planned) | Spec only |
576+
| 18 | Automation Service | `IAutomationService` | | `@objectstack/service-automation` | Plugin-based DAG engine (MVP) |
577577
| 19 | Workflow Service | `IWorkflowService` || `@objectstack/service-workflow` (planned) | Spec only |
578578
| 20 | GraphQL Service | `IGraphQLService` || `@objectstack/service-graphql` (planned) | Spec only |
579579
| 21 | i18n Service | `II18nService` || `@objectstack/service-i18n` | File-based locale loading |
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "@objectstack/service-automation",
3+
"version": "3.0.7",
4+
"license": "Apache-2.0",
5+
"description": "Automation Service for ObjectStack — implements IAutomationService with plugin-based DAG flow execution engine",
6+
"type": "module",
7+
"main": "dist/index.js",
8+
"types": "dist/index.d.ts",
9+
"exports": {
10+
".": {
11+
"types": "./dist/index.d.ts",
12+
"import": "./dist/index.mjs",
13+
"require": "./dist/index.js"
14+
}
15+
},
16+
"scripts": {
17+
"build": "tsup --config ../../../tsup.config.ts",
18+
"test": "vitest run"
19+
},
20+
"dependencies": {
21+
"@objectstack/core": "workspace:*",
22+
"@objectstack/spec": "workspace:*"
23+
},
24+
"devDependencies": {
25+
"typescript": "^5.0.0",
26+
"vitest": "^4.0.18",
27+
"@types/node": "^25.2.3"
28+
}
29+
}

0 commit comments

Comments
 (0)