flow-lang 0.1.0 → 0.2.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.
@@ -0,0 +1,226 @@
1
+ import express from "express";
2
+ import { readFileSync, readdirSync, statSync } from "fs";
3
+ import { resolve, basename } from "path";
4
+ import { config as loadDotenv } from "dotenv";
5
+ import chalk from "chalk";
6
+ import { tokenize } from "../lexer/index.js";
7
+ import { parse } from "../parser/index.js";
8
+ import { analyze } from "../analyzer/index.js";
9
+ import { execute, flowValueToJson, buildConnectors } from "../runtime/index.js";
10
+ import { formatErrors } from "../errors/index.js";
11
+ // ============================================================
12
+ // Workflow loading
13
+ // ============================================================
14
+ class ServerStartupError extends Error {
15
+ filePath;
16
+ errors;
17
+ constructor(filePath, errors) {
18
+ super(`Validation errors in ${filePath}`);
19
+ this.filePath = filePath;
20
+ this.errors = errors;
21
+ this.name = "ServerStartupError";
22
+ }
23
+ }
24
+ export function loadWorkflow(filePath) {
25
+ const source = readFileSync(filePath, "utf-8");
26
+ const tokens = tokenize(source, filePath);
27
+ const { program, errors: parseErrors } = parse(tokens, source, filePath);
28
+ const analysisErrors = analyze(program, source, filePath);
29
+ const allErrors = [...parseErrors, ...analysisErrors];
30
+ if (allErrors.length > 0) {
31
+ throw new ServerStartupError(filePath, allErrors);
32
+ }
33
+ const nameEntry = program.config?.entries.find(e => e.key === "name");
34
+ const name = nameEntry ? String(nameEntry.value) : basename(filePath, ".flow");
35
+ const versionEntry = program.config?.entries.find(e => e.key === "version");
36
+ const version = versionEntry?.value ?? null;
37
+ const trigger = program.workflow?.trigger?.description ?? null;
38
+ return { name, version, trigger, filePath, program, source };
39
+ }
40
+ export function loadWorkflows(target) {
41
+ const fullPath = resolve(target);
42
+ const stat = statSync(fullPath);
43
+ const workflows = new Map();
44
+ if (stat.isFile()) {
45
+ workflows.set("", loadWorkflow(fullPath));
46
+ }
47
+ else if (stat.isDirectory()) {
48
+ const files = readdirSync(fullPath)
49
+ .filter(f => f.endsWith(".flow"))
50
+ .sort();
51
+ if (files.length === 0) {
52
+ throw new Error(`No .flow files found in "${target}"`);
53
+ }
54
+ for (const file of files) {
55
+ const route = basename(file, ".flow");
56
+ workflows.set(route, loadWorkflow(resolve(fullPath, file)));
57
+ }
58
+ }
59
+ else {
60
+ throw new Error(`"${target}" is not a file or directory`);
61
+ }
62
+ return workflows;
63
+ }
64
+ // ============================================================
65
+ // Request handling
66
+ // ============================================================
67
+ function createWorkflowHandler(workflow, options) {
68
+ return async (req, res) => {
69
+ const input = (req.body ?? {});
70
+ let connectors;
71
+ if (!options.mock && workflow.program.services) {
72
+ connectors = buildConnectors(workflow.program.services.declarations);
73
+ }
74
+ try {
75
+ const result = await execute(workflow.program, workflow.source, {
76
+ input,
77
+ connectors,
78
+ envVars: process.env,
79
+ verbose: options.verbose,
80
+ });
81
+ if (options.verbose) {
82
+ logRequest(req, result.result.status);
83
+ }
84
+ switch (result.result.status) {
85
+ case "completed": {
86
+ const outputs = {};
87
+ for (const [key, value] of Object.entries(result.result.outputs)) {
88
+ outputs[key] = flowValueToJson(value);
89
+ }
90
+ res.status(200).json({ status: "completed", outputs });
91
+ break;
92
+ }
93
+ case "rejected":
94
+ res.status(400).json({
95
+ status: "rejected",
96
+ message: result.result.message,
97
+ });
98
+ break;
99
+ case "error":
100
+ res.status(500).json({
101
+ status: "error",
102
+ message: result.result.error.message,
103
+ });
104
+ break;
105
+ }
106
+ }
107
+ catch (err) {
108
+ const message = err instanceof Error ? err.message : String(err);
109
+ if (options.verbose) {
110
+ logRequest(req, "error");
111
+ }
112
+ res.status(500).json({
113
+ status: "error",
114
+ message: `Internal error: ${message}`,
115
+ });
116
+ }
117
+ };
118
+ }
119
+ function logRequest(req, status) {
120
+ const timestamp = new Date().toISOString();
121
+ console.log(chalk.gray(`[${timestamp}] ${req.method} ${req.path} -> ${status}`));
122
+ }
123
+ // ============================================================
124
+ // App factory
125
+ // ============================================================
126
+ export function createApp(workflows, options) {
127
+ const app = express();
128
+ app.use(express.json());
129
+ // Health check
130
+ app.get("/health", (_req, res) => {
131
+ res.json({ status: "ok" });
132
+ });
133
+ const isSingleFile = workflows.size === 1 && workflows.has("");
134
+ if (isSingleFile) {
135
+ const workflow = workflows.get("");
136
+ // GET / — workflow metadata
137
+ app.get("/", (_req, res) => {
138
+ res.json({
139
+ name: workflow.name,
140
+ version: workflow.version,
141
+ trigger: workflow.trigger,
142
+ });
143
+ });
144
+ // POST / — execute workflow
145
+ app.post("/", createWorkflowHandler(workflow, options));
146
+ }
147
+ else {
148
+ // GET / — list all workflows
149
+ app.get("/", (_req, res) => {
150
+ const list = Array.from(workflows.entries()).map(([route, wf]) => ({
151
+ route: `/${route}`,
152
+ name: wf.name,
153
+ version: wf.version,
154
+ trigger: wf.trigger,
155
+ }));
156
+ res.json({ workflows: list });
157
+ });
158
+ // POST /:workflow — execute specific workflow
159
+ for (const [route, workflow] of workflows) {
160
+ app.post(`/${route}`, createWorkflowHandler(workflow, options));
161
+ }
162
+ }
163
+ // 404 handler
164
+ app.use((_req, res) => {
165
+ if (isSingleFile) {
166
+ res.status(404).json({
167
+ error: "Not found",
168
+ hint: "POST to / to trigger the workflow",
169
+ });
170
+ }
171
+ else {
172
+ const routes = Array.from(workflows.keys()).map(r => `/${r}`);
173
+ res.status(404).json({
174
+ error: "Unknown workflow",
175
+ available: routes,
176
+ });
177
+ }
178
+ });
179
+ return app;
180
+ }
181
+ // ============================================================
182
+ // Server startup
183
+ // ============================================================
184
+ export function startServer(target, options) {
185
+ loadDotenv();
186
+ let workflows;
187
+ try {
188
+ workflows = loadWorkflows(target);
189
+ }
190
+ catch (err) {
191
+ if (err instanceof ServerStartupError) {
192
+ console.error(chalk.red(`\nErrors in ${err.filePath}:\n`));
193
+ console.error(formatErrors(err.errors));
194
+ process.exitCode = 1;
195
+ return;
196
+ }
197
+ const message = err instanceof Error ? err.message : String(err);
198
+ console.error(chalk.red(`Error: ${message}`));
199
+ process.exitCode = 1;
200
+ return;
201
+ }
202
+ const app = createApp(workflows, options);
203
+ const server = app.listen(options.port, () => {
204
+ console.log(chalk.green(`\nFlow server running on port ${options.port}`));
205
+ console.log(chalk.white("\nLoaded workflows:"));
206
+ for (const [route, wf] of workflows) {
207
+ const path = route === "" ? "/" : `/${route}`;
208
+ console.log(` ${chalk.cyan(path)} -> ${wf.name}`);
209
+ }
210
+ console.log(chalk.gray(`\nHealth check: GET http://localhost:${options.port}/health`));
211
+ });
212
+ const shutdown = () => {
213
+ console.log(chalk.yellow("\nShutting down..."));
214
+ server.close(() => {
215
+ console.log(chalk.gray("Server stopped."));
216
+ process.exit(0);
217
+ });
218
+ setTimeout(() => {
219
+ console.error(chalk.red("Forced shutdown after timeout."));
220
+ process.exit(1);
221
+ }, 5000);
222
+ };
223
+ process.on("SIGINT", shutdown);
224
+ process.on("SIGTERM", shutdown);
225
+ }
226
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -49,11 +49,17 @@ export interface ServicesBlock {
49
49
  loc: SourceLocation;
50
50
  }
51
51
  export type ServiceType = "api" | "ai" | "plugin" | "webhook";
52
+ export interface ServiceHeader {
53
+ name: string;
54
+ value: Expression;
55
+ loc: SourceLocation;
56
+ }
52
57
  export interface ServiceDeclaration {
53
58
  kind: "ServiceDeclaration";
54
59
  name: string;
55
60
  serviceType: ServiceType;
56
61
  target: string;
62
+ headers: ServiceHeader[];
57
63
  loc: SourceLocation;
58
64
  }
59
65
  export interface WorkflowBlock {
@@ -81,6 +87,9 @@ export interface ServiceCall {
81
87
  service: string;
82
88
  path: Expression | null;
83
89
  parameters: Parameter[];
90
+ resultVar: string | null;
91
+ statusVar: string | null;
92
+ headersVar: string | null;
84
93
  errorHandler: ErrorHandler | null;
85
94
  loc: SourceLocation;
86
95
  }
@@ -260,10 +269,30 @@ export interface LogEntry {
260
269
  step: string | null;
261
270
  action: string;
262
271
  result: "success" | "failure" | "skipped";
272
+ durationMs: number | null;
263
273
  details: Record<string, unknown>;
264
274
  }
265
275
  export interface ExecutionResult {
266
276
  result: WorkflowResult;
267
277
  log: LogEntry[];
268
278
  }
279
+ export interface SerializedLogEntry {
280
+ timestamp: string;
281
+ step: string | null;
282
+ action: string;
283
+ result: "success" | "failure" | "skipped";
284
+ durationMs: number | null;
285
+ details: Record<string, unknown>;
286
+ }
287
+ export interface StructuredLog {
288
+ workflow: string;
289
+ version: number | null;
290
+ status: "completed" | "rejected" | "error";
291
+ startedAt: string;
292
+ completedAt: string;
293
+ durationMs: number;
294
+ outputs: Record<string, unknown> | null;
295
+ error: string | null;
296
+ entries: SerializedLogEntry[];
297
+ }
269
298
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-lang",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A domain-specific language for AI agent and workflow orchestration",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
@@ -18,7 +18,10 @@
18
18
  "test:watch": "vitest",
19
19
  "lint": "eslint src/ tests/",
20
20
  "check": "tsc --noEmit",
21
- "prepublishOnly": "npm run build && npm run test"
21
+ "prepublishOnly": "npm run build && npm run test",
22
+ "docs:dev": "vitepress dev docs",
23
+ "docs:build": "vitepress build docs",
24
+ "docs:preview": "vitepress preview docs"
22
25
  },
23
26
  "keywords": [
24
27
  "flow",
@@ -35,18 +38,22 @@
35
38
  "license": "MIT",
36
39
  "repository": {
37
40
  "type": "git",
38
- "url": "https://github.com/AbrahamOluwa/flow-lang.git"
41
+ "url": "git+https://github.com/AbrahamOluwa/flow-lang.git"
39
42
  },
40
43
  "homepage": "https://github.com/AbrahamOluwa/flow-lang",
41
44
  "engines": {
42
45
  "node": ">=18.0.0"
43
46
  },
44
47
  "devDependencies": {
48
+ "@types/express": "^5.0.6",
45
49
  "@types/node": "^22.0.0",
50
+ "@types/supertest": "^6.0.3",
46
51
  "@typescript-eslint/eslint-plugin": "^8.0.0",
47
52
  "@typescript-eslint/parser": "^8.0.0",
48
53
  "eslint": "^9.0.0",
54
+ "supertest": "^7.2.2",
49
55
  "typescript": "^5.6.0",
56
+ "vitepress": "^1.6.4",
50
57
  "vitest": "^2.0.0"
51
58
  },
52
59
  "dependencies": {
@@ -54,6 +61,8 @@
54
61
  "chalk": "^5.3.0",
55
62
  "commander": "^12.0.0",
56
63
  "dotenv": "^17.2.4",
57
- "openai": "^6.18.0"
64
+ "express": "^5.2.1",
65
+ "openai": "^6.18.0",
66
+ "xlsx": "^0.18.5"
58
67
  }
59
68
  }